From ca9cb12d713f77186ad3dc515e064b659e256e16 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Mon, 10 Nov 2025 17:32:06 +0300 Subject: [PATCH 01/39] Add aria-describedby attribute where missing for fields with error --- classes/controllers/FrmFieldsController.php | 5 +++++ classes/models/fields/FrmFieldType.php | 2 +- classes/views/frm-fields/front-end/checkbox-field.php | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 836006836d..2bbb83f0c7 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -526,6 +526,11 @@ public static function input_html( $field, $echo = true ) { $add_html = apply_filters( 'frm_field_extra_html', $add_html, $field ); $add_html = ' ' . implode( ' ', $add_html ) . ' '; + if ( isset( $field['args'] ) ) { + $field_object = FrmFieldFactory::get_field_object( $field ); + $field_object->add_aria_description( $field['args'], $add_html ); + } + if ( $echo ) { echo $add_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } diff --git a/classes/models/fields/FrmFieldType.php b/classes/models/fields/FrmFieldType.php index 37665c4956..66f73dc94b 100644 --- a/classes/models/fields/FrmFieldType.php +++ b/classes/models/fields/FrmFieldType.php @@ -1358,7 +1358,7 @@ protected function get_field_input_html_hook( $field ) { * @param string $input_html * @return void */ - protected function add_aria_description( $args, &$input_html ) { + public function add_aria_description( $args, &$input_html ) { $aria_describedby_exists = preg_match_all( '/aria-describedby=\"([^\"]*)\"/', $input_html, $matches ) === 1; if ( $aria_describedby_exists ) { $describedby = preg_split( '/\s+/', esc_attr( trim( $matches[1][0] ) ) ); diff --git a/classes/views/frm-fields/front-end/checkbox-field.php b/classes/views/frm-fields/front-end/checkbox-field.php index 5ed49cfe16..c8a0804ca2 100644 --- a/classes/views/frm-fields/front-end/checkbox-field.php +++ b/classes/views/frm-fields/front-end/checkbox-field.php @@ -67,7 +67,8 @@ ?> Date: Mon, 10 Nov 2025 17:45:47 +0300 Subject: [PATCH 02/39] Cover remaining fields that miss aria-describedby when field errors --- classes/views/frm-fields/front-end/dropdown-field.php | 5 ++++- classes/views/frm-fields/front-end/radio-field.php | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/classes/views/frm-fields/front-end/dropdown-field.php b/classes/views/frm-fields/front-end/dropdown-field.php index f3e6e70a7d..edb9f1572e 100644 --- a/classes/views/frm-fields/front-end/dropdown-field.php +++ b/classes/views/frm-fields/front-end/dropdown-field.php @@ -22,7 +22,10 @@ if ( $read_only ) { ?> > " id="" value="" /> Date: Mon, 10 Nov 2025 20:17:13 +0300 Subject: [PATCH 03/39] Remove aria-describedby atts from elements with no errors --- js/formidable.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/formidable.js b/js/formidable.js index 4c91c9d27e..73ee3f7d80 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1198,8 +1198,11 @@ function frmFrontFormJS() { function removeAllErrors() { jQuery( '.form-field' ).removeClass( 'frm_blank_field has-error' ); - jQuery( '.form-field .frm_error' ).replaceWith( '' ); jQuery( '.frm_error_style' ).remove(); + document.querySelectorAll( '.form-field .frm_error' ).forEach( el => { + document.querySelector( `[aria-describedby="${el.id}"]` )?.removeAttribute( 'aria-describedby' ); + el.remove(); + }); } /** From 39cf3ed351cc8f18f2f906c214436ede8bb1d7a5 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:26:38 +0300 Subject: [PATCH 04/39] Try fixing Workflow errors --- classes/controllers/FrmFieldsController.php | 8 ++++---- classes/models/fields/FrmFieldType.php | 3 ++- classes/views/frm-fields/front-end/checkbox-field.php | 7 +++++++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 2bbb83f0c7..d1e592a5a8 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -524,18 +524,18 @@ public static function input_html( $field, $echo = true ) { self::add_pattern_attribute( $field, $add_html ); $add_html = apply_filters( 'frm_field_extra_html', $add_html, $field ); - $add_html = ' ' . implode( ' ', $add_html ) . ' '; + $html = ' ' . implode( ' ', $add_html ) . ' '; if ( isset( $field['args'] ) ) { $field_object = FrmFieldFactory::get_field_object( $field ); - $field_object->add_aria_description( $field['args'], $add_html ); + $field_object->add_aria_description( $field['args'], $html ); } if ( $echo ) { - echo $add_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } - return $add_html; + return $html; } /** diff --git a/classes/models/fields/FrmFieldType.php b/classes/models/fields/FrmFieldType.php index 66f73dc94b..e501ea3869 100644 --- a/classes/models/fields/FrmFieldType.php +++ b/classes/models/fields/FrmFieldType.php @@ -1350,9 +1350,10 @@ protected function get_field_input_html_hook( $field ) { } /** - * Link input to field description for screen readers + * Link input to field description for screen readers. * * @since 3.0 + * @since x.x Function privacy changed from `protected` to `public`. * * @param array $args * @param string $input_html diff --git a/classes/views/frm-fields/front-end/checkbox-field.php b/classes/views/frm-fields/front-end/checkbox-field.php index c8a0804ca2..b325da7d48 100644 --- a/classes/views/frm-fields/front-end/checkbox-field.php +++ b/classes/views/frm-fields/front-end/checkbox-field.php @@ -8,6 +8,13 @@ * Extra line breaks show as space on the front-end when * the form is double filtered and not minimized. * + * @var array $field + * @var string $field_name + * @var bool $read_only + * @var string $html_id + * @var array $args + * @var array $shortcode_atts + * * @phpcs:disable Generic.WhiteSpace.ScopeIndent */ From 32c726cd769c947042ab65d6a7e33e143cb910ed Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:34:38 +0300 Subject: [PATCH 05/39] Try fixing Workflow errors --- classes/views/frm-fields/front-end/checkbox-field.php | 1 - 1 file changed, 1 deletion(-) diff --git a/classes/views/frm-fields/front-end/checkbox-field.php b/classes/views/frm-fields/front-end/checkbox-field.php index b325da7d48..c6a5f8cfc0 100644 --- a/classes/views/frm-fields/front-end/checkbox-field.php +++ b/classes/views/frm-fields/front-end/checkbox-field.php @@ -13,7 +13,6 @@ * @var bool $read_only * @var string $html_id * @var array $args - * @var array $shortcode_atts * * @phpcs:disable Generic.WhiteSpace.ScopeIndent */ From 20587607db08705970d97684cc5628fbce8ced24 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:35:19 +0300 Subject: [PATCH 06/39] Try fixing Workflow errors --- classes/views/frm-fields/front-end/radio-field.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/classes/views/frm-fields/front-end/radio-field.php b/classes/views/frm-fields/front-end/radio-field.php index c512ad29c1..15a3e79029 100644 --- a/classes/views/frm-fields/front-end/radio-field.php +++ b/classes/views/frm-fields/front-end/radio-field.php @@ -8,6 +8,12 @@ * Extra line breaks show as space on the front-end when * the form is double filtered and not minimized. * + * @var array $field + * @var string $field_name + * @var bool $read_only + * @var string $html_id + * @var array $args + * * @phpcs:disable Generic.WhiteSpace.ScopeIndent */ From e1970fb1d35f843f6ed25ae9aaf9053808c5dd76 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 18 Nov 2025 14:59:54 +0300 Subject: [PATCH 07/39] Fix warnings --- classes/controllers/FrmFieldsController.php | 2 +- classes/views/frm-fields/front-end/checkbox-field.php | 6 ++++-- classes/views/frm-fields/front-end/dropdown-field.php | 2 ++ classes/views/frm-fields/front-end/radio-field.php | 5 ++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index d1e592a5a8..421ec16bad 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -527,7 +527,7 @@ public static function input_html( $field, $echo = true ) { $html = ' ' . implode( ' ', $add_html ) . ' '; if ( isset( $field['args'] ) ) { - $field_object = FrmFieldFactory::get_field_object( $field ); + $field_object = FrmFieldFactory::get_field_type( FrmField::get_option( $field, 'type' ), $field ); $field_object->add_aria_description( $field['args'], $html ); } diff --git a/classes/views/frm-fields/front-end/checkbox-field.php b/classes/views/frm-fields/front-end/checkbox-field.php index c6a5f8cfc0..458b0e67ba 100644 --- a/classes/views/frm-fields/front-end/checkbox-field.php +++ b/classes/views/frm-fields/front-end/checkbox-field.php @@ -73,8 +73,10 @@ ?>> "+l[t].fieldName),i.push(""));e.innerHTML=i.join("")}function it(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=pn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function lt(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function st(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&ct(""!==r,".frm_invalid_msg"+t)}function dt(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(ct(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function ct(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(ct(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;mt(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),mt(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function mt(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function _t(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function pt(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var f=this.closest(".frm_single_option");f?f.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function gt(){ht(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function ht(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");Co(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function vt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);xt(jQuery(this)),Co(jQuery(".field_"+n+"_image_id")),Co(jQuery(".frm_toggle_image_options_"+n)),Co(jQuery(".frm_image_size_"+n)),Co(jQuery(".frm_alignment_"+n)),Co(jQuery(".frm-add-other#frm_add_field_"+n)),(e=vn(n))?(jt(n,"inline"),bt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),bt(i),jt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function bt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function jt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function wt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function xt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){xt(jQuery(this))}function kt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),r.open()}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function At(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function St(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function Lt(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;h(n,i)}function It(e){e.preventDefault()}function Bt(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function Ct(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function qt(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Nt(e){return q(C("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Ot(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Nt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ft(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Dt(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");Ue(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach(function(e){e.remove()});for(var f=0;f0&&ar(Kt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){pr(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=gr();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=gr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void hr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!br()),e;(e=c()).id="frm_field_multiselect_popup",br()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=C("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Gt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():vr(),De()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),vr()}function vr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function br(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n6)return!1}return!0}function jr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=zt(wr(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function wr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=le(jQuery(this)).length}),e}function xr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){kr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Nt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){kr(this.getAttribute("data-deletefield"))}function kr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),An()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)})}(n),n.remove(),r.fadeOut("slow",function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Fr():"product"===n&&(Be(),it()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&Sn(t);G()}),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Sr(r,"frm_logic_"+e+"_"),fields:rt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")})}}),!1}function Sr(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Lr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Sr(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Ir(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Br(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Ir(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function Cr(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function qr(){var e,t,r,n,i,o,a,l,s,d,c,f,u=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=Cr(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=u.oldValue,_=u.oldLabel,p=u.newValue,g=u.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Ir(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",kn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),f=yn(e),u=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(u.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=u.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():f?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=u[0].childNodes,vn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=bn(t),mn(t),gn(r.val(),o,i)}(r,e,_),(s=u.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",u.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),u[0].replaceChild(n,t))}else u[0].removeChild(t)})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=un(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=vn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",f=To(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var u;l=d[a];var m=null===(u=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===u?void 0:u.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=an(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find(function(e){return e.value===l});if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}sn(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
"+(s?a:"")+"
"},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=To(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=un(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]'),c=To(e),f=bn(e),u=vn(e),m=yn(e);for(t=0;t0||d[t].name.indexOf("[value]")>0||d[t].name.indexOf("[image]")>0||d[t].name.indexOf("[price]")>0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),u&&(i=gn(i,f,_n(d[t]),mn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],u),checked:hn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function _n(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function pn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?pn(t):t}function gn(e,t,r,n){var i,o,l,s=e;return s=pn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function hn(e){return field=jQuery("#"+e),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))}function yn(e){return jn("separate_value_"+e)}function vn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Cn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function qn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Nn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=$i(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&et(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function On(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function Fn(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Zn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function ei(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),h.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ti(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),f=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');f=f.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var u=c({id:"frm_form_action_"+o,className:n.get(0).className});u.setAttribute("data-actionkey",o),u.innerHTML=f,u.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),u.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(u),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),u.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),u.classList.contains("frm_single_on_submit_settings")&&u.querySelector("input.frm-page-search")&&ho(u),so(),wp.hooks.doAction("frm_after_duplicate_action",u)}var m,_,p,g,h}function ti(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ti(++t)),t}function ri(){var e,t=jQuery(this).data("actiontype");if(!ci(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.appendChild(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),di(t),Yn("#frm_form_action_"+r),so(),ho(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ni(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",Eo(t,"input")}function ii(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function oi(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===oi.prototype.endMarker&&(oi.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,oi.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ai(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function si(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function di(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ci(e)?(t=n,r=fi(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function ci(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=fi(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function fi(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function ui(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function mi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function _i(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1})}function pi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function gi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function hi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function xi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ki(){Un()||(Kn(this),Rn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),Ai(jQuery(this),this.getAttribute("data-code")),!1}function Ai(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Si(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Si(o,t);return!1}function Si(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Li(t)){var r=e.value.split(" ").filter(Li);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Gn(e)}function Li(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ii(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),Eo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),Eo(e,"change"))}function Bi(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function Ci(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Wi(),"use"===(t=Ui(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function qi(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Oi()}}(e.target)}function Oi(e){var t;void 0===e&&(e=C("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:C("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:C("Save and Reload","formidable"),buttonType:"primary"});p(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:C("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ti(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=$i(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Wi(n);else{if(Ti(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,f=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==f||f.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){E||(E=1,window.addEventListener("beforeunload",Ri))}function Pi(){E=0}function Hi(){E=0}function zi(){E=0}function Ri(e){E&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function $i(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=$i(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Ui(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Ui(r);return r}function Wi(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

":'

Imported '+r.data.name+"

",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,function(e){return e!=t}),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),xo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function fo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function uo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function ho(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function yo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||Qo(l,n)?(s&&Di(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function Qo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function ko(e){e.stopPropagation()}function Eo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function Co(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function qo(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Oo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function To(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=f({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(f(C("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Wi(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),O={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",St),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){p(e,Lt)}),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:C("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),ho(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",U),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),jQuery(".frm_bstooltip, .frm_help").tooltip(),jQuery(this).tooltip("show")}),jQuery(".frm_bstooltip, .frm_help").tooltip(),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Jn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",W),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Xn(this),V(this),!1}),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Rn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",xo),jQuery(document).on("focusin click",".frm-auto-search",ko);var f=jQuery(".frm-auto-search");""!==f.val()&&f.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",uo),jQuery(document).on("click",".frm-activate-addon",fo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",qo),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var u=document.getElementById("frm_small_screen_proceed_button");u&&p(u,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),_&&p(_,function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",zn),jQuery(".frm_submit_no_ajax").on("click",$n),Wn(),jQuery("a.edit-form-status").on("click",Ln),jQuery(".cancel-form-status").on("click",In),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Or),e.on("change",".frm_logic_field_opts",xn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Bn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",Ce),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",st),e.on("change click","[data-changeme]",at),e.on("click","input.frm_req_field",dt),e.on("click",".frm_mark_unique",ft),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Tr),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",vt),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",kt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",wt),e.on("click",".frm_multiselect_opt",At),w.on("mousedown","input, textarea, select",It),w.on("click","input[type=radio], input[type=checkbox]",It),w.on("click",".frm_delete_field",Ot),w.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ft),jQuery(document).on("click",".frm_clone_field_group",Dt),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Mt),jQuery(document).on("click",".frm-row-layout-option",Zt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",er),jQuery(document).on("click",".frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",ir),jQuery(document).on("click",".frm-break-field-group",dr),w.on("click","#frm_field_group_popup .frm_grid_container input",cr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",fr),jQuery(document).on("click",".frm-save-custom-field-group-layout",mr),w.on("click","ul.frm_sorting",_r),jQuery(document).on("click",".frm-merge-fields-into-row",jr),jQuery(document).on("click",".frm-delete-field-groups",xr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",Bt),e.on("mousedown",".frm_single_option input[type=radio]",Ct),e.on("focusin",".frm_single_option input[type=text]",qt),e.on("click",".frm_add_opt",pt),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",gt),w.on("click",".frm_primary_label",Gr),w.on("click",".frm_description",$r),w.on("click","li.ui-state-default:not(.frm_noallow)",Wr),w.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ut),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Nn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Nn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",On),jQuery(document).on("change","[data-frmchange]",Fn),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",tt),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),it(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Oo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',qr),frmDom.util.documentOn("click",".frm-show-field-settings",Wr),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Vr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",_t),jQuery(x).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=To(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),qn(),document.addEventListener("frm_added_field",qn),Be(),Fo(),An(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Ti,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ai),i.on("click",".frm_remove_field",li),i.on("change",".frm_to_row, .frm_from_row",si),i.on("change",".frm_tax_selector",wi),i.on("change","select.frm_single_post_field",_i),i.on("change","select.frm_toggle_post_content",pi),i.on("change","select.frm_dyncontent_opt",gi),i.on("change",".frm_post_type",hi),i.on("click",".frm_add_postmeta_row",bi),i.on("click",".frm_add_posttax_row",vi),i.on("click",".frm_toggle_cf_opts",xi),i.on("click",".frm_duplicate_form_action",ei),jQuery(".frm_actions_list").on("click",".frm_active_action",ri),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ni),so(),jQuery("ul.frm_actions_list li").each(function(){di(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",ki),Wn(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",mi),e.on("click",".frm_already_used",ui),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?kt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Zn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var o=document.getElementById("single_entry");jQuery(o).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Gn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Gn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Bn),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),ho(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){Ai(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ii),jQuery(document).on("keyup change",".frm-build-logic",Bi),Yn(),jQuery(document).on("frmElementAdded",function(e,t){Yn(t)}),jQuery(document).on("mousedown",".frm-show-box",qi),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),Ci(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){Vi("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){Vi("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(data,function(){if(!a)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.parentNode.removeChild(t)})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",kt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",yo),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return E=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=To(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),We(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:je})})},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:oi}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),frmDom.bootstrap.setupBootstrapDropdowns(function(e){var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
    ","")).replaceAll("
  • ",'
  • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-toggle","dropdown")}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); \ No newline at end of file +(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,f=s[r].handlers;for(c=f.length;c>0&&!(l>=f[c-1].priority);c--);c===f.length?f[c]=d:f.splice(c,0,d),s.__current.forEach((function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++}))}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some((function(e){return e.namespace===n})):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>u});var n=r(2853),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),f=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const u=function(){return new f}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach((function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--})))},f=d.length-1;f>=0;f--)c(f);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(7203),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},f=function(e,t){c(e,t),d()},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=u(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&f(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:f,resetLocaleData:function(e,t){n.data={},n.pluralForms={},f(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=u(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=u(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=u(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>s,afterAddonInstall:()=>l,extractErrorFromAddOnResponse:()=>a,toggleAddonState:()=>o});var n=r(9575),i=frmDom.div;function o(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),d=i.parent(),c=d.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var f=a(e);f?s(f,d,i):(l(e,i,c,d,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function a(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function l(e,t,r,o,a){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",s=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach((function(t){t.textContent=e,t.style.display="block"})),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(e){e.style.display="none"})),jQuery("#frm_upgrade_modal h2").hide(),jQuery("#frm_upgrade_modal .frm_lock_icon").addClass("frm_lock_open_icon"),jQuery("#frm_upgrade_modal .frm_lock_icon use").attr("xlink:href","#frm_lock_open_icon");var f={frm_activate_addon:{class:"frm-addon-active",message:s.active},frm_deactivate_addon:{class:"frm-addon-installed",message:s.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:s.not_installed}};f.frm_install_addon=f.frm_activate_addon;var u=r[0];u&&(u.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(a)&&c.forEach((function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Close","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(a,t))}))}function s(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

    '+e.message+"

    "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",(function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()})),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>o,initUpgradeModal:()=>a});var n=r(9575);function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var o=i.querySelector(".frm-oneclick"),a=i.querySelector(".frm-upgrade-message"),l=i.querySelector(".frm-upgrade-link"),s=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),c=e.getAttribute("data-oneclick"),f=e.getAttribute("data-message"),u="block",m="block",_="none";null!==o&&void 0!==c&&c&&(null===f&&(m="none"),u="none",_="block",c=JSON.parse(c),s.className=s.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),s.className=s.className+" "+c.class,s.rel=c.url,"frm-activate-addon"===c.class?(o.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),s.textContent=(0,n.__)("Activate","formidable")):(o.textContent=(0,n.__)("That add-on is not installed. Would you like to install it now?","formidable"),s.textContent=(0,n.__)("Install","formidable"))),f||(f=a.getAttribute("data-default")),void 0!==r&&(f=f.replace('',r)),a.innerHTML=f,e.dataset.upsellImage&&a.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),l.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,l),d.style.display="none",o.style.display=_,s.style.display="block"===_?"inline-block":_,a.style.display=m,l.style.display="block"===u?"inline-block":u}function o(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="550px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function a(){var e=o("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),f=c.querySelector(".frm_lock_icon");f&&(f.style.display="block",f.classList.remove("frm_lock_open_icon"),f.querySelector("use").setAttribute("href","#frm_lock_icon"));var u="frm_upgrade_modal_image",m=document.getElementById(u);m&&m.remove(),r.dataset.image&&(f&&(f.style.display="none"),f.parentNode.insertBefore(frmDom.img({id:u,src:frmGlobal.url+"/images/"+r.dataset.image}),f));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image?"none":"inline-block",c.querySelector(".frm_feature_label").textContent=d,c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,f,u,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||f&&!l.sign?u="":(u=f?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(u+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?u+r+s:"0"===d?u+s+r:s+u+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},7203:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7730);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},1127:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2716);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},7730:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2716),i=r(1127);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2716:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout((function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")}),1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout((function(){t.location.reload()}),1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach((function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")}))},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach((function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))}))},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,f=s.span,u=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,C=B.__,q=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Ao}):function(e){var t,r,n,i,o,a=Ao("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Ao("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,(function(){var r;a.remove(),Oi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){oi(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()})),void 0!==r&&(r=jQuery(r)).fadeOut(400,(function(){r.remove()})),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function U(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),io(),Vn("#"+r.attr("id")),mo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function W(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ri(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach((function(e){J(e),Array.from(e.children).forEach((function(e){return Z(e,".frm-move")}));var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)})),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),rn(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Oi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach((function(e){return e.classList.remove("frm-over-droppable")})),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=C("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),gr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach((function(e){[].slice.call(e.children).forEach((function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()}))})),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop((function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r}))}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=ue(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach((function(e){e.childNodes.forEach((function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&Ue(e))}))})),Qn(),document.querySelectorAll(".edit_field_type_end_divider").forEach((function(e){return e.parentNode.appendChild(e)})),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach((function(e){return!e.children.length&&e.remove()})),xn();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach((function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}})),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(fe(i,Wt(n))):"clear"===t?r.each(fe(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Ut(n,t,e)}:function(e){return ar(t[e])},r.each(fe(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=C("Set Row Layout","formidable");ce(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=C("Move Field Group","formidable");ce(r,i),zt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=f({className:"dropdown"}),t=u({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[f({child:m({href:"#frm_thick_more_vert_icon"})}),f({className:"screen-reader-text",text:C("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:C("More Options","formidable"),"data-toggle":"dropdown","data-container":"body"}),zt(t,C("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-toggle","tooltip"),e.setAttribute("data-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",(function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()}))}function fe(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<6)&&(n.length>6||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),io(),Or(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map((function(e){return JSON.parse(e)})),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),We(e,!0),t.each((function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")}))}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)}))}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}}),0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=C(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=C(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach((function(e){r=r.add(jQuery("
  • ").addClass("frm_field_box").html(jQuery("
      ").addClass("frm_grid_container frm_sorting").append(e)))})),r}function Ue(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function We(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var f,u,m=!1;if(Oi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(rt(r),ti(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(kn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Or(),u="frm-newly-added",(f=o).classList?f.classList.add(u):f.className+=" "+u,setTimeout((function(){o.classList.remove("frm-newly-added")}),1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach((function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])}))),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&kn(s)}Je(),io(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable");var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||gr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r,n,i,o=!1,a=0;a"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function nt(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=mn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function at(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function lt(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach((function(e){var n=document.getElementById(e+t);n&&(r+=n.value)})),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&dt(""!==r,".frm_invalid_msg"+t)}function st(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(dt(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function dt(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ct(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(dt(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;ut(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),ut(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout((function(){r.removeClass("frm_conf_inline frm_conf_below")}),200)}function ut(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function mt(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function _t(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,(function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),rn(i)}))}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),No(i,o={newOption:o});var f=this.closest(".frm_single_option");f?f.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),rn(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach((function(e){return e.classList.remove("frm_disabled")})),Oi()}function pt(){gt(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function gt(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function ht(){var e=jQuery(this).closest(".frm-single-settings").data("fid");So(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function yt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);wt(jQuery(this)),So(jQuery(".field_"+n+"_image_id")),So(jQuery(".frm_toggle_image_options_"+n)),So(jQuery(".frm_image_size_"+n)),So(jQuery(".frm_alignment_"+n)),So(jQuery(".frm-add-other#frm_add_field_"+n)),(e=gn(n))?(bt(n,"inline"),vt(i),t=tn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),vt(i),bt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function vt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function bt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function jt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);xt(),gn(e)&&(vt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+tn(e)))}function wt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function xt(){wt(jQuery(this))}function Qt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",(function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0})),r.open()}function kt(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function Et(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function At(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout((function(){e.focus()}),100)}function St(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,(function(){return r.remove()}));var n=t.dataset.action,i=new FormData;h(n,i)}function Lt(e){e.preventDefault()}function It(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find((function(e){return e!==t})).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",(function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))})),Oi()}function Bt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout((function(){e.prop("checked",!1)}),0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function qt(e){return q(C("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Nt(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach((function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)})),l&&(e=qt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Ot(){this.closest("li.form-field").click()}function Tt(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Ft(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");Ue(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",(function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach((function(e){e.remove()}));for(var f=0;f0&&ir(Wt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",(function(){mr(document.getElementById("frm-field-group-message"))}))}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=_r();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=_r();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void pr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!yr()),e;(e=c()).id="frm_field_multiselect_popup",yr()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=C("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Rt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():hr(),De()}function gr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",gr),hr()}function hr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function yr(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n6)return!1}return!0}function vr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=Ht(br(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function br(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each((function(){e+=le(jQuery(this)).length})),e}function jr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each((function(){n.push(this.dataset.fid)})),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach((function(e){xr(e)}))}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",qt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",(function(){jQuery(i).off("click",t)}))}function wr(){xr(this.getAttribute("data-deletefield"))}function xr(e){var t=jQuery("#frm_field_id_"+e);Qr(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each((function(){Qr(this.getAttribute("data-fid"))})),Qn()}function Qr(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach((function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)}))}(n),n.remove(),r.fadeOut("slow",(function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Or():"product"===n&&(Be(),nt()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&kn(t);G()})),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function kr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Er(r,"frm_logic_"+e+"_"),fields:tt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",(function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")}))}}),!1}function Er(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Er(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Sr(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Lr(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Sr(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function Ir(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Br(){var e,t,r,n,i,o,a,l,s,d,c,f,u=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=Ir(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=u.oldValue,_=u.oldLabel,p=u.newValue,g=u.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Sr(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Jr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Xr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function Yr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",wn(t,e))}function Zr(){var e,t;(e=en(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),f=pn(e),u=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(u.length<1)return rn(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=u.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():f?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=u[0].childNodes,gn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=hn(t),fn(t),_n(r.val(),o,i)}(r,e,_),(s=u.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",u.append(l));else{var p=!1;i.forEach((function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find((function(e){return e.checked&&"buttons"===e.value}));return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),u[0].replaceChild(n,t))}else u[0].removeChild(t)}))}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function en(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function tn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function rn(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?sn(a[0],{sourceID:e}):sn(a[0],{sourceID:e,placeholder:i.value});else{r=cn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=en(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=gn(e),d=s?tn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",f=Co(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var u;l=d[a];var m=null===(u=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===u?void 0:u.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=nn(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find((function(e){return e.value===l}));if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}an(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function an(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function ln(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
      "+(s?a:"")+"
      "},this.getSingle()}function sn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=Co(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=cn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],d=[],c=jQuery('input[name^="field_options[options_'+e+']"]'),f=Co(e),u=hn(e),m=gn(e),_=pn(e);for(t=0;t0||c[t].name.indexOf("[value]")>0||c[t].name.indexOf("[image]")>0||c[t].name.indexOf("[price]")>0||(i=r=c[t].value,o=c[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),_&&(n=c[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),s&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),m&&(i=_n(i,u,un(c[t]),fn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,c[t],m),checked:(l=c[t].id,field=jQuery("#"+l),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))),key:o},f&&(n=c[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),d.push(a));return d}function fn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function un(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function mn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce((function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML}),"");return t!==e?mn(t):t}function _n(e,t,r,n){var i,o,l,s=e;return s=mn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function pn(e){return yn("separate_value_"+e)}function gn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Ln(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function In(){jQuery(".frm-hide-empty").each((function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()}))}function Bn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=Hi(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&Ze(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function Cn(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function qn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")}))}function Nn(){var e,t,r,n,i,o,a,l=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Kn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function Jn(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",(function(){p.trigger("click"),g.removeClass("open"),h.hide()})),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach((function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)}));var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=Xn(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",(function(){return this.value})),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",(function(){return this.checked}));var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),f=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');f=f.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var u=c({id:"frm_form_action_"+o,className:n.get(0).className});u.setAttribute("data-actionkey",o),u.innerHTML=f,u.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach((function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)})),u.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(u),r.length&&(r.forEach((function(e){frmDom.wysiwyg.init(e)})),u.querySelectorAll(".wp-editor-area").forEach((function(e){frmDom.wysiwyg.init(e)}))),u.classList.contains("frm_single_on_submit_settings")&&u.querySelector("input.frm-page-search")&&mo(u),io(),wp.hooks.doAction("frm_after_duplicate_action",u)}var m,_,p,g,h}function Xn(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=Xn(++t)),t}function Yn(){var e,t=jQuery(this).data("actiontype");if(!ai(t)){var r=(e=Er(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Oi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach((function(e){return e.classList.remove("open")}));var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach((function(e){return o.appendChild(e)})),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),oi(t),Vn("#frm_form_action_"+r),io(),mo(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function Zn(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",wo(t,"input")}function ei(e){e.on("Change",(function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)}))}function ti(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===ti.prototype.endMarker&&(ti.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,ti.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ri(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function ni(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",(function(){jQuery(e).find(r+" input").val("")}))}function ii(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function oi(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ai(e)?(t=n,r=li(e)>0,t.forEach((function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")}))):n.forEach((function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))}))}function ai(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=li(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function li(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function si(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function di(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Er(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",(function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")}))}}),!1}function ci(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each((function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1}))}function fi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function ui(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function mi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function vi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function bi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ji(){zn()||($n(this),Mn(document.querySelector(".frm_form_settings")))}function wi(e){return e.preventDefault(),xi(jQuery(this),this.getAttribute("data-code")),!1}function xi(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Qi(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Qi(o,t);return!1}function Qi(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&ki(t)){var r=e.value.split(" ").filter(ki);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter((function(e){return(e=e.trim()).length&&!t.includes(e)}));return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Pn(e)}function ki(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ei(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),wo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),wo(e,"change"))}function Ai(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function Si(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ri(),"use"===(t=zi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&qi(t,"nofocus"):t.classList.contains("frm_close_icon")||qi(t,"nofocus"))}function Li(e){e.preventDefault(),e.stopPropagation(),qi(this)}function Ii(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Bi()}}(e.target)}function Bi(e){var t;void 0===e&&(e=C("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:C("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:C("Save and Reload","formidable"),buttonType:"primary"});p(e,(function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()}));var t=frmDom.modal.footerButton({text:C("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ci(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find((function(e){return"#frm_close_icon"===e.getAttribute("href")}));if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function qi(e,t){var r=Hi(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ri(n);else{if(Ci(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach((function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,f=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==f||f.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)}))}(r)}}function Ni(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Oi(){E||(E=1,window.addEventListener("beforeunload",Mi))}function Ti(){E=0}function Fi(){E=0}function Di(){E=0}function Mi(e){E&&(e.preventDefault(),e.returnValue="")}function Pi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function Hi(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=Hi(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function zi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=zi(r);return r}function Ri(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

      ":'

      Imported '+r.data.name+"

      ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,(function(e){return e!=t})),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Ki(e)))}))}function Ji(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function Xi(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function Yi(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function Zi(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function eo(e){var t,r,n=e.target.value;ro(n),to.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function to(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each((function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0})),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ro(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach((function(e){e.classList.remove("frm_hidden")})):t.forEach((function(e){e.classList.add("frm_hidden")})),vo.call(document.querySelector(".frm-auto-search")))}}function no(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function io(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function oo(e){e.preventDefault(),so(this,"frm_multiple_addons")}function ao(e){e.preventDefault(),so(this,"frm_activate_addon")}function lo(e){e.preventDefault(),so(this,"frm_install_addon")}function so(e,t){r(1105).toggleAddonState(e,t)}function co(){uo()}function fo(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",(function(){n.addClass("frm_hidden")}))}(0,0,e)}function uo(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function mo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function _o(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),go(t,r,this)}function po(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),go(this,t,r)}function go(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||bo(l,n)?(s&&Ni(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach((function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every((function(e){return e.classList.contains("frm_hidden")}));e.classList.toggle("frm_hidden",n)}})),jQuery(this).trigger("frmAfterSearch")}function bo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function jo(e){e.stopPropagation()}function wo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function xo(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function Qo(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function ko(e){jQuery(e).css("visibility","hidden")}function Eo(e){jQuery(e).css("visibility","visible")}function Ao(e,t){return r(4260).initModal(e,t)}function So(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Lo(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function Io(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Bo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function Co(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function qo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map((function(e){return"frm"+e})),i=["first","middle","last"];document.addEventListener("change",(function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach((function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))})),l.forEach((function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))})),i.forEach((function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))})),l.forEach((function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")}))}(o)}),!1)}function No(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach((function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))})),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Oo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=f({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done((function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(f(C("Thank you for signing up!","formidable")))}else fo("invalid")}))}}else fo("invalid");else fo("empty")}function To(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ri(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",(function(e){e.preventDefault(),Oo()}));var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",(function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}}))}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),O={},jQuery(".wp-admin").on("click",(function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")})),jQuery("#frm_bs_dropdown:not(.open) a").on("click",At),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach((function(e){p(e,St)})),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:C("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce((function(e,t){return t.checked?e+1:e}),0)>=10?(t.classList.remove("frm_hidden"),n.forEach((function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)}))):t.classList.add("frm_hidden")};i(),n.forEach((function(e){e.addEventListener("change",(function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach((function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1})))}))}))}}}(),mo(),jQuery("[data-frmprint]").on("click",(function(){return window.print(),!1}))),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",bi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach((function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)}))}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",(function(t){return e(t.target)}))}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",wr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",yo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",U),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",(function(){jQuery(this).off("mouseenter.frm"),jQuery(".frm_bstooltip, .frm_help").tooltip(),jQuery(this).tooltip("show")})),jQuery(".frm_bstooltip, .frm_help").tooltip(),jQuery(document).on("click","#doaction, #doaction2",(function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1})),jQuery(document).on("click","#frm-confirmed-click",(function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0})),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Un);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",(function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1})),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",(function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1}))),jQuery(document).on("click","#frm-nav-tabs a",W),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",(function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Wn(this),V(this),!1})),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",(function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Mn(document.getElementById("posts-filter")),!1})),jQuery(".frm_select_box").on("click focus",(function(){this.select()})),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",vo),jQuery(document).on("focusin click",".frm-auto-search",jo);var f=jQuery(".frm-auto-search");""!==f.val()&&f.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",lo),jQuery(document).on("click",".frm-activate-addon",ao),jQuery(document).on("click",".frm-solution-multiple",oo),jQuery("button, input[type=submit]").on("click",Lo),document.addEventListener("click",(function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout((function(){return n.click()}),0)}}}})),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",(function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]})),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach((function(e,t){e.addEventListener("click",(function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach((function(e,r){e.classList.contains("frm_other_option")||No(t,e)}))}))}));var u=document.getElementById("frm_small_screen_proceed_button");u&&p(u,(function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)}));var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,(function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))})),_&&p(_,(function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)})))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",To),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",Dn),jQuery(".frm_submit_no_ajax").on("click",Hn),Rn(),jQuery("a.edit-form-status").on("click",En),jQuery(".cancel-form-status").on("click",An),jQuery(".save-form-status").on("click",(function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1})),jQuery(".frm_form_builder form").first().on("submit",(function(){jQuery(".inplace_field").trigger("blur")})),io(),Or(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",kr),e.on("click",".frm_add_watch_lookup_row",Ar),e.on("change",".frm_get_values_form",qr),e.on("change",".frm_logic_field_opts",bn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Sn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",Ce),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",lt),e.on("change click","[data-changeme]",ot),e.on("click","input.frm_req_field",st),e.on("click",".frm_mark_unique",ct),e.on("change",".frm_repeat_format",Vr),e.on("change",".frm_repeat_limit",Kr),e.on("change",".frm_js_checkbox_limit",Jr),e.on("input",'input[name^="field_options[add_label_"]',(function(){Xr(this,"add")})),e.on("input",'input[name^="field_options[remove_label_"]',(function(){Xr(this,"remove")})),e.on("change",'select[name^="field_options[data_type_"]',Nr),jQuery(t).on("click",".frm-collapse-page",Tr),jQuery(t).on("click",".frm-collapse-section",Mr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",Pr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",(function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),Pr.call(this,e))})),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",ht),e.on("click",".frm_toggle_image_options",yt),e.on("click",".frm_remove_image_option",kt),e.on("click",".frm_choose_image_box",Qt),e.on("change",".frm_hide_image_text",xt),e.on("change",".frm_field_options_image_size",jt),e.on("click",".frm_multiselect_opt",Et),w.on("mousedown","input, textarea, select",Lt),w.on("click","input[type=radio], input[type=checkbox]",Lt),w.on("click",".frm_delete_field",Nt),w.on("click",".frm_select_field",Ot),jQuery(document).on("click",".frm_delete_field_group",Tt),jQuery(document).on("click",".frm_clone_field_group",Ft),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Dt),jQuery(document).on("click",".frm-row-layout-option",Xt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",Yt),jQuery(document).on("click",".frm-custom-field-group-layout",er),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-break-field-group",lr),w.on("click","#frm_field_group_popup .frm_grid_container input",sr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",dr),jQuery(document).on("click",".frm-save-custom-field-group-layout",fr),w.on("click","ul.frm_sorting",ur),jQuery(document).on("click",".frm-merge-fields-into-row",vr),jQuery(document).on("click",".frm-delete-field-groups",jr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',(function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)})),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",It),e.on("mousedown",".frm_single_option input[type=radio]",Bt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",_t),e.on("change",".frm_single_option input",Zr),e.on("change",".frm_image_id",Zr),e.on("change",".frm_toggle_mult_sel",pt),w.on("click",".frm_primary_label",zr),w.on("click",".frm_description",Rr),w.on("click","li.ui-state-default:not(.frm_noallow)",$r),w.on("dblclick","li.ui-state-default",Wr),e.on("change",".frm_tax_form_select",Yr),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",jn),e.on("click",".frm-show-inline-modal",Bn),e.on("keydown",".frm-show-inline-modal",(function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Bn.call(this,e))})),e.on("click",".frm-inline-modal .dismiss",Cn),jQuery(document).on("change","[data-frmchange]",Nn),document.addEventListener("click",qn),e.on("change",".frm_include_extras_field",et),e.on("change",'select[name^="field_options[form_select_"]',Io),jQuery(document).on("submit","#frm_js_build_form",Ti),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Oi),nt(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Bo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Lr),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),frmDom.util.documentOn("click",".frm-show-field-settings",$r),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Ur),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',(function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find((function(e){return null!==e.offsetParent}));if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)})),!1!==(r=Ao("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",mt),jQuery(x).on("click","a.frm-bulk-edit-link",(function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=pn(s),c=Co(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}})),jQuery("#frm-update-bulk-opts").on("click",(function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Oi())}))),In(),document.addEventListener("frm_added_field",In),Be(),qo(),Qn(),frmDom.util.documentOn("change",".frm_show_password_setting_input",(function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)})),document.addEventListener("scroll",Ci,!0),document.addEventListener("change",Ii),document.querySelector(".frm_form_builder").addEventListener("mousedown",(function(e){e.shiftKey&&e.preventDefault()})),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",(function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Hr)}),9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ri),i.on("click",".frm_remove_field",ni),i.on("change",".frm_to_row, .frm_from_row",ii),i.on("change",".frm_tax_selector",yi),i.on("change","select.frm_single_post_field",ci),i.on("change","select.frm_toggle_post_content",fi),i.on("change","select.frm_dyncontent_opt",ui),i.on("change",".frm_post_type",mi),i.on("click",".frm_add_postmeta_row",gi),i.on("click",".frm_add_posttax_row",pi),i.on("click",".frm_toggle_cf_opts",vi),i.on("click",".frm_duplicate_form_action",Jn),jQuery(".frm_actions_list").on("click",".frm_active_action",Yn),jQuery("#frm-show-groups, #frm-hide-groups").on("click",Zn),io(),jQuery("ul.frm_actions_list li").each((function(){oi(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")})),jQuery(".frm_submit_settings_btn").on("click",ji),Rn(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",di),e.on("click",".frm_already_used",si),document.addEventListener("click",(function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?Qt.bind(t)(e):t.closest(".frm_remove_image_option")&&kt.bind(t)(e))})),e.on("mouseup","*:not(.frm-show-box)",To),jQuery(document.getElementById("no_save")).on("change",(function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)})),jQuery('select[name="options[edit_action]"]').on("change",Kn),t=document.getElementById("logged_in"),jQuery(t).on("change",(function(){this.checked?Eo(".hide_logged_in"):ko(".hide_logged_in")})),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",(function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")}));var o=document.getElementById("single_entry");jQuery(o).on("change",(function(){this.checked?Eo(".hide_single_entry"):ko(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")})),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",(function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")})),Pn(l),n=document.getElementById("editable"),jQuery(n).on("change",(function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Pn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))})),jQuery(document).on("change","#protect_files",(function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")})),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Sn),jQuery(document).on("submit",".frm_form_settings",Fi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Oi),mo(),jQuery(document).on("frm-action-loaded",$i),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',(function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden")})),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach((function(e){e.classList.remove("frm_hidden")})),t.setAttribute("data-on-submit-type",e.target.value)}})),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",Di)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",wi),jQuery(document).on("change",".frm_insert_val",(function(){xi(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")})),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ei),jQuery(document).on("keyup change",".frm-build-logic",Ai),Vn(),jQuery(document).on("frmElementAdded",(function(e,t){Vn(t)})),jQuery(document).on("mousedown",".frm-show-box",Li),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",(function(e){var i,o,a,l;if(e.stopPropagation(),Si(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}})),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",(function(e){e.preventDefault()})),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",(function(e){Gi("frmids",e)})),e.on("click",".subsubsub a.frmkeys",(function(e){Gi("frmkeys",e)}))},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",(function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",(function(){return t.remove()}),{once:!0})),xo(data,(function(){if(!a)return"#"!==n?(window.location=n,!0):void Qo(t,(function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),co()),t.parentNode.removeChild(t)}))}))}})),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&co()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",po)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",Qt),e.on("click",".frm_remove_image_option",kt),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ui),io(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Wi),jQuery(document).on("click","#frm-new-template button",_o),jQuery("#frm-dismissable-cta .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()}));var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",ho),document.querySelector(".frm_captchas").addEventListener("change",(function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)})),frmDom.util.documentOn("submit",".frm_settings_form",(function(){return E=0}));var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",(function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)}));var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach((function(e){e.addEventListener("change",(function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach((function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}}))}}))}))},exportInit:function(){jQuery(".frm_form_importer").on("submit",Vi),jQuery(document.getElementById("frm_export_xml")).on("submit",Ji),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",Xi),jQuery('input[name="frm_import_file"]').on("change",Yi),document.querySelector('select[name="format"]').addEventListener("change",eo),jQuery('input[name="frm_export_forms[]"]').on("click",no),io(),jQuery(".frm-feature-banner .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()})),ro(Zi()),document.querySelector("#frm-export-select-all").addEventListener("change",(function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach((function(t){return t.checked=e.target.checked}))}))},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",(function(r){r.target===t&&xo({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},(function(){jQuery(e).fadeOut(400,(function(){e.remove()}))}))}))}},updateOpts:function(e,t,r){var n=pn(e),i=Co(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),rn(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout((function(){xn(),We(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})}),10)},error:je})}))},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:ti}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready((function(){var e;frmAdminBuild.init(),frmDom.bootstrap.setupBootstrapDropdowns((function(e){var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
        ","")).replaceAll("
      • ",'
      • ",""),t.outerHTML=r)})),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-toggle","dropdown")})),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout((function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"}),2e3))}})}})(); \ No newline at end of file diff --git a/js/formidable_admin.js.map b/js/formidable_admin.js.map index 0b1e746c6a..4d692b31fb 100644 --- a/js/formidable_admin.js.map +++ b/js/formidable_admin.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable_admin.js","mappings":"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","sources":["webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\n\t\t\tjQuery( '.frm_bstooltip, .frm_help' ).tooltip();\n\t\t\tjQuery( this ).tooltip( 'show' );\n\t\t} );\n\n\t\tjQuery( '.frm_bstooltip, .frm_help' ).tooltip( );\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-toggle': 'dropdown',\n\t\t\t\t'data-container': 'body'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\treturn {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak,\n\t\t\tlast_row_field_ids: getFieldIdsInSubmitRow()\n\t\t};\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < 6 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > 6 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// allow 6 if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = 6;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\t\t\t\tul = document.querySelector( '.dropdown.show .frm-dropdown-menu' );\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
      • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
          ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\t\t\tthis.closest( '.frm_single_option' ).after( newOption.newOption );\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\t// Make sure all remove buttons are enabled\n\t\tthis.closest( '.frm_sortable_field_opts' )?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\n\t\tfieldUpdated();\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-6.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > 6 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
          ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
          ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID ),\n\t\t\thasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\tfunction getMultipleOpts( fieldId ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 || optVals[ i ].name.indexOf( '[value]' ) > 0 || optVals[ i ].name.indexOf( '[image]' ) > 0 || optVals[ i ].name.indexOf( '[price]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst $info = initModal( '#frm_upgrade_modal' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.addEventListener( 'click', handleUpgradeClick );\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\t\tfunction handleUpgradeClick( event ) {\n\t\t\tlet element, link, content;\n\n\t\t\telement = event.target;\n\n\t\t\tif ( ! element.classList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\t\telement = selectedOption;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! element.dataset.upgrade ) {\n\t\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\t\tif ( ! parent ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\t\telement.dataset.upgrade = '';\n\t\t\t\t}\n\t\t\t\telement = parent;\n\t\t\t}\n\n\t\t\tif ( showExpiredModal ) {\n\t\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\t\twp.hooks.doAction( hookName, element );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst modal = $info.get( 0 );\n\t\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'block';\n\t\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t\t}\n\n\t\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\t\tif ( oldImage ) {\n\t\t\t\toldImage.remove();\n\t\t\t}\n\n\t\t\tif ( element.dataset.image ) {\n\t\t\t\tif ( lockIcon ) {\n\t\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t\t}\n\t\t\t\tlockIcon.parentNode.insertBefore( img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t\t}\n\n\t\t\tconst level = modal.querySelector( '.license-level' );\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\n\t\t\t// If one click upgrade, hide other content\n\t\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image ? 'none' : 'inline-block';\n\t\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\t// set the utm medium\n\t\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\t\tcontent = element.getAttribute( 'data-content' );\n\t\t\tif ( content === null ) {\n\t\t\t\tcontent = '';\n\t\t\t}\n\t\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\t\tbutton.setAttribute( 'href', link );\n\t\t}\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tconst upgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\n\t\t\tcontainer.appendChild( upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Allow addons to be installed from the upgrade modal.\n\t *\n\t * @param {Element} link\n\t * @param {string} context Either 'modal' or 'tab'.\n\t * @param {string|undefined} upgradeLabel\n\t */\n\tfunction addOneClick( link, context, upgradeLabel ) {\n\t\tlet container;\n\n\t\tif ( 'modal' === context ) {\n\t\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t\t} else if ( 'tab' === context ) {\n\t\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\t\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\t\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\t\tconst button = container.querySelector( '.frm-oneclick-button' );\n\t\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\t\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\t\tlet newMessage = link.getAttribute( 'data-message' );\n\t\tlet showIt = 'block';\n\t\tlet showMsg = 'block';\n\t\tlet hideIt = 'none';\n\n\t\t// If one click upgrade, hide other content.\n\t\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\t\tif ( newMessage === null ) {\n\t\t\t\tshowMsg = 'none';\n\t\t\t}\n\t\t\tshowIt = 'none';\n\t\t\thideIt = 'block';\n\t\t\toneclick = JSON.parse( oneclick );\n\n\t\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\t\tbutton.rel = oneclick.url;\n\n\t\t\tif ( oneclick.class === 'frm-activate-addon' ) {\n\t\t\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\t\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\t\t\t} else {\n\t\t\t\toneclickMessage.textContent = __( 'That add-on is not installed. Would you like to install it now?', 'formidable' );\n\t\t\t\tbutton.textContent = __( 'Install', 'formidable' );\n\t\t\t}\n\t\t}\n\n\t\tif ( ! newMessage ) {\n\t\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t\t}\n\t\tif ( undefined !== upgradeLabel ) {\n\t\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t\t}\n\n\t\tupgradeMessage.innerHTML = newMessage;\n\n\t\tif ( link.dataset.upsellImage ) {\n\t\t\tupgradeMessage.appendChild(\n\t\t\t\timg( {\n\t\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\t\talt: link.dataset.upgrade\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\t// Either set the link or use the default.\n\t\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\t\taddonStatus.style.display = 'none';\n\n\t\toneclickMessage.style.display = hideIt;\n\t\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\t\tupgradeMessage.style.display = showMsg;\n\t\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n\t}\n\n\tfunction getShowLinkHrefValue( link, showLink ) {\n\t\tlet customLink = link.getAttribute( 'data-link' );\n\t\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t\t}\n\t\treturn customLink;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
          ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction saveAndReloadSettings() {\n\t\tlet page, form;\n\t\tpage = document.getElementById( 'form_settings_page' );\n\t\tif ( null !== page ) {\n\t\t\tform = page.querySelector( 'form.frm_form_settings' );\n\t\t\tif ( null !== form ) {\n\t\t\t\tfieldsUpdated = 0;\n\t\t\t\tform.submit();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction bindClickForDialogClose( $modal ) {\n\t\tconst closeModal = function() {\n\t\t\t$modal.dialog( 'close' );\n\t\t};\n\t\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t\t$modal.on( 'click', 'a.dismiss', closeModal );\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

          ' + res.data.name + ': ' + res.data.msg + '

          ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

          Imported ' + res.data.name + '

          ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tlet button, plugin, el, message;\n\n\t\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\t\tjQuery( '.frm-addon-error' ).remove();\n\t\tbutton = jQuery( clicked );\n\t\tplugin = button.attr( 'rel' );\n\t\tel = button.parent();\n\t\tmessage = el.parent().find( '.addon-status-label' );\n\n\t\tbutton.addClass( 'frm_loading_button' );\n\n\t\t// Process the Ajax to perform the activation.\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tplugin: plugin\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tlet saveAndReload;\n\n\t\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t\t}\n\t\t\t\t\tresponse = response.message;\n\t\t\t\t}\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, button );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t\t/**\n\t\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t\t *\n\t\t\t\t * @param {Object} response\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\taddonStatus.textContent = response;\n\t\t\t\taddonStatus.style.display = 'block';\n\t\t\t}\n\t\t);\n\n\t\t// The Ajax request was successful, so let's update the output.\n\t\tbutton.css( { opacity: '0' } );\n\n\t\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\t\toneClick => {\n\t\t\t\toneClick.style.display = 'none';\n\t\t\t}\n\t\t);\n\n\t\tjQuery( '#frm_upgrade_modal h2' ).hide();\n\t\tjQuery( '#frm_upgrade_modal .frm_lock_icon' ).addClass( 'frm_lock_open_icon' );\n\t\tjQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_open_icon' );\n\n\t\t// Proceed with CSS changes\n\t\tconst actionMap = {\n\t\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t\t};\n\t\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\t\tconst messageElement = message[ 0 ];\n\t\tif ( messageElement ) {\n\t\t\tmessageElement.textContent = actionMap[ action ].message;\n\t\t}\n\n\t\tconst parentElement = el[ 0 ].parentElement;\n\t\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\t\tparentElement.classList.add( actionMap[ action ].class );\n\n\t\tconst buttonElement = button[ 0 ];\n\t\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t\t// Maybe refresh import and SMTP pages\n\t\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\t\tif ( refreshPage.length > 0 ) {\n\t\t\twindow.location.reload();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\t\taddonStatuses.forEach(\n\t\t\t\taddonStatus => {\n\t\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\t\tconst className = 'frm-save-and-reload-options';\n\t\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\t\tif ( inModal ) {\n\t\t\tchildren.push( closePopupButton() );\n\t\t}\n\t\treturn div( { className, children } );\n\t}\n\n\tfunction saveAndReloadSettingsButton( saveAndReload ) {\n\t\tconst button = document.createElement( 'button' );\n\t\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\t\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\t\tbutton.addEventListener( 'click', () => {\n\t\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\t\tsaveAndReloadSettings();\n\t\t\t}\n\t\t} );\n\t\treturn button;\n\t}\n\n\tfunction closePopupButton() {\n\t\tconst a = document.createElement( 'a' );\n\t\ta.setAttribute( 'href', '#' );\n\t\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\t\ta.textContent = __( 'Close', 'formidable' );\n\t\treturn a;\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tif ( typeof response !== 'string' ) {\n\t\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( response.form ) {\n\t\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn response;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tif ( response.form ) {\n\t\t\tjQuery( '.frm-inline-error' ).remove();\n\t\t\tbutton.closest( '.frm-card' )\n\t\t\t\t.html( response.form )\n\t\t\t\t.css( { padding: 5 } )\n\t\t\t\t.find( '#upgrade' )\n\t\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t\t.on( 'click', installAddonWithCreds );\n\t\t} else {\n\t\t\tel.append( '

          ' + response.message + '

          ' );\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t\t}\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst $info = jQuery( id );\n\t\tif ( ! $info.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( typeof width === 'undefined' ) {\n\t\t\twidth = '550px';\n\t\t}\n\n\t\tconst dialogArgs = {\n\t\t\tdialogClass: 'frm-dialog',\n\t\t\tmodal: true,\n\t\t\tautoOpen: false,\n\t\t\tcloseOnEscape: true,\n\t\t\twidth: width,\n\t\t\tresizable: false,\n\t\t\tdraggable: false,\n\t\t\topen: function() {\n\t\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\t\tbindClickForDialogClose( $info );\n\t\t\t},\n\t\t\tclose: function() {\n\t\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\t\tif ( optionType ) {\n\t\t\t\t\toptionType.value = '';\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t$info.dialog( dialogArgs );\n\n\t\treturn $info;\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tfrmDom.bootstrap.setupBootstrapDropdowns( convertOldBootstrapDropdownsToBootstrap4 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-toggle', 'dropdown' );\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap4( frmDropdownMenu ) {\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
        • and
            tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
              ', '' );\n\t\t\thtml = html.replaceAll( '
            • ', '
              ' );\n\t\t\thtml = html.replaceAll( '
            • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["window","FrmFormsConnect","document","$","el","messageBox","reset","setElements","querySelector","getElementById","app","init","on","deauthorize","authorize","reauthorize","button","pluginSlug","getAttribute","input","license","value","wpmu","classList","add","checked","ajax","type","url","ajaxurl","dataType","data","action","plugin","nonce","frmGlobal","success","msg","afterAuthorize","remove","wp","hooks","doAction","showMessage","showProgress","innerHTML","message","showAuthorized","showInlineSuccess","setTimeout","refreshPage","location","reload","show","from","to","container","querySelectorAll","length","forEach","box","className","replace","successElement","element","frmAdminBuild","purifyHtml","textContent","confirm","link","replaceWith","jQuery","frmAdminBuildJS","frmAdminJs","frm_admin_js","_frmDom","frmDom","tag","div","span","a","svg","img","onClickPreventDefault","util","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","href","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","__","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","style","display","empty","$obj","firstChild","removeChild","addClass","confirmClick","e","stopPropagation","preventDefault","confirmLinkClick","loadedFrom","id","applyFilters","initModal","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","$info","continueButton","append","createTextNode","removeAtts","dataset","removeAttribute","setAttribute","dialog","infoModal","html","toggleItem","toggle","text","$items","hideShowItem","hide","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","removeClass","current","parentNode","uncheckItem","uncheckItemElement","nodeName","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","tooltip","event","isTop","suffix","bulkActionSelector","confirmBulkDelete","target","contains","click","deleteTooltips","removeMore","parseInt","deleteButton","attr","closest","find","indexOf","last","fadeEle","$fadeEle","fadeOut","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookName","hookArgs","b","popCalcFields","cont","parentElement","inside","children","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","is","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","draggable","allowDrop","parents","nextAll","get","handle","settings","helper","getDraggableHelper","revert","delay","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","hasAttribute","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","parent","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","appendChild","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","each","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","createElement","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","addEventListener","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","opacity","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","field_type","has_break","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","insertBefore","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","error","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","push","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","JSON","parse","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","arguments","undefined","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","includes","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","substr","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","width","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","options","getDeleteActionOption","getDuplicateActionOption","class","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","addedEvent","frmField","frmSection","frmType","frmToggles","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","selectedIndex","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","css","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","content","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","optionType","updateOpts","addFieldOption","_this$closest","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","imagePreview","media","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","open","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","padding","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","modal","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","image","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","labelName","optObj","optVals","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","src","alt","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","documentOn","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","form","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","initUpgradeModal","handleUpgradeClick","showExpiredModal","selectedOption","upgrade","upgradeLabel","lockIcon","upgradeImageId","oldImage","level","getRequiredLicenseFromTrigger","addOneClick","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","requires","populateUpgradeTab","tab","h2","borderBottom","upgradeModal","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","context","oneclickMessage","upgradeMessage","showLink","addonStatus","oneclick","newMessage","showIt","showMsg","hideIt","rel","upsellImage","getShowLinkHrefValue","customLink","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","response","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","_typeof","active","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","saveAndReloadFormBuilder","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","saveAndReloadSettings","page","submit","submitButton","returnValue","bindClickForDialogClose","$modal","closeModal","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","toggleAddonState","activateAddon","installAddon","clicked","async","cache","_response$data","_response","saveAndReload","extractErrorFromAddOnResponse","addonError","afterAddonInstall","installAddonWithCreds","proceed","hostname","username","password","_response$data2","_response2","addonStatuses","oneClick","actionMap","frm_activate_addon","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","buttonElement","inModal","getSaveAndReloadSettingsOptions","saveAndReloadSettingsButton","closePopupButton","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","keys","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","dialogArgs","dialogClass","autoOpen","closeOnEscape","resizable","close","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","setupBootstrapDropdowns","convertOldBootstrapDropdownsToBootstrap4","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"formidable_admin.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YA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DAAiD,mFAAmF,OAAO;;AAEtgB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAY;;AAE1B,cAAc,YAAY;;AAE1B;AACA,aAAa,sDAAsD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4DAA4D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,6EAA6E;AAC1F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8FAA8F;AAC3G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gEAAgE;AAC7E;AACA;AACA;;AAEA,cAAc,kCAAkC;;AAEhD;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA,cAAc,iBAAiB;AAC/B;AACA,cAAc,WAAW;AACzB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB;AACA,cAAc,KAAK;AACnB;AACA,cAAc,OAAO;AACrB,cAAc,gBAAgB;AAC9B;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,YAAY,4BAA4B;AACxC;;AAEO;AACP;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,8CAAM,GAAG;AAC5B;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,m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AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/addon-state.js","webpack://formidable/./js/src/admin/upgrade-popup.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","import { __ } from '@wordpress/i18n';\n\nconst { div } = frmDom;\n\n/**\n * Toggles the state of an add-on (ie. enable or disable an add-on).\n *\n * @param {Element} clicked\n * @param {string} action\n */\nexport function toggleAddonState( clicked, action ) {\n\tconst ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase\n\n\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\tjQuery( '.frm-addon-error' ).remove();\n\tconst button = jQuery( clicked );\n\tconst plugin = button.attr( 'rel' );\n\tconst el = button.parent();\n\tconst message = el.parent().find( '.addon-status-label' );\n\n\tbutton.addClass( 'frm_loading_button' );\n\n\t// Process the Ajax to perform the activation.\n\tjQuery.ajax( {\n\t\turl: ajaxurl,\n\t\ttype: 'POST',\n\t\tasync: true,\n\t\tcache: false,\n\t\tdataType: 'json',\n\t\tdata: {\n\t\t\taction: action,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\tplugin: plugin\n\t\t},\n\t\tsuccess: function( response ) {\n\t\t\tresponse = response?.data ?? response;\n\n\t\t\tlet saveAndReload;\n\n\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t}\n\t\t\t\tresponse = response.message;\n\t\t\t}\n\n\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\tif ( error ) {\n\t\t\t\taddonError( error, el, button );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t/**\n\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t *\n\t\t\t * @param {Object} response\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t},\n\t\terror: function() {\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t}\n\t} );\n}\n\nexport function extractErrorFromAddOnResponse( response ) {\n\tif ( typeof response !== 'string' ) {\n\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( response.form ) {\n\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn false;\n}\n\nexport function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\n\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\taddonStatuses.forEach(\n\t\taddonStatus => {\n\t\t\taddonStatus.textContent = response;\n\t\t\taddonStatus.style.display = 'block';\n\t\t}\n\t);\n\n\t// The Ajax request was successful, so let's update the output.\n\tbutton.css( { opacity: '0' } );\n\n\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\toneClick => {\n\t\t\toneClick.style.display = 'none';\n\t\t}\n\t);\n\n\tjQuery( '#frm_upgrade_modal h2' ).hide();\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon' ).addClass( 'frm_lock_open_icon' );\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_open_icon' );\n\n\t// Proceed with CSS changes\n\tconst actionMap = {\n\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t};\n\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\tconst messageElement = message[ 0 ];\n\tif ( messageElement ) {\n\t\tmessageElement.textContent = actionMap[ action ].message;\n\t}\n\n\tconst parentElement = el[ 0 ].parentElement;\n\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\tparentElement.classList.add( actionMap[ action ].class );\n\n\tconst buttonElement = button[ 0 ];\n\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t// Maybe refresh import and SMTP pages\n\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\tif ( refreshPage.length > 0 ) {\n\t\twindow.location.reload();\n\t\treturn;\n\t}\n\n\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport function addonError( response, el, button ) {\n\tif ( response.form ) {\n\t\tjQuery( '.frm-inline-error' ).remove();\n\t\tbutton.closest( '.frm-card' )\n\t\t\t.html( response.form )\n\t\t\t.css( { padding: 5 } )\n\t\t\t.find( '#upgrade' )\n\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t.on( 'click', installAddonWithCreds );\n\t} else {\n\t\tel.append( '

              ' + response.message + '

              ' );\n\t\tbutton.removeClass( 'frm_loading_button' );\n\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t}\n}\n\nfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\tconst className = 'frm-save-and-reload-options';\n\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\tif ( inModal ) {\n\t\tchildren.push( closePopupButton() );\n\t}\n\treturn div( { className, children } );\n}\n\nfunction saveAndReloadSettingsButton( saveAndReload ) {\n\tconst button = document.createElement( 'button' );\n\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\tbutton.addEventListener( 'click', () => {\n\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\tsaveAndReloadFormBuilder();\n\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\tsaveAndReloadSettings();\n\t\t}\n\t} );\n\treturn button;\n}\n\nfunction saveAndReloadSettings() {\n\tconst page = document.getElementById( 'form_settings_page' );\n\tif ( null !== page ) {\n\t\tconst form = page.querySelector( 'form.frm_form_settings' );\n\t\tif ( null !== form ) {\n\t\t\twp.hooks.doAction( 'frm_reset_fields_updated' );\n\t\t\tform.submit();\n\t\t}\n\t}\n}\n\nfunction closePopupButton() {\n\tconst a = document.createElement( 'a' );\n\ta.setAttribute( 'href', '#' );\n\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\ta.textContent = __( 'Close', 'formidable' );\n\treturn a;\n}\n\nfunction saveAndReloadFormBuilder() {\n\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t}\n\tsubmitButton.click();\n}\n","import { __ } from '@wordpress/i18n';\n\nfunction getShowLinkHrefValue( link, showLink ) {\n\tlet customLink = link.getAttribute( 'data-link' );\n\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t}\n\treturn customLink;\n}\n\n/**\n * Allow addons to be installed from the upgrade modal.\n *\n * @param {Element} link\n * @param {string} context Either 'modal' or 'tab'.\n * @param {string|undefined} upgradeLabel\n */\nexport function addOneClick( link, context, upgradeLabel ) {\n\tlet container;\n\n\tif ( 'modal' === context ) {\n\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t} else if ( 'tab' === context ) {\n\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t} else {\n\t\treturn;\n\t}\n\n\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\tconst button = container.querySelector( '.frm-oneclick-button' );\n\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\tlet newMessage = link.getAttribute( 'data-message' );\n\tlet showIt = 'block';\n\tlet showMsg = 'block';\n\tlet hideIt = 'none';\n\n\t// If one click upgrade, hide other content.\n\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\tif ( newMessage === null ) {\n\t\t\tshowMsg = 'none';\n\t\t}\n\t\tshowIt = 'none';\n\t\thideIt = 'block';\n\t\toneclick = JSON.parse( oneclick );\n\n\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\tbutton.rel = oneclick.url;\n\n\t\tif ( oneclick.class === 'frm-activate-addon' ) {\n\t\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\t\t} else {\n\t\t\toneclickMessage.textContent = __( 'That add-on is not installed. Would you like to install it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Install', 'formidable' );\n\t\t}\n\t}\n\n\tif ( ! newMessage ) {\n\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t}\n\tif ( undefined !== upgradeLabel ) {\n\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t}\n\n\tupgradeMessage.innerHTML = newMessage;\n\n\tif ( link.dataset.upsellImage ) {\n\t\tupgradeMessage.appendChild(\n\t\t\tfrmDom.img( {\n\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\talt: link.dataset.upgrade\n\t\t\t} )\n\t\t);\n\t}\n\n\t// Either set the link or use the default.\n\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\taddonStatus.style.display = 'none';\n\n\toneclickMessage.style.display = hideIt;\n\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\tupgradeMessage.style.display = showMsg;\n\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n}\n\nexport function initModal( id, width ) {\n\tconst $info = jQuery( id );\n\tif ( ! $info.length ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof width === 'undefined' ) {\n\t\twidth = '550px';\n\t}\n\n\tconst dialogArgs = {\n\t\tdialogClass: 'frm-dialog',\n\t\tmodal: true,\n\t\tautoOpen: false,\n\t\tcloseOnEscape: true,\n\t\twidth: width,\n\t\tresizable: false,\n\t\tdraggable: false,\n\t\topen: function() {\n\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\tbindClickForDialogClose( $info );\n\t\t},\n\t\tclose: function() {\n\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\tif ( optionType ) {\n\t\t\t\toptionType.value = '';\n\t\t\t}\n\t\t}\n\t};\n\n\t$info.dialog( dialogArgs );\n\n\treturn $info;\n}\n\nfunction bindClickForDialogClose( $modal ) {\n\tconst closeModal = function() {\n\t\t$modal.dialog( 'close' );\n\t};\n\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t$modal.on( 'click', 'a.dismiss', closeModal );\n}\n\nexport function initUpgradeModal() {\n\tconst $info = initModal( '#frm_upgrade_modal' );\n\tif ( $info === false ) {\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'click', handleUpgradeClick );\n\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\tfunction handleUpgradeClick( event ) {\n\t\tlet element, link, content;\n\n\t\telement = event.target;\n\n\t\tif ( ! element.classList ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\telement = selectedOption;\n\t\t\t}\n\t\t}\n\n\t\tif ( ! element.dataset.upgrade ) {\n\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\tif ( ! parent ) {\n\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\telement.dataset.upgrade = '';\n\t\t\t}\n\t\t\telement = parent;\n\t\t}\n\n\t\tif ( showExpiredModal ) {\n\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\twp.hooks.doAction( hookName, element );\n\t\t\treturn;\n\t\t}\n\n\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst modal = $info.get( 0 );\n\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\tif ( lockIcon ) {\n\t\t\tlockIcon.style.display = 'block';\n\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t}\n\n\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\tif ( oldImage ) {\n\t\t\toldImage.remove();\n\t\t}\n\n\t\tif ( element.dataset.image ) {\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t}\n\t\t\tlockIcon.parentNode.insertBefore( frmDom.img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t}\n\n\t\tconst level = modal.querySelector( '.license-level' );\n\t\tif ( level ) {\n\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t}\n\n\t\t// If one click upgrade, hide other content\n\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image ? 'none' : 'inline-block';\n\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t$info.dialog( 'open' );\n\n\t\t// set the utm medium\n\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\tcontent = element.getAttribute( 'data-content' );\n\t\tif ( content === null ) {\n\t\t\tcontent = '';\n\t\t}\n\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\tbutton.setAttribute( 'href', link );\n\t}\n}\n\nfunction getRequiredLicenseFromTrigger( element ) {\n\tif ( element.dataset.requires ) {\n\t\treturn element.dataset.requires;\n\t}\n\treturn 'Pro';\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\n\t\t\tjQuery( '.frm_bstooltip, .frm_help' ).tooltip();\n\t\t\tjQuery( this ).tooltip( 'show' );\n\t\t} );\n\n\t\tjQuery( '.frm_bstooltip, .frm_help' ).tooltip( );\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-toggle': 'dropdown',\n\t\t\t\t'data-container': 'body'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\tconst fieldArgs = {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak\n\t\t};\n\n\t\t// Only send last row field IDs to update their order if this field isn't added to a repeater.\n\t\tconst isInRepeater = sectionId > 0 && document.getElementById( 'form_id' ).value !== formId;\n\t\tif ( ! isInRepeater ) {\n\t\t\tfieldArgs.last_row_field_ids = getFieldIdsInSubmitRow();\n\t\t}\n\n\t\treturn fieldArgs;\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < 6 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > 6 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// allow 6 if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = 6;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\t\t\t\tul = document.querySelector( '.dropdown.show .frm-dropdown-menu' );\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
            • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
                ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tconst lastRowOrderInput = field.querySelector( '#frm-last-row-fields-order' );\n\t\tif ( lastRowOrderInput ) {\n\t\t\tupdateLastRowFieldsOrder( JSON.parse( lastRowOrderInput.value ) );\n\t\t}\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\tfunction updateLastRowFieldsOrder( fieldsOrder ) {\n\t\tif ( ! fieldsOrder || 'object' !== typeof fieldsOrder ) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys( fieldsOrder ).forEach( fieldId => {\n\t\t\tconst orderInput = document.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\tif ( orderInput ) {\n\t\t\t\torderInput.value = fieldsOrder[ fieldId ];\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\n\t\t\tconst $thisOption = this.closest( '.frm_single_option' );\n\t\t\tif ( $thisOption ) {\n\t\t\t\t$thisOption.after( newOption.newOption );\n\t\t\t} else {\n\t\t\t\t// Backwards compatibility \"@since 6.24\"\n\t\t\t\t// Note: Keep it jQuery since some events are attached to the element\n\t\t\t\tjQuery( `#frm_field_${ fieldId }_opts` ).append( newOption.newOption );\n\t\t\t}\n\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\tfieldOptionEnableAllRemoveButtons( this );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * Enable all remove buttons for field options.\n\t *\n\t * @param {HTMLElement} element The add option button element.\n\t */\n\tfunction fieldOptionEnableAllRemoveButtons( element ) {\n\t\t// Make sure all remove buttons are enabled\n\t\tconst parentEl = element.classList.contains( 'frm-add-option-legacy' ) // Backwards compatibility \"@since 6.24\"\n\t\t\t? element.closest( '.frm-collapse-me' )?.querySelector( '.frm_sortable_field_opts' )\n\t\t\t: element.closest( '.frm_sortable_field_opts' );\n\n\t\tparentEl?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-6.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > 6 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
                ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
                ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) );\n\t\tlet hasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\t/**\n\t * Get multiple options for a field.\n\t *\n\t * @param {string} fieldId The field id.\n\t * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels.\n\t */\n\tfunction getMultipleOpts( fieldId, showValueAsLabel = false ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 || optVals[ i ].name.indexOf( '[value]' ) > 0 || optVals[ i ].name.indexOf( '[image]' ) > 0 || optVals[ i ].name.indexOf( '[price]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\n\t\t\t\tif ( showValueAsLabel && '' === label ) {\n\t\t\t\t\tlabel = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.initUpgradeModal();\n\t}\n\n\tfunction addOneClick( element, type, upgradeLabel ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.addOneClick( element, type, upgradeLabel );\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tconst upgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\n\t\t\tcontainer.appendChild( upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
                ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction resetFieldsUpdated() {\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

                ' + res.data.name + ': ' + res.data.msg + '

                ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

                Imported ' + res.data.name + '

                ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.toggleAddonState( clicked, action );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.afterAddonInstall( response, button, message, el, saveAndReload, action );\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tconst addonState = require( './addon-state' );\n\t\treturn addonState.extractErrorFromAddOnResponse( response );\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.addonError( response, el, button );\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\treturn upgradePopup.initModal( id, width );\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\n\t\t\twp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated );\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tfrmDom.bootstrap.setupBootstrapDropdowns( convertOldBootstrapDropdownsToBootstrap4 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-toggle', 'dropdown' );\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap4( frmDropdownMenu ) {\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
              • and
                  tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
                    ', '' );\n\t\t\thtml = html.replaceAll( '
                  • ', '
                    ' );\n\t\t\thtml = html.replaceAll( '
                  • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["__","_frmDom","frmDom","div","toggleAddonState","clicked","action","_window$ajaxurl","ajaxurl","window","frm_js","ajax_url","jQuery","remove","button","plugin","attr","el","parent","message","find","addClass","ajax","url","type","async","cache","dataType","data","nonce","frmGlobal","success","response","_response$data","_response","saveAndReload","error","extractErrorFromAddOnResponse","addonError","afterAddonInstall","wp","hooks","doAction","removeClass","form","is","html","arguments","length","undefined","frmAdminJs","frm_admin_js","addonStatuses","document","querySelectorAll","forEach","addonStatus","textContent","style","display","css","opacity","oneClick","hide","actionMap","frm_activate_addon","class","active","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","parentElement","classList","add","buttonElement","refreshPage","location","reload","includes","inModal","closest","appendChild","getSaveAndReloadSettingsOptions","padding","on","installAddonWithCreds","append","delay","fadeOut","className","children","saveAndReloadSettingsButton","push","closePopupButton","createElement","addEventListener","saveAndReloadFormBuilder","saveAndReloadSettings","page","getElementById","querySelector","submit","a","setAttribute","submitButton","contains","click","getShowLinkHrefValue","link","showLink","customLink","getAttribute","addOneClick","context","upgradeLabel","container","substr","oneclickMessage","upgradeMessage","oneclick","newMessage","showIt","showMsg","hideIt","JSON","parse","replace","rel","innerHTML","dataset","upsellImage","img","src","alt","upgrade","href","initModal","id","width","$info","dialogArgs","dialogClass","modal","autoOpen","closeOnEscape","resizable","draggable","open","bindClickForDialogClose","close","removeAttribute","optionType","value","dialog","$modal","closeModal","initUpgradeModal","handleUpgradeClick","util","documentOn","event","element","content","target","showExpiredModal","selectedOption","options","selectedIndex","hookName","preventDefault","get","lockIcon","upgradeImageId","oldImage","image","parentNode","insertBefore","level","getRequiredLicenseFromTrigger","requires","FrmFormsConnect","$","messageBox","reset","setElements","app","init","deauthorize","authorize","reauthorize","pluginSlug","input","license","wpmu","checked","msg","afterAuthorize","showMessage","showProgress","showAuthorized","showInlineSuccess","setTimeout","show","from","to","box","successElement","frmAdminBuild","purifyHtml","confirm","replaceWith","frmAdminBuildJS","tag","span","svg","onClickPreventDefault","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","empty","$obj","firstChild","removeChild","confirmClick","e","stopPropagation","confirmLinkClick","loadedFrom","applyFilters","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","continueButton","createTextNode","removeAtts","infoModal","toggleItem","toggle","text","$items","hideShowItem","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","current","uncheckItem","uncheckItemElement","nodeName","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","tooltip","isTop","suffix","bulkActionSelector","confirmBulkDelete","deleteTooltips","removeMore","parseInt","deleteButton","indexOf","last","fadeEle","$fadeEle","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookArgs","b","popCalcFields","cont","inside","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","allowDrop","parents","nextAll","handle","settings","helper","getDraggableHelper","revert","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","hasAttribute","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","each","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","fieldArgs","field_type","has_break","isInRepeater","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","getDeleteActionOption","getDuplicateActionOption","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","lastRowOrderInput","updateLastRowFieldsOrder","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","addedEvent","frmField","frmSection","frmType","frmToggles","fieldsOrder","_typeof","keys","orderInput","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","updateOpts","addFieldOption","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","$thisOption","fieldOptionEnableAllRemoveButtons","_element$closest","_parentEl$querySelect","parentEl","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","imagePreview","media","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","showValueAsLabel","labelName","optObj","optVals","no_label","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","upgradePopup","require","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","populateUpgradeTab","tab","h2","borderBottom","upgradeModal","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","resetFieldsUpdated","returnValue","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","activateAddon","installAddon","addonState","proceed","hostname","username","password","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","setupBootstrapDropdowns","convertOldBootstrapDropdownsToBootstrap4","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable_blocks.js b/js/formidable_blocks.js index b863e0024f..65d4997020 100644 --- a/js/formidable_blocks.js +++ b/js/formidable_blocks.js @@ -1 +1 @@ -(()=>{var e={2532:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6314),o=r.n(n)()(function(e){return e[1]});o.push([e.id,"button.X_GKlxRFRHSOWckGcSPJ {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.X_GKlxRFRHSOWckGcSPJ:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: _3ywaXb1_tykjJGTtxpG 2s linear infinite;\n}",""]),o.locals={"frm-loading":"X_GKlxRFRHSOWckGcSPJ",spin:"_3ywaXb1_tykjJGTtxpG"};const i=o},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r}).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,l){if(l!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,l;n((o={},l=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):o[i]=l,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},B("Go to form","formidable")))),wp.element.createElement(W,{title:B("Options","formidable"),initialOpen:!1},wp.element.createElement(J,{label:B("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(J,{label:B("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(J,{label:B("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:B("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(U,null,wp.element.createElement(u,this.props.attributes))))}}])&&F(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(V);function K(e){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e={2532:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>l});var n=r(1601),o=r.n(n),i=r(6314),a=r.n(i)()(o());a.push([e.id,"button.t3RQZV1ZQbHGYyQUnhIY {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.t3RQZV1ZQbHGYyQUnhIY:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: Ts7haRQUDk0YMfLiQW00 2s linear infinite;\n}",""]);const l=a},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},2694:(e,t,r)=>{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var o=void 0!==r.layer;o&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,a;n((o={},a=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[i]=a,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},V("Go to form","formidable")))),wp.element.createElement(W,{title:V("Options","formidable"),initialOpen:!1},wp.element.createElement(Y,{label:V("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(Y,{label:V("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(Y,{label:V("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:V("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(Q,null,wp.element.createElement(u,this.props.attributes))))}}])&&z(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(B);function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=i,this.prepareElements()},i=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements(function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){e.applyStyleToElements(function(e,i){e.classList.remove("frm-animate"),e.style.transitionDelay=(i+1)*t+"s"})},200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements(function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(e){return e.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0 li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,i){t.addEventListener("click",function(t){return e.onNavClick(t,i)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var i=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),i.classList.add("frm-active"),this.initSlideTrackUnderline(i,t),this.changeSlide(t);var n,r,o=i.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(r=n.clearSettingsBox)||void 0===r||r.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var i=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(i)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var i=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(i,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function d(e,t){for(var i=0;i{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=i,this.prepareElements()},i=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements((function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",(function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){e.applyStyleToElements((function(e,i){e.classList.remove("frm-animate"),e.style.transitionDelay=(i+1)*t+"s"}))}),200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements((function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(e){return e.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0 li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach((function(t,i){t.addEventListener("click",(function(t){return e.onNavClick(t,i)}))})),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var i=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),i.classList.add("frm-active"),this.initSlideTrackUnderline(i,t),this.changeSlide(t);var n,r,o=i.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(r=n.clearSettingsBox)||void 0===r||r.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var i=void 0!==e?e:this.navs.filter((function(e){return e.classList.contains("frm-active")}));this.positionUnderlineIndicator(i)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver((function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)})),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame((function(){var i=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(i,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"}))}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach((function(e){return e.classList.remove("frm-active")}))}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach((function(e){return e.classList.remove("frm-active")}))}}])&&c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function d(e,t){for(var i=0;i{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=r,this.prepareElements()},r=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements(function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){e.applyStyleToElements(function(e,r){e.classList.remove("frm-animate"),e.style.transitionDelay=(r+1)*t+"s"})},200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements(function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(e){return e.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=r,this.prepareElements()},r=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements((function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",(function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){e.applyStyleToElements((function(e,r){e.classList.remove("frm-animate"),e.style.transitionDelay=(r+1)*t+"s"}))}),200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements((function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(e){return e.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0{var t={8616:t=>{t.exports=function(t,e){var n,r,i=0;function o(){var o,a,s=n,c=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(t){return function(t,e){var n,r,a,s,c,u,l,f,p,d=1,h=t.length,v="";for(r=0;r=0),s.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,s.width?parseInt(s.width):0);break;case"e":n=s.precision?parseFloat(n).toExponential(s.precision):parseFloat(n).toExponential();break;case"f":n=s.precision?parseFloat(n).toFixed(s.precision):parseFloat(n);break;case"g":n=s.precision?String(Number(n.toPrecision(s.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=s.precision?n.substring(0,s.precision):n;break;case"t":n=String(!!n),n=s.precision?n.substring(0,s.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=s.precision?n.substring(0,s.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=s.precision?n.substring(0,s.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=n:(!i.number.test(s.type)||f&&!s.sign?p="":(p=f?"+":"-",n=n.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",l=s.width-(p+n).length,c=s.width&&l>0?u.repeat(l):"",v+=s.align?p+n+c:"0"===u?p+c+n:c+p+n)}return v}(function(t){if(s[t])return s[t];for(var e,n=t,r=[],o=0;n;){if(null!==(e=i.text.exec(n)))r.push(e[0]);else if(null!==(e=i.modulo.exec(n)))r.push("%");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){o|=1;var a=[],c=e[2],u=[];if(null===(u=i.key.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(c=c.substring(u[0].length));)if(null!==(u=i.key_access.exec(c)))a.push(u[1]);else{if(null===(u=i.index_access.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}e[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return s[t]=r}(t),arguments)}function a(t,e){return o.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(r=function(){return{sprintf:o,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t,e,r,i,o=n(8616),a=n.n(o);function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function c(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}n(7604),a()(console.error),t={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},e=["(","?"],r={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var u={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var l={contextDelimiter:"",onMissingKey:null};function f(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},l)this.options[n]=void 0!==e&&n in e?e[n]:l[n]}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function d(t){for(var e=1;e=0||t[c]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(m(n)&&y(r))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:r};if(a[n]){var c,u=a[n].handlers;for(c=u.length;c>0&&!(o>=u[c-1].priority);c--);c===u.length?u[c]=s:u.splice(c,0,s),a.__current.forEach(function(t){t.name===n&&t.currentIndex>=c&&t.currentIndex++})}else a[n]={handlers:[s],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},g=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,i){var o=t[e];if(m(r)&&(n||y(i))){if(!o[r])return 0;var a=0;if(n)a=o[r].handlers.length,o[r]={runs:o[r].runs,handlers:[]};else for(var s=o[r].handlers,c=function(t){s[t].namespace===i&&(s.splice(t,1),a++,o.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},u=s.length-1;u>=0;u--)c(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,i),a}}},_=function(t,e){return function(n,r){var i=t[e];return void 0!==r?n in i&&i[n].handlers.some(function(t){return t.namespace===r}):n in i}},x=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=t[e];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,a=arguments.length,s=new Array(a>1?a-1:0),c=1;c1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=d(d(d({},h),r.data[e]),t),r.data[e][""]=d(d({},h[""]),r.data[e][""])},s=function(t,e){a(t,e),o()},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,r){var i=c(r,e,t);return n?(i=n.applyFilters("i18n.gettext_with_context",i,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),i,t,e,r)):i};if(n){var p=function(t){v.test(t)&&o()};n.addAction("hookAdded","core/i18n",p),n.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:s,resetLocaleData:function(t,e){r.data={},r.pluralForms={},s(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var r=c(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:l,_n:function(t,e,r,i){var o=c(i,void 0,t,e,r);return n?(o=n.applyFilters("i18n.ngettext",o,t,e,r,i),n.applyFilters("i18n.ngettext_"+u(i),o,t,e,r,i)):o},_nx:function(t,e,r,i,o){var a=c(o,i,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+u(o),a,t,e,r,i,o)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,i){var o,a,s=e?e+""+t:t,c=!(null===(o=r.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return n&&(c=n.applyFilters("i18n.has_translation",c,t,e,i),c=n.applyFilters("i18n.has_translation_"+u(i),c,t,e,i)),c}}}(0,0,A));F.getLocaleData.bind(F),F.setLocaleData.bind(F),F.resetLocaleData.bind(F),F.subscribe.bind(F);var j=F.__.bind(F);function E(t){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},E(t)}function O(t,e){for(var n=0;n ul").querySelectorAll(":scope > li").forEach(function(t){t.querySelector("h3").addEventListener("mouseover",function(t){e.style.transform="translateY(".concat(t.target.closest("li").offsetTop,"px)"),e.classList.add("frm-animating"),e.classList.remove("frm_hidden"),setTimeout(function(){e.classList.remove("frm-animating")},250)})}),document.querySelectorAll("#frm_style_sidebar .accordion-section h3").forEach(function(t){t.addEventListener("click",function(){e.classList.add("frm_hidden")})})}}},{key:"initStyleClassCopyToClipboard",value:function(t){var e=this;document.querySelector(".frm-copy-text").addEventListener("click",function(n){var r=n.currentTarget.innerText;navigator.clipboard.writeText(r).then(function(){e.success(t)})})}}])&&I(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,i=0;function o(){var o,a,s=n,c=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(t){return function(t,e){var n,r,a,s,c,u,l,f,p,d=1,h=t.length,v="";for(r=0;r=0),s.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,s.width?parseInt(s.width):0);break;case"e":n=s.precision?parseFloat(n).toExponential(s.precision):parseFloat(n).toExponential();break;case"f":n=s.precision?parseFloat(n).toFixed(s.precision):parseFloat(n);break;case"g":n=s.precision?String(Number(n.toPrecision(s.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=s.precision?n.substring(0,s.precision):n;break;case"t":n=String(!!n),n=s.precision?n.substring(0,s.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=s.precision?n.substring(0,s.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=s.precision?n.substring(0,s.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=n:(!i.number.test(s.type)||f&&!s.sign?p="":(p=f?"+":"-",n=n.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",l=s.width-(p+n).length,c=s.width&&l>0?u.repeat(l):"",v+=s.align?p+n+c:"0"===u?p+c+n:c+p+n)}return v}(function(t){if(s[t])return s[t];for(var e,n=t,r=[],o=0;n;){if(null!==(e=i.text.exec(n)))r.push(e[0]);else if(null!==(e=i.modulo.exec(n)))r.push("%");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){o|=1;var a=[],c=e[2],u=[];if(null===(u=i.key.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(c=c.substring(u[0].length));)if(null!==(u=i.key_access.exec(c)))a.push(u[1]);else{if(null===(u=i.index_access.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}e[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return s[t]=r}(t),arguments)}function a(t,e){return o.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(r=function(){return{sprintf:o,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t,e,r,i,o=n(8616),a=n.n(o);function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function c(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}n(7604),a()(console.error),t={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},e=["(","?"],r={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var u={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var l={contextDelimiter:"",onMissingKey:null};function f(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},l)this.options[n]=void 0!==e&&n in e?e[n]:l[n]}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function d(t){for(var e=1;e=0||t[c]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(m(n)&&y(r))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:r};if(a[n]){var c,u=a[n].handlers;for(c=u.length;c>0&&!(o>=u[c-1].priority);c--);c===u.length?u[c]=s:u.splice(c,0,s),a.__current.forEach((function(t){t.name===n&&t.currentIndex>=c&&t.currentIndex++}))}else a[n]={handlers:[s],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},g=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,i){var o=t[e];if(m(r)&&(n||y(i))){if(!o[r])return 0;var a=0;if(n)a=o[r].handlers.length,o[r]={runs:o[r].runs,handlers:[]};else for(var s=o[r].handlers,c=function(t){s[t].namespace===i&&(s.splice(t,1),a++,o.__current.forEach((function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--})))},u=s.length-1;u>=0;u--)c(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,i),a}}},_=function(t,e){return function(n,r){var i=t[e];return void 0!==r?n in i&&i[n].handlers.some((function(t){return t.namespace===r})):n in i}},x=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=t[e];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,a=arguments.length,s=new Array(a>1?a-1:0),c=1;c1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=d(d(d({},h),r.data[e]),t),r.data[e][""]=d(d({},h[""]),r.data[e][""])},s=function(t,e){a(t,e),o()},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,r){var i=c(r,e,t);return n?(i=n.applyFilters("i18n.gettext_with_context",i,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),i,t,e,r)):i};if(n){var p=function(t){v.test(t)&&o()};n.addAction("hookAdded","core/i18n",p),n.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:s,resetLocaleData:function(t,e){r.data={},r.pluralForms={},s(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var r=c(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:l,_n:function(t,e,r,i){var o=c(i,void 0,t,e,r);return n?(o=n.applyFilters("i18n.ngettext",o,t,e,r,i),n.applyFilters("i18n.ngettext_"+u(i),o,t,e,r,i)):o},_nx:function(t,e,r,i,o){var a=c(o,i,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+u(o),a,t,e,r,i,o)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,i){var o,a,s=e?e+""+t:t,c=!(null===(o=r.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return n&&(c=n.applyFilters("i18n.has_translation",c,t,e,i),c=n.applyFilters("i18n.has_translation_"+u(i),c,t,e,i)),c}}}(0,0,A));F.getLocaleData.bind(F),F.setLocaleData.bind(F),F.resetLocaleData.bind(F),F.subscribe.bind(F);var j=F.__.bind(F);function E(t){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},E(t)}function O(t,e){for(var n=0;n ul").querySelectorAll(":scope > li").forEach((function(t){t.querySelector("h3").addEventListener("mouseover",(function(t){e.style.transform="translateY(".concat(t.target.closest("li").offsetTop,"px)"),e.classList.add("frm-animating"),e.classList.remove("frm_hidden"),setTimeout((function(){e.classList.remove("frm-animating")}),250)}))})),document.querySelectorAll("#frm_style_sidebar .accordion-section h3").forEach((function(t){t.addEventListener("click",(function(){e.classList.add("frm_hidden")}))}))}}},{key:"initStyleClassCopyToClipboard",value:function(t){var e=this;document.querySelector(".frm-copy-text").addEventListener("click",(function(n){var r=n.currentTarget.innerText;navigator.clipboard.writeText(r).then((function(){e.success(t)}))}))}}])&&I(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}())})()})(); \ No newline at end of file diff --git a/js/frm_testing_mode.js b/js/frm_testing_mode.js index 9f2ffe9517..a92b0ed988 100644 --- a/js/frm_testing_mode.js +++ b/js/frm_testing_mode.js @@ -1,2 +1,2 @@ /*! For license information please see frm_testing_mode.js.LICENSE.txt */ -(()=>{var t={65:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(8793),o=r(1323);function i(t){var e=(0,n.A)(t);return function(t){return(0,o.A)(e,t)}}},1323:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};function o(t,e){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(e,{A:()=>o});var n=r(65);function o(t){var e=(0,n.A)(t);return function(t){return+e({n:t})}}},8793:(t,e,r)=>{"use strict";var n,o,i,a;function s(t){for(var e,r,s,l,c=[],u=[];e=t.match(a);){for(r=e[0],(s=t.substr(0,e.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=t[e];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach(function(t){t.name===r&&t.currentIndex>=u&&t.currentIndex++})}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(){var r,n,o=t[e];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7395);const o=function(t,e){return function(r){var o=t[e];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r){var n=t[e];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some(function(t){return t.namespace===n}):r in o}}},7765:(t,e,r)=>{"use strict";r.d(e,{A:()=>f});var n=r(3029),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function t(){(0,n.A)(this,t),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=t[e];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(t){c[t].namespace===a&&(c.splice(t,1),l++,s.__current.forEach(function(e){e.name===i&&e.currentIndex>=t&&e.currentIndex--}))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&t.doAction("hookRemoved",i,a),l}}}},6763:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(e,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(t,e,r)=>{"use strict";r.d(e,{h:()=>c});var n=r(4467),o=r(5397);function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function a(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=a(a(a({},s),n.data[e]),t),n.data[e][""]=a(a({},s[""]),n.data[e][""])},d=function(t,e){u(t,e),c()},f=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||u(void 0,t),n.dcnpgettext(t,e,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(t,e,n){var o=f(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,t,e,n)):o};if(t&&d(t,e),r){var v=function(t){l.test(t)&&c()};r.addAction("hookAdded","core/i18n",v),r.addAction("hookRemoved","core/i18n",v)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:d,resetLocaleData:function(t,e){n.data={},n.pluralForms={},d(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var n=f(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+p(e),n,t,e)):n},_x:m,_n:function(t,e,n,o){var i=f(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=f(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,s=e?e+""+t:t,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,t,e,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,t,e,o)),l}}}},5839:(t,e,r)=>{"use strict";r.d(e,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(t,e,r)=>{"use strict";r.d(e,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(t,e,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addonError:()=>l,afterAddonInstall:()=>s,extractErrorFromAddOnResponse:()=>a,toggleAddonState:()=>i});var n=r(9575),o=frmDom.div;function i(t,e){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(t),i=o.attr("rel"),c=o.parent(),u=c.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:e,nonce:frmGlobal.nonce,plugin:i},success:function(t){var r,n,i;"string"!=typeof(t=null!==(r=null===(n=t)||void 0===n?void 0:n.data)&&void 0!==r?r:t)&&"string"==typeof t.message&&(void 0!==t.saveAndReload&&(i=t.saveAndReload),t=t.message);var d=a(t);d?l(d,c,o):(s(t,o,u,c,i,e),wp.hooks.doAction("frm_update_addon_state",t))},error:function(){o.removeClass("frm_loading_button")}})}function a(t){return"string"!=typeof t&&(void 0===t.success||!t.success)&&(t.form&&jQuery(t.form).is("#message")?{message:jQuery(t.form).find("p").html()}:t)}function s(t,e,r,i,a){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",l=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach(function(e){e.textContent=t,e.style.display="block"}),e.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(t){t.style.display="none"}),jQuery("#frm_upgrade_modal h2").hide(),jQuery("#frm_upgrade_modal .frm_lock_icon").addClass("frm_lock_open_icon"),jQuery("#frm_upgrade_modal .frm_lock_icon use").attr("xlink:href","#frm_lock_open_icon");var d={frm_activate_addon:{class:"frm-addon-active",message:l.active},frm_deactivate_addon:{class:"frm-addon-installed",message:l.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:l.not_installed}};d.frm_install_addon=d.frm_activate_addon;var f=r[0];f&&(f.textContent=d[s].message);var p=i[0].parentElement;p.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),p.classList.add(d[s].class),e[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(a)&&u.forEach(function(t){var e=null!==t.closest("#frm_upgrade_modal");t.appendChild(function(t,e){var r,i=[c(t)];return e&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Close","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(a,e))})}function l(t,e,r){t.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(t.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(e.append('

                    '+t.message+"

                    "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function c(t){var e=document.createElement("button");return e.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),e.textContent=(0,n.__)("Save and Reload","formidable"),e.addEventListener("click",function(){var e;"form_builder"===t?((e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()):"settings"===t&&function(){var t=document.getElementById("form_settings_page");if(null!==t){var e=t.querySelector("form.frm_form_settings");null!==e&&(wp.hooks.doAction("frm_reset_fields_updated"),e.submit())}}()}),e}},4260:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addOneClick:()=>o,initModal:()=>i,initUpgradeModal:()=>a});var n=r(9575);function o(t,e,r){var o;if("modal"===e)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==e)return;o=document.getElementById(t.getAttribute("href").substr(1))}var i=o.querySelector(".frm-oneclick"),a=o.querySelector(".frm-upgrade-message"),s=o.querySelector(".frm-upgrade-link"),l=o.querySelector(".frm-oneclick-button"),c=o.querySelector(".frm-addon-status"),u=t.getAttribute("data-oneclick"),d=t.getAttribute("data-message"),f="block",p="block",m="none";null!==i&&void 0!==u&&u&&(null===d&&(p="none"),f="none",m="block",u=JSON.parse(u),l.className=l.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),l.className=l.className+" "+u.class,l.rel=u.url,"frm-activate-addon"===u.class?(i.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),l.textContent=(0,n.__)("Activate","formidable")):(i.textContent=(0,n.__)("That add-on is not installed. Would you like to install it now?","formidable"),l.textContent=(0,n.__)("Install","formidable"))),d||(d=a.getAttribute("data-default")),void 0!==r&&(d=d.replace('',r)),a.innerHTML=d,t.dataset.upsellImage&&a.appendChild(frmDom.img({src:t.dataset.upsellImage,alt:t.dataset.upgrade})),s.href=function(t,e){var r=t.getAttribute("data-link");return null!=r&&""!==r||(r=e.getAttribute("data-default")),r}(t,s),c.style.display="none",i.style.display=m,l.style.display="block"===m?"inline-block":m,a.style.display=p,s.style.display="block"===f?"inline-block":f}function i(t,e){var r=jQuery(t);if(!r.length)return!1;void 0===e&&(e="550px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:e,resizable:!1,draggable:!1,open:function(){var t,e;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),t=r,e=function(){t.dialog("close")},jQuery(".ui-widget-overlay").on("click",e),t.on("click","a.dismiss",e)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var t=document.getElementById("bulk-option-type");t&&(t.value="")}};return r.dialog(n),r}function a(){var t=i("#frm_upgrade_modal");function e(e){var r,n,i;if((r=e.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===e.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){e.preventDefault();var u=t.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&(d&&(d.style.display="none"),d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(t){return t.dataset.requires?t.dataset.requires:"Pro"}(r)),o(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image?"none":"inline-block",u.querySelector(".frm_feature_label").textContent=c,u.querySelector("h2").style.display="block",t.dialog("open");var v=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=v.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),v.setAttribute("href",n)}}}}!1!==t&&(document.addEventListener("click",e),frmDom.util.documentOn("change","select.frm_select_with_upgrade",e))}},8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,s,l,c,u,d,f,p=1,m=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?v+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",v+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return v}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()},5397:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},o)this.options[r]=void 0!==e&&r in e?e[r]:o[r]}i.prototype.getPluralForm=function(t,e){var r,o,i,a=this.pluralForms[t];return a||("function"!=typeof(i=(r=this.data[t][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(t){var e,r,n;for(e=t.split(";"),r=0;r{"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,{A:()=>n})},4467:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(9922);function o(t,e,r){return(e=(0,n.A)(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}},2327:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(2284);function o(t,e){if("object"!=(0,n.A)(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}},9922:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(2284),o=r(2327);function i(t){var e=(0,o.A)(t,"string");return"symbol"==(0,n.A)(e)?e:e+""}},2284:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{A:()=>n})}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}function n(){var t,e,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function s(r,n,i,a){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return o(u,"_invoke",function(r,n,o){var i,a,s,c=0,u=o||[],d=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return i=e,a=0,s=t,f.n=r,l}};function p(r,n){for(a=r,s=n,e=0;!d&&c&&!o&&e3?(o=m===n)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=t):i[0]<=p&&((o=r<2&&pn||n>m)&&(i[4]=r,i[5]=n,f.n=m,a=0))}if(o||r>1)return l;throw d=!0,n}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),a=u,s=m;(e=a<2?t:s)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(c=2,i){if(a||(o="next"),e=i[o]){if(!(e=e.call(i,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,a<2&&(a=0)}else 1===a&&(e=i.return)&&e.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=t}else if((e=(d=f.n<0)?s:r.call(n,f))!==l)break}catch(e){i=t,a=1,s=e}finally{c=1}}return{value:e,done:d}}}(r,i,a),!0),u}var l={};function c(){}function u(){}function d(){}e=Object.getPrototypeOf;var f=[][i]?e(e([][i]())):(o(e={},i,function(){return this}),e),p=d.prototype=c.prototype=Object.create(f);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,o(t,a,"GeneratorFunction")),t.prototype=Object.create(p),t}return u.prototype=d,o(p,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,a,"GeneratorFunction"),o(p),o(p,a,"Generator"),o(p,i,function(){return this}),o(p,"toString",function(){return"[object Generator]"}),(n=function(){return{w:s,m}})()}function o(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}o=function(t,e,r,n){function a(e,r){o(t,e,function(t){return this._invoke(e,r,t)})}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},o(t,e,r,n)}function i(t,e,r,n,o,i,a){try{var s=t[i](a),l=s.value}catch(t){return void r(t)}s.done?e(l):Promise.resolve(l).then(n,o)}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t=r(1105).toggleAddonState;function e(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",function(e){e.preventDefault(),t(this,"frm_install_addon")}),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",function(e){e.preventDefault(),t(this,"frm_activate_addon")}),function(){o.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")})}function o(){var t;return t=n().m(function t(){return n().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,Promise.resolve().then(r.bind(r,4260));case 1:t.v.initUpgradeModal();case 2:return t.a(2)}},t)}),o=function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function s(t){i(a,n,o,s,l,"next",t)}function l(t){i(a,n,o,s,l,"throw",t)}s(void 0)})},o.apply(this,arguments)}function a(){var t=window.frmDom;t.bootstrap.setupBootstrapDropdowns(function(){var t=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");t&&(t.classList.add("frm-dropdown-toggle"),t.hasAttribute("role")||t.setAttribute("role","button"),t.hasAttribute("tabindex")||t.setAttribute("tabindex",0))});var e=document.getElementById("frm_testmode_enabled_form_actions");e&&(e.style.display="none",t.bootstrap.multiselect.init.bind(e)(),e.disabled&&e.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e),document.addEventListener("frm_after_start_over",function(){a()}),jQuery(document).on("frmPageChanged frmFormComplete",function(){a()})}()})(); \ No newline at end of file +(()=>{var t={65:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(8793),o=r(1323);function i(t){var e=(0,n.A)(t);return function(t){return(0,o.A)(e,t)}}},1323:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};function o(t,e){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(e,{A:()=>o});var n=r(65);function o(t){var e=(0,n.A)(t);return function(t){return+e({n:t})}}},8793:(t,e,r)=>{"use strict";var n,o,i,a;function s(t){for(var e,r,s,l,c=[],u=[];e=t.match(a);){for(r=e[0],(s=t.substr(0,e.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=t[e];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach((function(t){t.name===r&&t.currentIndex>=u&&t.currentIndex++}))}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(){var r,n,o=t[e];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7395);const o=function(t,e){return function(r){var o=t[e];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r){var n=t[e];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some((function(t){return t.namespace===n})):r in o}}},7765:(t,e,r)=>{"use strict";r.d(e,{A:()=>f});var n=r(2853),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function t(){(0,n.A)(this,t),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=t[e];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(t){c[t].namespace===a&&(c.splice(t,1),l++,s.__current.forEach((function(e){e.name===i&&e.currentIndex>=t&&e.currentIndex--})))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&t.doAction("hookRemoved",i,a),l}}}},6763:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(e,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(t,e,r)=>{"use strict";r.d(e,{h:()=>c});var n=r(7203),o=r(5397);function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=a(a(a({},s),n.data[e]),t),n.data[e][""]=a(a({},s[""]),n.data[e][""])},d=function(t,e){u(t,e),c()},f=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||u(void 0,t),n.dcnpgettext(t,e,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(t,e,n){var o=f(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,t,e,n)):o};if(t&&d(t,e),r){var h=function(t){l.test(t)&&c()};r.addAction("hookAdded","core/i18n",h),r.addAction("hookRemoved","core/i18n",h)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:d,resetLocaleData:function(t,e){n.data={},n.pluralForms={},d(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var n=f(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+p(e),n,t,e)):n},_x:m,_n:function(t,e,n,o){var i=f(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=f(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,s=e?e+""+t:t,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,t,e,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,t,e,o)),l}}}},5839:(t,e,r)=>{"use strict";r.d(e,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(t,e,r)=>{"use strict";r.d(e,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(t,e,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addonError:()=>l,afterAddonInstall:()=>s,extractErrorFromAddOnResponse:()=>a,toggleAddonState:()=>i});var n=r(9575),o=frmDom.div;function i(t,e){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(t),i=o.attr("rel"),c=o.parent(),u=c.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:e,nonce:frmGlobal.nonce,plugin:i},success:function(t){var r,n,i;"string"!=typeof(t=null!==(r=null===(n=t)||void 0===n?void 0:n.data)&&void 0!==r?r:t)&&"string"==typeof t.message&&(void 0!==t.saveAndReload&&(i=t.saveAndReload),t=t.message);var d=a(t);d?l(d,c,o):(s(t,o,u,c,i,e),wp.hooks.doAction("frm_update_addon_state",t))},error:function(){o.removeClass("frm_loading_button")}})}function a(t){return"string"!=typeof t&&(void 0===t.success||!t.success)&&(t.form&&jQuery(t.form).is("#message")?{message:jQuery(t.form).find("p").html()}:t)}function s(t,e,r,i,a){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",l=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach((function(e){e.textContent=t,e.style.display="block"})),e.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(t){t.style.display="none"})),jQuery("#frm_upgrade_modal h2").hide(),jQuery("#frm_upgrade_modal .frm_lock_icon").addClass("frm_lock_open_icon"),jQuery("#frm_upgrade_modal .frm_lock_icon use").attr("xlink:href","#frm_lock_open_icon");var d={frm_activate_addon:{class:"frm-addon-active",message:l.active},frm_deactivate_addon:{class:"frm-addon-installed",message:l.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:l.not_installed}};d.frm_install_addon=d.frm_activate_addon;var f=r[0];f&&(f.textContent=d[s].message);var p=i[0].parentElement;p.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),p.classList.add(d[s].class),e[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(a)&&u.forEach((function(t){var e=null!==t.closest("#frm_upgrade_modal");t.appendChild(function(t,e){var r,i=[c(t)];return e&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Close","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(a,e))}))}function l(t,e,r){t.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(t.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(e.append('

                    '+t.message+"

                    "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function c(t){var e=document.createElement("button");return e.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),e.textContent=(0,n.__)("Save and Reload","formidable"),e.addEventListener("click",(function(){var e;"form_builder"===t?((e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()):"settings"===t&&function(){var t=document.getElementById("form_settings_page");if(null!==t){var e=t.querySelector("form.frm_form_settings");null!==e&&(wp.hooks.doAction("frm_reset_fields_updated"),e.submit())}}()})),e}},4260:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addOneClick:()=>o,initModal:()=>i,initUpgradeModal:()=>a});var n=r(9575);function o(t,e,r){var o;if("modal"===e)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==e)return;o=document.getElementById(t.getAttribute("href").substr(1))}var i=o.querySelector(".frm-oneclick"),a=o.querySelector(".frm-upgrade-message"),s=o.querySelector(".frm-upgrade-link"),l=o.querySelector(".frm-oneclick-button"),c=o.querySelector(".frm-addon-status"),u=t.getAttribute("data-oneclick"),d=t.getAttribute("data-message"),f="block",p="block",m="none";null!==i&&void 0!==u&&u&&(null===d&&(p="none"),f="none",m="block",u=JSON.parse(u),l.className=l.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),l.className=l.className+" "+u.class,l.rel=u.url,"frm-activate-addon"===u.class?(i.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),l.textContent=(0,n.__)("Activate","formidable")):(i.textContent=(0,n.__)("That add-on is not installed. Would you like to install it now?","formidable"),l.textContent=(0,n.__)("Install","formidable"))),d||(d=a.getAttribute("data-default")),void 0!==r&&(d=d.replace('',r)),a.innerHTML=d,t.dataset.upsellImage&&a.appendChild(frmDom.img({src:t.dataset.upsellImage,alt:t.dataset.upgrade})),s.href=function(t,e){var r=t.getAttribute("data-link");return null!=r&&""!==r||(r=e.getAttribute("data-default")),r}(t,s),c.style.display="none",i.style.display=m,l.style.display="block"===m?"inline-block":m,a.style.display=p,s.style.display="block"===f?"inline-block":f}function i(t,e){var r=jQuery(t);if(!r.length)return!1;void 0===e&&(e="550px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:e,resizable:!1,draggable:!1,open:function(){var t,e;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),t=r,e=function(){t.dialog("close")},jQuery(".ui-widget-overlay").on("click",e),t.on("click","a.dismiss",e)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var t=document.getElementById("bulk-option-type");t&&(t.value="")}};return r.dialog(n),r}function a(){var t=i("#frm_upgrade_modal");function e(e){var r,n,i;if((r=e.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===e.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){e.preventDefault();var u=t.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&(d&&(d.style.display="none"),d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(t){return t.dataset.requires?t.dataset.requires:"Pro"}(r)),o(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image?"none":"inline-block",u.querySelector(".frm_feature_label").textContent=c,u.querySelector("h2").style.display="block",t.dialog("open");var h=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=h.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),h.setAttribute("href",n)}}}}!1!==t&&(document.addEventListener("click",e),frmDom.util.documentOn("change","select.frm_select_with_upgrade",e))}},8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,s,l,c,u,d,f,p=1,m=t.length,h="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?h+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",h+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return h}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()},5397:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},o)this.options[r]=void 0!==e&&r in e?e[r]:o[r]}i.prototype.getPluralForm=function(t,e){var r,o,i,a=this.pluralForms[t];return a||("function"!=typeof(i=(r=this.data[t][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(t){var e,r,n;for(e=t.split(";"),r=0;r{"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,{A:()=>n})},7203:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7730);function o(t,e,r){return(e=(0,n.A)(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}},1127:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(2716);function o(t,e){if("object"!=(0,n.A)(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}},7730:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(2716),o=r(1127);function i(t){var e=(0,o.A)(t,"string");return"symbol"==(0,n.A)(e)?e:e+""}},2716:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{A:()=>n})}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(){"use strict";o=function(){return e};var t,e={},r=Object.prototype,i=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},s="function"==typeof Symbol?Symbol:{},l=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function d(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var o=e&&e.prototype instanceof _?e:_,i=Object.create(o.prototype),s=new P(n||[]);return a(i,"_invoke",{value:L(t,r,s)}),i}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var m="suspendedStart",h="suspendedYield",v="executing",y="completed",g={};function _(){}function b(){}function w(){}var x={};d(x,l,(function(){return this}));var A=Object.getPrototypeOf,k=A&&A(A(I([])));k&&k!==r&&i.call(k,l)&&(x=k);var j=w.prototype=_.prototype=Object.create(x);function S(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(o,a,s,l){var c=p(t[o],t,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==n(d)&&i.call(d,"__await")?e.resolve(d.__await).then((function(t){r("next",t,s,l)}),(function(t){r("throw",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return r("throw",t,s,l)}))}l(c.arg)}var o;a(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}})}function L(e,r,n){var o=m;return function(i,a){if(o===v)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var l=O(s,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===m)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var c=p(e,r,n);if("normal"===c.type){if(o=n.done?y:h,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=y,n.method="throw",n.arg=c.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=p(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,g):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function F(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(F,this),this.reset(!0)}function I(e){if(e||""===e){var r=e[l];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var l=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(l&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),C(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:I(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function i(t,e,r,n,o,i,a){try{var s=t[i](a),l=s.value}catch(t){return void r(t)}s.done?e(l):Promise.resolve(l).then(n,o)}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t=r(1105).toggleAddonState;function e(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",(function(e){e.preventDefault(),t(this,"frm_install_addon")})),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",(function(e){e.preventDefault(),t(this,"frm_activate_addon")})),function(){n.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",(function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")}))}function n(){var t;return t=o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.resolve().then(r.bind(r,4260));case 2:t.sent.initUpgradeModal();case 4:case"end":return t.stop()}}),t)})),n=function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function s(t){i(a,n,o,s,l,"next",t)}function l(t){i(a,n,o,s,l,"throw",t)}s(void 0)}))},n.apply(this,arguments)}function a(){var t=window.frmDom;t.bootstrap.setupBootstrapDropdowns((function(){var t=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");t&&(t.classList.add("frm-dropdown-toggle"),t.hasAttribute("role")||t.setAttribute("role","button"),t.hasAttribute("tabindex")||t.setAttribute("tabindex",0))}));var e=document.getElementById("frm_testmode_enabled_form_actions");e&&(e.style.display="none",t.bootstrap.multiselect.init.bind(e)(),e.disabled&&e.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e),document.addEventListener("frm_after_start_over",(function(){a()})),jQuery(document).on("frmPageChanged frmFormComplete",(function(){a()}))}()})(); \ No newline at end of file diff --git a/js/onboarding-wizard.js b/js/onboarding-wizard.js index 1f42a71f67..cf9235f4d6 100644 --- a/js/onboarding-wizard.js +++ b/js/onboarding-wizard.js @@ -1,2 +1,2 @@ /*! For license information please see onboarding-wizard.js.LICENSE.txt */ -(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},n=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):00&&void 0!==arguments[0]?arguments[0]:{};if("object"!==_(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==_(t)||null===t)throw new Error("setState: newState must be a non-null object");e=T(T({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({processedSteps:[],installedAddons:[]}),I=A.getState,D=(A.getSingleState,A.setState,A.setSingleState),C=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==j(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==j(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=g(g({},e),t)}}}({onboardingWizardPage:document.getElementById("".concat(E,"-wizard-page")),container:document.getElementById("".concat(E,"-container")),rootline:document.getElementById("".concat(E,"-rootline")),steps:document.querySelectorAll(".".concat(E,"-step")),skipStepButtons:document.querySelectorAll(".".concat(E,"-skip-step")),backButtons:document.querySelectorAll(".".concat(E,"-back-button")),consentTrackingButton:document.getElementById("".concat(E,"-consent-tracking")),installAddonsButton:document.getElementById("".concat(E,"-install-addons-button")),hiddenLicenseKeyInput:document.getElementById("frm-license-key")}),N=C.getElements;C.addElements;var U=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"pushState",o=document.querySelector(".".concat(E,'-step[data-step-name="').concat(t,'"]'));if(o){var i=document.querySelector(".".concat(E,"-step.").concat(S));i&&(i.classList.remove(S),null==(e=i)||e.classList.add(b)),o.classList.add(S),function(t){null==t||t.classList.remove(b)}(o),new r(o).fadeIn(),N().onboardingWizardPage.setAttribute("data-current-step",t),function(t,e){var n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"pushState";if(p.set(t,e),f.search=p.toString(),["pushState","replaceState"].includes(i)){var a=(n={},o=e,(r=function(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}(r=t))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n);window.history[i](a,"",f)}f.toString()}("step",t,n),function(t){t===P.UNSUCCESSFUL&&(t=P.SUCCESS);var e=N().rootline,n=e.querySelector('.frm-rootline-item[data-step="'.concat(t,'"]'));e.querySelectorAll(".frm-rootline-item").forEach(function(t){t.classList.remove(B),t.classList.remove(S)});var r=n.previousElementSibling;if(r)for(;r;)r.classList.add(B),r=r.previousElementSibling;t===P.SUCCESS?n.classList.add(B):n.classList.add(S)}(t)}},x=function(){var t=document.querySelector(".".concat(E,"-step.").concat(S)),e=null==t?void 0:t.nextElementSibling;if(e){var n=t.dataset.stepName,r=e.dataset.stepName,o=I().processedSteps;o.includes(n)||(o.push(n),D("processedSteps",o)),function(t,e){var n=function(t,e){var n;if(P.SUCCESS===e||P.UNSUCCESSFUL===e){var r=I().processedSteps;r.length>1&&(r.includes(e)||r.push(e),(n=new FormData).append("processed_steps",r.join(",")),n.append("completed_steps",!0))}if(P.INSTALL_ADDONS===t){var o=I().installedAddons;o.length>0&&(n=null!=n?n:new FormData).append("installed_addons",o.join(","))}return n}(t,e);n&&(0,frmDom.ajax.doJsonPost)("onboarding_setup_usage_data",n)}(n,r),U(r)}};var B="frm-completed-step",F=".frm-option-box";function G(t){"input"===t.target.tagName.toLowerCase()&&t.currentTarget.closest(F).classList.toggle("frm-checked")}var q=function(){x()};var z=function(){var t,e;(e=null==(t=document.querySelector(".".concat(E,"-step.").concat(S)))?void 0:t.previousElementSibling)&&U(e.dataset.stepName)};function R(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return J(l,"_invoke",function(n,r,o){var i,c,u,l=0,s=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,n){return i=e,c=0,u=t,p.n=n,a}};function d(n,r){for(c=n,u=r,e=0;!f&&l&&!o&&e3?(o=y===r)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=n<2&&dr||r>y)&&(i[4]=n,i[5]=r,p.n=y,c=0))}if(o||n>1)return a;throw f=!0,r}return function(o,s,y){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,y),c=s,u=y;(e=c<2?t:u)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?u:n.call(r,p))!==a)break}catch(e){i=t,c=1,u=e}finally{l=1}}return{value:e,done:f}}}(n,o,i),!0),l}var a={};function c(){}function u(){}function l(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(J(e={},r,function(){return this}),e),f=l.prototype=c.prototype=Object.create(s);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,J(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,J(f,"constructor",l),J(l,"constructor",u),u.displayName="GeneratorFunction",J(l,o,"GeneratorFunction"),J(f),J(f,o,"Generator"),J(f,r,function(){return this}),J(f,"toString",function(){return"[object Generator]"}),(R=function(){return{w:i,m:p}})()}function J(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}J=function(t,e,n,r){function i(e,n){J(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(i("next",0),i("throw",1),i("return",2))},J(t,e,n,r)}function M(t,e,n,r,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,o)}var W=function(){var t,e=(t=R().m(function t(){return R().w(function(t){for(;;)switch(t.n){case 0:(0,frmDom.ajax.doJsonPost)("onboarding_consent_tracking",new FormData).then(x);case 1:return t.a(2)}},t)}),function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function a(t){M(i,r,o,a,c,"next",t)}function c(t){M(i,r,o,a,c,"throw",t)}a(void 0)})});return function(){return e.apply(this,arguments)}}();function K(t){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},K(t)}function V(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}throw new TypeError(K(t)+" is not iterable")}function $(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return H(l,"_invoke",function(n,r,o){var i,c,u,l=0,s=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,n){return i=e,c=0,u=t,p.n=n,a}};function d(n,r){for(c=n,u=r,e=0;!f&&l&&!o&&e3?(o=y===r)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=n<2&&dr||r>y)&&(i[4]=n,i[5]=r,p.n=y,c=0))}if(o||n>1)return a;throw f=!0,r}return function(o,s,y){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,y),c=s,u=y;(e=c<2?t:u)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?u:n.call(r,p))!==a)break}catch(e){i=t,c=1,u=e}finally{l=1}}return{value:e,done:f}}}(n,o,i),!0),l}var a={};function c(){}function u(){}function l(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(H(e={},r,function(){return this}),e),f=l.prototype=c.prototype=Object.create(s);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,H(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,H(f,"constructor",l),H(l,"constructor",u),u.displayName="GeneratorFunction",H(l,o,"GeneratorFunction"),H(f),H(f,o,"Generator"),H(f,r,function(){return this}),H(f,"toString",function(){return"[object Generator]"}),($=function(){return{w:i,m:p}})()}function H(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}H=function(t,e,n,r){function i(e,n){H(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(i("next",0),i("throw",1),i("return",2))},H(t,e,n,r)}function Q(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return X(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw i}}}}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=r,this.prepareElements()},r=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements((function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",(function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){t.applyStyleToElements((function(t,r){t.classList.remove("frm-animate"),t.style.transitionDelay=(r+1)*e+"s"}))}),200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements((function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(t){return t.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):00&&void 0!==arguments[0]?arguments[0]:{};if("object"!==_(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var r=Reflect.get(e,t);return void 0===r?null:r},setState:function(t){if("object"!==_(t)||null===t)throw new Error("setState: newState must be a non-null object");e=x(x({},e),t)},setSingleState:function(t,r){Reflect.has(e,t)&&Reflect.set(e,t,r)}}}({processedSteps:[],installedAddons:[]}),T=k.getState,A=(k.getSingleState,k.setState,k.setSingleState),I=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==S(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==S(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=b(b({},e),t)}}}({onboardingWizardPage:document.getElementById("".concat(L,"-wizard-page")),container:document.getElementById("".concat(L,"-container")),rootline:document.getElementById("".concat(L,"-rootline")),steps:document.querySelectorAll(".".concat(L,"-step")),skipStepButtons:document.querySelectorAll(".".concat(L,"-skip-step")),backButtons:document.querySelectorAll(".".concat(L,"-back-button")),consentTrackingButton:document.getElementById("".concat(L,"-consent-tracking")),installAddonsButton:document.getElementById("".concat(L,"-install-addons-button")),hiddenLicenseKeyInput:document.getElementById("frm-license-key")}),N=I.getElements;I.addElements;var D=function(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"pushState",o=document.querySelector(".".concat(L,'-step[data-step-name="').concat(t,'"]'));if(o){var i=document.querySelector(".".concat(L,"-step.").concat(m));i&&(i.classList.remove(m),null==(e=i)||e.classList.add(v)),o.classList.add(m),function(t){null==t||t.classList.remove(v)}(o),new n(o).fadeIn(),N().onboardingWizardPage.setAttribute("data-current-step",t),function(t,e){var r,n,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"pushState";if(f.set(t,e),l.search=f.toString(),["pushState","replaceState"].includes(i)){var a=(r={},o=e,(n=function(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}(n=t))in r?Object.defineProperty(r,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[n]=o,r);window.history[i](a,"",l)}l.toString()}("step",t,r),function(t){t===j.UNSUCCESSFUL&&(t=j.SUCCESS);var e=N().rootline,r=e.querySelector('.frm-rootline-item[data-step="'.concat(t,'"]'));e.querySelectorAll(".frm-rootline-item").forEach((function(t){t.classList.remove(F),t.classList.remove(m)}));var n=r.previousElementSibling;if(n)for(;n;)n.classList.add(F),n=n.previousElementSibling;t===j.SUCCESS?r.classList.add(F):r.classList.add(m)}(t)}},C=function(){var t=document.querySelector(".".concat(L,"-step.").concat(m)),e=null==t?void 0:t.nextElementSibling;if(e){var r=t.dataset.stepName,n=e.dataset.stepName,o=T().processedSteps;o.includes(r)||(o.push(r),A("processedSteps",o)),function(t,e){var r=function(t,e){var r;if(j.SUCCESS===e||j.UNSUCCESSFUL===e){var n=T().processedSteps;n.length>1&&(n.includes(e)||n.push(e),(r=new FormData).append("processed_steps",n.join(",")),r.append("completed_steps",!0))}if(j.INSTALL_ADDONS===t){var o,i=T().installedAddons;i.length>0&&(r=null!==(o=r)&&void 0!==o?o:new FormData).append("installed_addons",i.join(","))}return r}(t,e);r&&(0,frmDom.ajax.doJsonPost)("onboarding_setup_usage_data",r)}(r,n),D(n)}};var F="frm-completed-step",U=".frm-option-box";function G(t){"input"===t.target.tagName.toLowerCase()&&t.currentTarget.closest(U).classList.toggle("frm-checked")}var B=function(){C()};var q=function(){var t,e;(e=null==(t=document.querySelector(".".concat(L,"-step.").concat(m)))?void 0:t.previousElementSibling)&&D(e.dataset.stepName)};function Y(t){return Y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Y(t)}function z(){z=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,a=Object.create(i.prototype),c=new T(n||[]);return o(a,"_invoke",{value:x(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var p="suspendedStart",h="suspendedYield",y="executing",d="completed",v={};function m(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var S=Object.getPrototypeOf,E=S&&S(S(A([])));E&&E!==r&&n.call(E,a)&&(w=E);var L=b.prototype=m.prototype=Object.create(w);function j(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==Y(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function x(e,r,n){var o=p;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=P(c,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?d:h,s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function P(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function R(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var J=function(){var t,e=(t=z().mark((function t(){return z().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:(0,frmDom.ajax.doJsonPost)("onboarding_consent_tracking",new FormData).then(C);case 2:case"end":return t.stop()}}),t)})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){R(i,n,o,a,c,"next",t)}function c(t){R(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(){return e.apply(this,arguments)}}();function M(t){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(t)}function W(){W=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,a=Object.create(i.prototype),c=new T(n||[]);return o(a,"_invoke",{value:x(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var p="suspendedStart",h="suspendedYield",y="executing",d="completed",v={};function m(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var S=Object.getPrototypeOf,E=S&&S(S(A([])));E&&E!==r&&n.call(E,a)&&(w=E);var L=b.prototype=m.prototype=Object.create(w);function j(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==M(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function x(e,r,n){var o=p;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=P(c,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?d:h,s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function P(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function K(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return V(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?V(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function V(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r{var t={8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,c=r,s=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,c,s,u,l,f,p,d=1,h=t.length,m="";for(n=0;n=0),c.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c.width?parseInt(c.width):0);break;case"e":r=c.precision?parseFloat(r).toExponential(c.precision):parseFloat(r).toExponential();break;case"f":r=c.precision?parseFloat(r).toFixed(c.precision):parseFloat(r);break;case"g":r=c.precision?String(Number(r.toPrecision(c.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=c.precision?r.substring(0,c.precision):r;break;case"t":r=String(!!r),r=c.precision?r.substring(0,c.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=c.precision?r.substring(0,c.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=c.precision?r.substring(0,c.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=r:(!o.number.test(c.type)||f&&!c.sign?p="":(p=f?"+":"-",r=r.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",l=c.width-(p+r).length,s=c.width&&l>0?u.repeat(l):"",m+=c.align?p+r+s:"0"===u?p+s+r:s+p+r)}return m}(function(t){if(c[t])return c[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],s=e[2],u=[];if(null===(u=o.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(s=s.substring(u[0].length));)if(null!==(u=o.key_access.exec(s)))a.push(u[1]);else{if(null===(u=o.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return c[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";function t(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function e(e){for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==o(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var r=t;return{getElements:function(){return r},addElements:function(t){if("object"!==o(t)||null===t)throw new Error("addElements: newElements must be a non-null object");r=e(e({},r),t)}}}(i),p=f.getElements,d=f.addElements,h=r(8616),m=r.n(h);function v(t){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},v(t)}function y(t){var e=function(t){if("object"!=v(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=v(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==v(e)?e:e+""}r(7604),m()(console.error),c={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},s=["(","?"],u={")":["("],":":["?","?:"]},l=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var b={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};var g={contextDelimiter:"",onMissingKey:null};function _(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},g)this.options[r]=void 0!==e&&r in e?e[r]:g[r]}function w(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||c[o]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(j(r)&&S(n))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:n};if(a[r]){var s,u=a[r].handlers;for(s=u.length;s>0&&!(i>=u[s-1].priority);s--);s===u.length?u[s]=c:u.splice(s,0,c),a.__current.forEach(function(t){t.name===r&&t.currentIndex>=s&&t.currentIndex++})}else a[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,n,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},P=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,o){var i=t[e];if(j(n)&&(r||S(o))){if(!i[n])return 0;var a=0;if(r)a=i[n].handlers.length,i[n]={runs:i[n].runs,handlers:[]};else for(var c=i[n].handlers,s=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach(function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--}))},u=c.length-1;u>=0;u--)s(u);return"hookRemoved"!==n&&t.doAction("hookRemoved",n,o),a}}},F=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some(function(t){return t.namespace===n}):r in o}},T=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,c=new Array(a>1?a-1:0),s=1;s1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=x(x(x({},k),n.data[e]),t),n.data[e][""]=x(x({},k[""]),n.data[e][""])},c=function(t,e){a(t,e),i()},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||a(void 0,t),n.dcnpgettext(t,e,r,o,i)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,n){var o=s(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+u(n),o,t,e,n)):o};if(r){var f=function(t){O.test(t)&&i()};r.addAction("hookAdded","core/i18n",f),r.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:c,resetLocaleData:function(t,e){n.data={},n.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var n=s(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+u(e),n,t,e)):n},_x:l,_n:function(t,e,n,o){var i=s(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+u(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=s(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+u(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,s=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return r&&(s=r.applyFilters("i18n.has_translation",s,t,e,o),s=r.applyFilters("i18n.has_translation_"+u(o),s,t,e,o)),s}}}(0,0,C));R.getLocaleData.bind(R),R.setLocaleData.bind(R),R.resetLocaleData.bind(R),R.subscribe.bind(R);var G=R.__.bind(R),N=(R._x.bind(R),R._n.bind(R),R._nx.bind(R),R.isRTL.bind(R),R.hasTranslation.bind(R),Promise.resolve(),frmDom),B=N.div,M=(N.span,N.tag),q=N.a,z=(N.img,N.svg,frmDom.modal),U=z.maybeCreateModal,$=(z.footerButton,frmDom.util),K=$.onClickPreventDefault,Z=($.documentOn,frmDom.ajax.doJsonPost),H=new URL(window.location.href).searchParams,X=window.frmGlobal,J=(X.url,X.nonce,window.frmWelcomeTourVars),W=J.IS_DASHBOARD_PAGE,V=J.IS_WELCOME_TOUR_SEEN,Y=(J.CHECKLIST_STEPS,J.TOUR_URL),Q=J.PROGRESS_BAR_PERCENT;const tt=function(){var t,e;W&&!V&&function(t){p().beginTourModal||d({beginTourModal:t})}(((t=U("frm_get_started_modal",{title:G("Get Started with Formidable Forms","formidable"),content:(e={className:"frm-px-md",text:G("Here's a quick checklist to help you set up and explore the key features of the plugin, so you can start building powerful forms in no time.","formidable")},M("p",e)),footer:B({className:"frmcenter",child:q({className:"button button-primary frm-button-primary",href:Y,text:G("Begin Tour","formidable")})}),width:"440px",dialogClass:"frm-fadein-up-back"})).classList.add("frm_wrap","frm-welcome-tour-modal","frmcenter"),t))};function et(t,e){if(e.offsetParent){var r=e.getBoundingClientRect();if(0!==r.width&&0!==r.height){var n,o=t.dataset.leftPosition;switch(o){case"middle":n=r.left+Math.round(r.width/2);break;case"end":n=r.right;break;default:n=r.left+parseInt(o)}t.style.left="".concat(n||r.left,"px");var i="bottom"===t.dataset.placement?r.top+r.height:r.top+Math.round(r.height/2);t.style.top="".concat(i,"px")}}}function rt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return nt(u,"_invoke",function(r,n,o){var i,c,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,c=0,s=t,p.n=r,a}};function d(r,n){for(c=r,s=n,e=0;!f&&u&&!o&&e3?(o=h===n)&&(s=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>h)&&(i[4]=r,i[5]=n,p.n=h,c=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,h){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,h),c=l,s=h;(e=c<2?t:s)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,s)):p.n=s:p.v=s);try{if(u=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?s:r.call(n,p))!==a)break}catch(e){i=t,c=1,s=e}finally{u=1}}return{value:e,done:f}}}(r,o,i),!0),u}var a={};function c(){}function s(){}function u(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(nt(e={},n,function(){return this}),e),f=u.prototype=c.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,nt(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return s.prototype=u,nt(f,"constructor",u),nt(u,"constructor",s),s.displayName="GeneratorFunction",nt(u,o,"GeneratorFunction"),nt(f),nt(f,o,"Generator"),nt(f,n,function(){return this}),nt(f,"toString",function(){return"[object Generator]"}),(rt=function(){return{w:i,m:p}})()}function nt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}nt=function(t,e,r,n){function i(e,r){nt(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},nt(t,e,r,n)}function ot(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}var it="frm-checklist__step";function at(t){return ct.apply(this,arguments)}function ct(){var t;return t=rt().m(function t(e){var r,n,o,i;return rt().w(function(t){for(;;)switch(t.p=t.n){case 0:if(p().checklist){t.n=1;break}return t.a(2);case 1:if(r=document.getElementById("".concat(it,"-").concat(e))){t.n=2;break}return t.a(2);case 2:if(r.classList.contains("".concat(it,"--active"))){t.n=3;break}return t.a(2);case 3:return(n=new FormData).append("step_key",e),t.p=4,t.n=5,Z("mark_checklist_step_as_completed",n);case 5:if(r.classList.remove("".concat(it,"--active")),r.classList.add("".concat(it,"--completed")),o=r.nextElementSibling){t.n=6;break}return t.a(2);case 6:o.classList.add("".concat(it,"--active")),o.dataset.link&&st(o),t.n=8;break;case 7:t.p=7,i=t.v,console.error("Failed to mark step as completed:",i);case 8:return t.a(2)}},t,null,[[4,7]])}),ct=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){ot(i,n,o,a,c,"next",t)}function c(t){ot(i,n,o,a,c,"throw",t)}a(void 0)})},ct.apply(this,arguments)}function st(t){var e=t.querySelector(".frm-checklist__step-title");if(null==e||!e.querySelector("a")){var r=q({href:t.dataset.link,className:"frm-h-stack-xs",children:Array.from(e.childNodes)});e.replaceChildren(r)}}function ut(){var t=p(),e=t.welcomeTour,r=t.spotlight;null==e||e.remove(),null==r||r.remove(),Z("dismiss_welcome_tour",new FormData)}function lt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return ft(u,"_invoke",function(r,n,o){var i,c,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,c=0,s=t,p.n=r,a}};function d(r,n){for(c=r,s=n,e=0;!f&&u&&!o&&e3?(o=h===n)&&(s=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>h)&&(i[4]=r,i[5]=n,p.n=h,c=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,h){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,h),c=l,s=h;(e=c<2?t:s)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,s)):p.n=s:p.v=s);try{if(u=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?s:r.call(n,p))!==a)break}catch(e){i=t,c=1,s=e}finally{u=1}}return{value:e,done:f}}}(r,o,i),!0),u}var a={};function c(){}function s(){}function u(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(ft(e={},n,function(){return this}),e),f=u.prototype=c.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,ft(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return s.prototype=u,ft(f,"constructor",u),ft(u,"constructor",s),s.displayName="GeneratorFunction",ft(u,o,"GeneratorFunction"),ft(f),ft(f,o,"Generator"),ft(f,n,function(){return this}),ft(f,"toString",function(){return"[object Generator]"}),(lt=function(){return{w:i,m:p}})()}function ft(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}ft=function(t,e,r,n){function i(e,r){ft(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},ft(t,e,r,n)}function pt(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function dt(){return ht.apply(this,arguments)}function ht(){var t;return t=lt().m(function t(){return lt().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,at("style-form");case 1:window.location.reload();case 2:return t.a(2)}},t)}),ht=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){pt(i,n,o,a,c,"next",t)}function c(t){pt(i,n,o,a,c,"throw",t)}a(void 0)})},ht.apply(this,arguments)}var mt;mt=function(){var t,e;tt(),document.querySelectorAll(".frm-spotlight").forEach(function(t){setTimeout(function(){!function(t){var e=document.querySelector(t.dataset.target);e&&(document.body.appendChild(t),function(t){for(var e=[window],r=t.parentElement;r&&document.body!==r;){var n=getComputedStyle(r),o=n.overflow,i=n.overflowY;(["auto","scroll"].includes(o)||["auto","scroll"].includes(i))&&e.push(r),r=r.parentElement}return e}(e).forEach(function(r){r.addEventListener("scroll",function(){et(t,e),function(t){var e=document.getElementById("frm_top_bar");if(e){var r=t.getBoundingClientRect().top+24<=e.getBoundingClientRect().bottom;r&&!t.classList.contains("frm-fadeout")?(t.classList.remove("frm-fadein"),t.classList.add("frm-fadeout")):r||t.classList.contains("frm-fadein")||(t.classList.remove("frm-fadeout"),t.classList.add("frm-fadein"))}}(t)},{passive:!0})}),window.addEventListener("resize",function(){return et(t,e)},{passive:!0}),setTimeout(function(){et(t,e),t.classList.remove("frm-force-hidden")},200))}(t)},0)}),(e=document.querySelector(".frm-welcome-tour .frm-checklist__progress-fill"))&&(e.style.width="".concat(Q,"%")),document.addEventListener("frm_added_field",function(){return at("add-fields")}),function(){var t=p().checklist;t&&t.querySelector(".frm-checklist__header").addEventListener("click",function(){return function(t){t.classList.toggle("frm-checklist--collapsed")}(t)})}(),(t=p().dismiss)&&t.addEventListener("click",ut),"formidable-styles"===H.get("page")&&K(document.getElementById("frm_submit_side_top"),dt)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",mt):mt())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,c=r,u=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,c,u,s,l,f,h,p=1,d=t.length,y="";for(n=0;n=0),c.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c.width?parseInt(c.width):0);break;case"e":r=c.precision?parseFloat(r).toExponential(c.precision):parseFloat(r).toExponential();break;case"f":r=c.precision?parseFloat(r).toFixed(c.precision):parseFloat(r);break;case"g":r=c.precision?String(Number(r.toPrecision(c.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=c.precision?r.substring(0,c.precision):r;break;case"t":r=String(!!r),r=c.precision?r.substring(0,c.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=c.precision?r.substring(0,c.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=c.precision?r.substring(0,c.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?y+=r:(!o.number.test(c.type)||f&&!c.sign?h="":(h=f?"+":"-",r=r.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",l=c.width-(h+r).length,u=c.width&&l>0?s.repeat(l):"",y+=c.align?h+r+u:"0"===s?h+u+r:u+h+r)}return y}(function(t){if(c[t])return c[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],u=e[2],s=[];if(null===(s=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(u=u.substring(s[0].length));)if(null!==(s=o.key_access.exec(u)))a.push(s[1]);else{if(null===(s=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return c[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";function t(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function e(e){for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==o(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var r=t;return{getElements:function(){return r},addElements:function(t){if("object"!==o(t)||null===t)throw new Error("addElements: newElements must be a non-null object");r=e(e({},r),t)}}}(i),h=f.getElements,p=f.addElements,d=r(8616),y=r.n(d);function m(t){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m(t)}function v(t){var e=function(t){if("object"!=m(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=m(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==m(e)?e:e+""}r(7604),y()(console.error),c={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},u=["(","?"],s={")":["("],":":["?","?:"]},l=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var g={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};var b={contextDelimiter:"",onMissingKey:null};function w(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},b)this.options[r]=void 0!==e&&r in e?e[r]:b[r]}function _(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||c[o]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(O(r)&&L(n))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:n};if(a[r]){var u,s=a[r].handlers;for(u=s.length;u>0&&!(i>=s[u-1].priority);u--);u===s.length?s[u]=c:s.splice(u,0,c),a.__current.forEach((function(t){t.name===r&&t.currentIndex>=u&&t.currentIndex++}))}else a[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,n,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},j=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,o){var i=t[e];if(O(n)&&(r||L(o))){if(!i[n])return 0;var a=0;if(r)a=i[n].handlers.length,i[n]={runs:i[n].runs,handlers:[]};else for(var c=i[n].handlers,u=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach((function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--})))},s=c.length-1;s>=0;s--)u(s);return"hookRemoved"!==n&&t.doAction("hookRemoved",n,o),a}}},P=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some((function(t){return t.namespace===n})):r in o}},F=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,c=new Array(a>1?a-1:0),u=1;u1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=x(x(x({},E),n.data[e]),t),n.data[e][""]=x(x({},E[""]),n.data[e][""])},c=function(t,e){a(t,e),i()},u=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||a(void 0,t),n.dcnpgettext(t,e,r,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,n){var o=u(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+s(n),o,t,e,n)):o};if(r){var f=function(t){k.test(t)&&i()};r.addAction("hookAdded","core/i18n",f),r.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:c,resetLocaleData:function(t,e){n.data={},n.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var n=u(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+s(e),n,t,e)):n},_x:l,_n:function(t,e,n,o){var i=u(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+s(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=u(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,u=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return r&&(u=r.applyFilters("i18n.has_translation",u,t,e,o),u=r.applyFilters("i18n.has_translation_"+s(o),u,t,e,o)),u}}}(0,0,D));C.getLocaleData.bind(C),C.setLocaleData.bind(C),C.resetLocaleData.bind(C),C.subscribe.bind(C);var G=C.__.bind(C),R=(C._x.bind(C),C._n.bind(C),C._nx.bind(C),C.isRTL.bind(C),C.hasTranslation.bind(C),Promise.resolve(),frmDom),B=R.div,M=(R.span,R.tag),q=R.a,z=(R.img,R.svg,frmDom.modal),U=z.maybeCreateModal,Y=(z.footerButton,frmDom.util),$=Y.onClickPreventDefault,K=(Y.documentOn,frmDom.ajax.doJsonPost),Z=new URL(window.location.href).searchParams,H=window.frmGlobal,X=(H.url,H.nonce,window.frmWelcomeTourVars),J=X.IS_DASHBOARD_PAGE,W=X.IS_WELCOME_TOUR_SEEN,V=(X.CHECKLIST_STEPS,X.TOUR_URL),Q=X.PROGRESS_BAR_PERCENT;const tt=function(){var t,e;J&&!W&&function(t){h().beginTourModal||p({beginTourModal:t})}(((t=U("frm_get_started_modal",{title:G("Get Started with Formidable Forms","formidable"),content:(e={className:"frm-px-md",text:G("Here's a quick checklist to help you set up and explore the key features of the plugin, so you can start building powerful forms in no time.","formidable")},M("p",e)),footer:B({className:"frmcenter",child:q({className:"button button-primary frm-button-primary",href:V,text:G("Begin Tour","formidable")})}),width:"440px",dialogClass:"frm-fadein-up-back"})).classList.add("frm_wrap","frm-welcome-tour-modal","frmcenter"),t))};function et(t,e){if(e.offsetParent){var r=e.getBoundingClientRect();if(0!==r.width&&0!==r.height){var n,o=t.dataset.leftPosition;switch(o){case"middle":n=r.left+Math.round(r.width/2);break;case"end":n=r.right;break;default:n=r.left+parseInt(o)}t.style.left="".concat(n||r.left,"px");var i="bottom"===t.dataset.placement?r.top+r.height:r.top+Math.round(r.height/2);t.style.top="".concat(i,"px")}}}function rt(t){return rt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rt(t)}function nt(){nt=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof v?e:v,a=Object.create(i.prototype),c=new F(n||[]);return o(a,"_invoke",{value:O(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",d="executing",y="completed",m={};function v(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var _=Object.getPrototypeOf,x=_&&_(_(A([])));x&&x!==r&&n.call(x,a)&&(w=x);var E=b.prototype=v.prototype=Object.create(w);function k(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==rt(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function O(e,r,n){var o=h;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=S(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?y:p,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=y,n.method="throw",n.arg=s.arg)}}}function S(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,S(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function F(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}function ot(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var it="frm-checklist__step";function at(t){return ct.apply(this,arguments)}function ct(){var t;return t=nt().mark((function t(e){var r,n,o;return nt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(h().checklist){t.next=3;break}return t.abrupt("return");case 3:if(r=document.getElementById("".concat(it,"-").concat(e))){t.next=6;break}return t.abrupt("return");case 6:if(r.classList.contains("".concat(it,"--active"))){t.next=8;break}return t.abrupt("return");case 8:return(n=new FormData).append("step_key",e),t.prev=10,t.next=13,K("mark_checklist_step_as_completed",n);case 13:if(r.classList.remove("".concat(it,"--active")),r.classList.add("".concat(it,"--completed")),o=r.nextElementSibling){t.next=18;break}return t.abrupt("return");case 18:o.classList.add("".concat(it,"--active")),o.dataset.link&&ut(o),t.next=25;break;case 22:t.prev=22,t.t0=t.catch(10),console.error("Failed to mark step as completed:",t.t0);case 25:case"end":return t.stop()}}),t,null,[[10,22]])})),ct=function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ot(i,n,o,a,c,"next",t)}function c(t){ot(i,n,o,a,c,"throw",t)}a(void 0)}))},ct.apply(this,arguments)}function ut(t){var e=t.querySelector(".frm-checklist__step-title");if(null==e||!e.querySelector("a")){var r=q({href:t.dataset.link,className:"frm-h-stack-xs",children:Array.from(e.childNodes)});e.replaceChildren(r)}}function st(){var t=h(),e=t.welcomeTour,r=t.spotlight;null==e||e.remove(),null==r||r.remove(),K("dismiss_welcome_tour",new FormData)}function lt(t){return lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(t)}function ft(){ft=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof v?e:v,a=Object.create(i.prototype),c=new F(n||[]);return o(a,"_invoke",{value:O(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",d="executing",y="completed",m={};function v(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var _=Object.getPrototypeOf,x=_&&_(_(A([])));x&&x!==r&&n.call(x,a)&&(w=x);var E=b.prototype=v.prototype=Object.create(w);function k(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==lt(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function O(e,r,n){var o=h;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=S(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?y:p,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=y,n.method="throw",n.arg=s.arg)}}}function S(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,S(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function F(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}function ht(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function pt(){return dt.apply(this,arguments)}function dt(){var t;return t=ft().mark((function t(){return ft().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,at("style-form");case 2:window.location.reload();case 3:case"end":return t.stop()}}),t)})),dt=function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ht(i,n,o,a,c,"next",t)}function c(t){ht(i,n,o,a,c,"throw",t)}a(void 0)}))},dt.apply(this,arguments)}var yt;yt=function(){var t,e;tt(),document.querySelectorAll(".frm-spotlight").forEach((function(t){setTimeout((function(){!function(t){var e=document.querySelector(t.dataset.target);e&&(document.body.appendChild(t),function(t){for(var e=[window],r=t.parentElement;r&&document.body!==r;){var n=getComputedStyle(r),o=n.overflow,i=n.overflowY;(["auto","scroll"].includes(o)||["auto","scroll"].includes(i))&&e.push(r),r=r.parentElement}return e}(e).forEach((function(r){r.addEventListener("scroll",(function(){et(t,e),function(t){var e=document.getElementById("frm_top_bar");if(e){var r=t.getBoundingClientRect().top+24<=e.getBoundingClientRect().bottom;r&&!t.classList.contains("frm-fadeout")?(t.classList.remove("frm-fadein"),t.classList.add("frm-fadeout")):r||t.classList.contains("frm-fadein")||(t.classList.remove("frm-fadeout"),t.classList.add("frm-fadein"))}}(t)}),{passive:!0})})),window.addEventListener("resize",(function(){return et(t,e)}),{passive:!0}),setTimeout((function(){et(t,e),t.classList.remove("frm-force-hidden")}),200))}(t)}),0)})),(e=document.querySelector(".frm-welcome-tour .frm-checklist__progress-fill"))&&(e.style.width="".concat(Q,"%")),document.addEventListener("frm_added_field",(function(){return at("add-fields")})),function(){var t=h().checklist;t&&t.querySelector(".frm-checklist__header").addEventListener("click",(function(){return function(t){t.classList.toggle("frm-checklist--collapsed")}(t)}))}(),(t=h().dismiss)&&t.addEventListener("click",st),"formidable-styles"===Z.get("page")&&$(document.getElementById("frm_submit_side_top"),pt)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",yt):yt())})()})(); \ No newline at end of file From 4a70eaab2e7d43f1203af98c10e716db2b4aa888 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:15:06 +0300 Subject: [PATCH 18/39] Fix potential bug and workflow errors --- js/formidable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/formidable.js b/js/formidable.js index 858d18c0f5..97081be776 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1200,7 +1200,7 @@ function frmFrontFormJS() { jQuery( '.form-field' ).removeClass( 'frm_blank_field has-error' ); jQuery( '.frm_error_style' ).remove(); document.querySelectorAll( '.form-field .frm_error' ).forEach( el => { - const inputs = document.querySelectorAll( `[aria-describedby*="${el.id}"]` ) + const inputs = document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ) if ( inputs.length ) { inputs.forEach( input => { input.setAttribute( 'aria-describedby', input.getAttribute( 'aria-describedby' ).replace( el.id, '' ) ); From adc91f5a792796959d651a71548643efd9f021c0 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:16:34 +0300 Subject: [PATCH 19/39] Fix invalid function return statement --- classes/models/FrmFieldFormHtml.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/models/FrmFieldFormHtml.php b/classes/models/FrmFieldFormHtml.php index 5f46a81c7f..2702fa7f25 100644 --- a/classes/models/FrmFieldFormHtml.php +++ b/classes/models/FrmFieldFormHtml.php @@ -282,7 +282,7 @@ private function replace_error_shortcode() { $error = $this->pass_args['errors'][ 'field' . $this->field_id ] ?? false; if ( empty( $error ) ) { - return FrmShortcodeHelper::remove_inline_conditions( false, 'error', $error, $this->html ); + FrmShortcodeHelper::remove_inline_conditions( false, 'error', $error, $this->html ); } $include_alert_role_on_field_errors = FrmAppHelper::should_include_alert_role_on_field_errors(); From 92a69e9029eff54d1412dd6653d0d47f6e0353b9 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:19:45 +0300 Subject: [PATCH 20/39] Resolve conflict with master --- css/frm_admin.css | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/css/frm_admin.css b/css/frm_admin.css index 43342ced13..973a41e393 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,7 +1,3 @@ -<<<<<<< HEAD -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .frm-upgrade-message img{margin-top:10px;width:100%}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! -======= -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .frm-upgrade-message img{margin-top:10px;width:100%}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! ->>>>>>> d09ccd132fba0a6716633023b136cfc726479470 +@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! * Bootstrap v4.6.1 */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl .frm_actions_dropdown .frm_icon_font{float:right;margin-right:0;margin-left:3px}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}#frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:0;left:auto}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.rtl #frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:auto;left:0}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} From 09febfe317e9b8c0c3570d142ad5fbbdd2287e32 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:21:30 +0300 Subject: [PATCH 21/39] Resolve conflict with master --- css/frm_testing_mode.css | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/css/frm_testing_mode.css b/css/frm_testing_mode.css index 59598903c1..74be79ddd9 100644 --- a/css/frm_testing_mode.css +++ b/css/frm_testing_mode.css @@ -1,7 +1,3 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! * Bootstrap v4.6.1 -<<<<<<< HEAD - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} -======= - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} ->>>>>>> d09ccd132fba0a6716633023b136cfc726479470 + */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} From 9a43d8d28a6350ebbc9cb2986df910b904a03cfe Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:22:38 +0300 Subject: [PATCH 22/39] Resolve conflict with master --- js/formidable_admin.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/js/formidable_admin.js b/js/formidable_admin.js index 90a8ae71b7..8b241c7fc2 100644 --- a/js/formidable_admin.js +++ b/js/formidable_admin.js @@ -1,5 +1 @@ -<<<<<<< HEAD -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,f=s[r].handlers;for(c=f.length;c>0&&!(l>=f[c-1].priority);c--);c===f.length?f[c]=d:f.splice(c,0,d),s.__current.forEach((function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++}))}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some((function(e){return e.namespace===n})):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>u});var n=r(2853),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),f=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const u=function(){return new f}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach((function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--})))},f=d.length-1;f>=0;f--)c(f);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(7203),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},f=function(e,t){c(e,t),d()},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=u(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&f(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:f,resetLocaleData:function(e,t){n.data={},n.pluralForms={},f(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=u(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=u(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=u(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>s,afterAddonInstall:()=>l,extractErrorFromAddOnResponse:()=>a,toggleAddonState:()=>o});var n=r(9575),i=frmDom.div;function o(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),d=i.parent(),c=d.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var f=a(e);f?s(f,d,i):(l(e,i,c,d,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function a(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function l(e,t,r,o,a){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",s=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach((function(t){t.textContent=e,t.style.display="block"})),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(e){e.style.display="none"})),jQuery("#frm_upgrade_modal h2").hide(),jQuery("#frm_upgrade_modal .frm_lock_icon").addClass("frm_lock_open_icon"),jQuery("#frm_upgrade_modal .frm_lock_icon use").attr("xlink:href","#frm_lock_open_icon");var f={frm_activate_addon:{class:"frm-addon-active",message:s.active},frm_deactivate_addon:{class:"frm-addon-installed",message:s.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:s.not_installed}};f.frm_install_addon=f.frm_activate_addon;var u=r[0];u&&(u.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(a)&&c.forEach((function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Close","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(a,t))}))}function s(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                    '+e.message+"

                    "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",(function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()})),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>o,initUpgradeModal:()=>a});var n=r(9575);function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var o=i.querySelector(".frm-oneclick"),a=i.querySelector(".frm-upgrade-message"),l=i.querySelector(".frm-upgrade-link"),s=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),c=e.getAttribute("data-oneclick"),f=e.getAttribute("data-message"),u="block",m="block",_="none";null!==o&&void 0!==c&&c&&(null===f&&(m="none"),u="none",_="block",c=JSON.parse(c),s.className=s.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),s.className=s.className+" "+c.class,s.rel=c.url,"frm-activate-addon"===c.class?(o.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),s.textContent=(0,n.__)("Activate","formidable")):(o.textContent=(0,n.__)("That add-on is not installed. Would you like to install it now?","formidable"),s.textContent=(0,n.__)("Install","formidable"))),f||(f=a.getAttribute("data-default")),void 0!==r&&(f=f.replace('',r)),a.innerHTML=f,e.dataset.upsellImage&&a.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),l.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,l),d.style.display="none",o.style.display=_,s.style.display="block"===_?"inline-block":_,a.style.display=m,l.style.display="block"===u?"inline-block":u}function o(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="550px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function a(){var e=o("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),f=c.querySelector(".frm_lock_icon");f&&(f.style.display="block",f.classList.remove("frm_lock_open_icon"),f.querySelector("use").setAttribute("href","#frm_lock_icon"));var u="frm_upgrade_modal_image",m=document.getElementById(u);m&&m.remove(),r.dataset.image&&(f&&(f.style.display="none"),f.parentNode.insertBefore(frmDom.img({id:u,src:frmGlobal.url+"/images/"+r.dataset.image}),f));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image?"none":"inline-block",c.querySelector(".frm_feature_label").textContent=d,c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,f,u,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||f&&!l.sign?u="":(u=f?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(u+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?u+r+s:"0"===d?u+s+r:s+u+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},7203:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7730);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},1127:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2716);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},7730:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2716),i=r(1127);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2716:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout((function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")}),1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout((function(){t.location.reload()}),1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach((function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")}))},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach((function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))}))},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,f=s.span,u=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,C=B.__,q=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Ao}):function(e){var t,r,n,i,o,a=Ao("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Ao("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,(function(){var r;a.remove(),Oi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){oi(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()})),void 0!==r&&(r=jQuery(r)).fadeOut(400,(function(){r.remove()})),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function U(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),io(),Vn("#"+r.attr("id")),mo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function W(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ri(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach((function(e){J(e),Array.from(e.children).forEach((function(e){return Z(e,".frm-move")}));var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)})),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),rn(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Oi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach((function(e){return e.classList.remove("frm-over-droppable")})),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=C("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),gr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach((function(e){[].slice.call(e.children).forEach((function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()}))})),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop((function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r}))}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=ue(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach((function(e){e.childNodes.forEach((function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&Ue(e))}))})),Qn(),document.querySelectorAll(".edit_field_type_end_divider").forEach((function(e){return e.parentNode.appendChild(e)})),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach((function(e){return!e.children.length&&e.remove()})),xn();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach((function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}})),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(fe(i,Wt(n))):"clear"===t?r.each(fe(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Ut(n,t,e)}:function(e){return ar(t[e])},r.each(fe(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=C("Set Row Layout","formidable");ce(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=C("Move Field Group","formidable");ce(r,i),zt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=f({className:"dropdown"}),t=u({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[f({child:m({href:"#frm_thick_more_vert_icon"})}),f({className:"screen-reader-text",text:C("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:C("More Options","formidable"),"data-toggle":"dropdown","data-container":"body"}),zt(t,C("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-toggle","tooltip"),e.setAttribute("data-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",(function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()}))}function fe(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<6)&&(n.length>6||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),io(),Or(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map((function(e){return JSON.parse(e)})),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),We(e,!0),t.each((function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")}))}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)}))}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}}),0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=C(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=C(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach((function(e){r=r.add(jQuery("
                  • ").addClass("frm_field_box").html(jQuery("
                      ").addClass("frm_grid_container frm_sorting").append(e)))})),r}function Ue(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function We(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var f,u,m=!1;if(Oi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(rt(r),ti(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(kn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Or(),u="frm-newly-added",(f=o).classList?f.classList.add(u):f.className+=" "+u,setTimeout((function(){o.classList.remove("frm-newly-added")}),1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach((function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])}))),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&kn(s)}Je(),io(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable");var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||gr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r,n,i,o=!1,a=0;a"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function nt(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=mn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function at(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function lt(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach((function(e){var n=document.getElementById(e+t);n&&(r+=n.value)})),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&dt(""!==r,".frm_invalid_msg"+t)}function st(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(dt(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function dt(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ct(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(dt(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;ut(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),ut(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout((function(){r.removeClass("frm_conf_inline frm_conf_below")}),200)}function ut(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function mt(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function _t(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,(function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),rn(i)}))}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),No(i,o={newOption:o});var f=this.closest(".frm_single_option");f?f.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),rn(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach((function(e){return e.classList.remove("frm_disabled")})),Oi()}function pt(){gt(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function gt(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function ht(){var e=jQuery(this).closest(".frm-single-settings").data("fid");So(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function yt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);wt(jQuery(this)),So(jQuery(".field_"+n+"_image_id")),So(jQuery(".frm_toggle_image_options_"+n)),So(jQuery(".frm_image_size_"+n)),So(jQuery(".frm_alignment_"+n)),So(jQuery(".frm-add-other#frm_add_field_"+n)),(e=gn(n))?(bt(n,"inline"),vt(i),t=tn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),vt(i),bt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function vt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function bt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function jt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);xt(),gn(e)&&(vt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+tn(e)))}function wt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function xt(){wt(jQuery(this))}function Qt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",(function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0})),r.open()}function kt(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function Et(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function At(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout((function(){e.focus()}),100)}function St(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,(function(){return r.remove()}));var n=t.dataset.action,i=new FormData;h(n,i)}function Lt(e){e.preventDefault()}function It(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find((function(e){return e!==t})).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",(function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))})),Oi()}function Bt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout((function(){e.prop("checked",!1)}),0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function qt(e){return q(C("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Nt(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach((function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)})),l&&(e=qt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Ot(){this.closest("li.form-field").click()}function Tt(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Ft(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");Ue(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",(function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach((function(e){e.remove()}));for(var f=0;f0&&ir(Wt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",(function(){mr(document.getElementById("frm-field-group-message"))}))}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=_r();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=_r();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void pr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!yr()),e;(e=c()).id="frm_field_multiselect_popup",yr()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=C("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Rt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():hr(),De()}function gr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",gr),hr()}function hr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function yr(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n6)return!1}return!0}function vr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=Ht(br(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function br(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each((function(){e+=le(jQuery(this)).length})),e}function jr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each((function(){n.push(this.dataset.fid)})),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach((function(e){xr(e)}))}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",qt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",(function(){jQuery(i).off("click",t)}))}function wr(){xr(this.getAttribute("data-deletefield"))}function xr(e){var t=jQuery("#frm_field_id_"+e);Qr(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each((function(){Qr(this.getAttribute("data-fid"))})),Qn()}function Qr(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach((function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)}))}(n),n.remove(),r.fadeOut("slow",(function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Or():"product"===n&&(Be(),nt()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&kn(t);G()})),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function kr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Er(r,"frm_logic_"+e+"_"),fields:tt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",(function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")}))}}),!1}function Er(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Er(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Sr(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Lr(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Sr(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function Ir(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Br(){var e,t,r,n,i,o,a,l,s,d,c,f,u=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=Ir(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=u.oldValue,_=u.oldLabel,p=u.newValue,g=u.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Sr(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Jr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Xr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function Yr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",wn(t,e))}function Zr(){var e,t;(e=en(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),f=pn(e),u=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(u.length<1)return rn(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=u.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():f?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=u[0].childNodes,gn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=hn(t),fn(t),_n(r.val(),o,i)}(r,e,_),(s=u.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",u.append(l));else{var p=!1;i.forEach((function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find((function(e){return e.checked&&"buttons"===e.value}));return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),u[0].replaceChild(n,t))}else u[0].removeChild(t)}))}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function en(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function tn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function rn(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?sn(a[0],{sourceID:e}):sn(a[0],{sourceID:e,placeholder:i.value});else{r=cn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=en(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=gn(e),d=s?tn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",f=Co(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var u;l=d[a];var m=null===(u=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===u?void 0:u.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=nn(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find((function(e){return e.value===l}));if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}an(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function an(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function ln(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                      "+(s?a:"")+"
                      "},this.getSingle()}function sn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=Co(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=cn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],d=[],c=jQuery('input[name^="field_options[options_'+e+']"]'),f=Co(e),u=hn(e),m=gn(e),_=pn(e);for(t=0;t0||c[t].name.indexOf("[value]")>0||c[t].name.indexOf("[image]")>0||c[t].name.indexOf("[price]")>0||(i=r=c[t].value,o=c[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),_&&(n=c[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),s&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),m&&(i=_n(i,u,un(c[t]),fn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,c[t],m),checked:(l=c[t].id,field=jQuery("#"+l),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))),key:o},f&&(n=c[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),d.push(a));return d}function fn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function un(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function mn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce((function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML}),"");return t!==e?mn(t):t}function _n(e,t,r,n){var i,o,l,s=e;return s=mn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function pn(e){return yn("separate_value_"+e)}function gn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Ln(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function In(){jQuery(".frm-hide-empty").each((function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()}))}function Bn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=Hi(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&Ze(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function Cn(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function qn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")}))}function Nn(){var e,t,r,n,i,o,a,l=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Kn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function Jn(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",(function(){p.trigger("click"),g.removeClass("open"),h.hide()})),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach((function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)}));var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=Xn(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",(function(){return this.value})),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",(function(){return this.checked}));var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),f=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');f=f.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var u=c({id:"frm_form_action_"+o,className:n.get(0).className});u.setAttribute("data-actionkey",o),u.innerHTML=f,u.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach((function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)})),u.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(u),r.length&&(r.forEach((function(e){frmDom.wysiwyg.init(e)})),u.querySelectorAll(".wp-editor-area").forEach((function(e){frmDom.wysiwyg.init(e)}))),u.classList.contains("frm_single_on_submit_settings")&&u.querySelector("input.frm-page-search")&&mo(u),io(),wp.hooks.doAction("frm_after_duplicate_action",u)}var m,_,p,g,h}function Xn(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=Xn(++t)),t}function Yn(){var e,t=jQuery(this).data("actiontype");if(!ai(t)){var r=(e=Er(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Oi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach((function(e){return e.classList.remove("open")}));var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach((function(e){return o.appendChild(e)})),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),oi(t),Vn("#frm_form_action_"+r),io(),mo(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function Zn(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",wo(t,"input")}function ei(e){e.on("Change",(function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)}))}function ti(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===ti.prototype.endMarker&&(ti.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,ti.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ri(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function ni(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",(function(){jQuery(e).find(r+" input").val("")}))}function ii(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function oi(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ai(e)?(t=n,r=li(e)>0,t.forEach((function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")}))):n.forEach((function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))}))}function ai(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=li(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function li(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function si(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function di(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Er(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",(function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")}))}}),!1}function ci(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each((function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1}))}function fi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function ui(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function mi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function vi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function bi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ji(){zn()||($n(this),Mn(document.querySelector(".frm_form_settings")))}function wi(e){return e.preventDefault(),xi(jQuery(this),this.getAttribute("data-code")),!1}function xi(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Qi(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Qi(o,t);return!1}function Qi(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&ki(t)){var r=e.value.split(" ").filter(ki);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter((function(e){return(e=e.trim()).length&&!t.includes(e)}));return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Pn(e)}function ki(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ei(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),wo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),wo(e,"change"))}function Ai(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function Si(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ri(),"use"===(t=zi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&qi(t,"nofocus"):t.classList.contains("frm_close_icon")||qi(t,"nofocus"))}function Li(e){e.preventDefault(),e.stopPropagation(),qi(this)}function Ii(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Bi()}}(e.target)}function Bi(e){var t;void 0===e&&(e=C("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:C("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:C("Save and Reload","formidable"),buttonType:"primary"});p(e,(function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()}));var t=frmDom.modal.footerButton({text:C("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ci(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find((function(e){return"#frm_close_icon"===e.getAttribute("href")}));if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function qi(e,t){var r=Hi(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ri(n);else{if(Ci(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach((function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,f=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==f||f.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)}))}(r)}}function Ni(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Oi(){E||(E=1,window.addEventListener("beforeunload",Mi))}function Ti(){E=0}function Fi(){E=0}function Di(){E=0}function Mi(e){E&&(e.preventDefault(),e.returnValue="")}function Pi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function Hi(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=Hi(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function zi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=zi(r);return r}function Ri(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                      ":'

                      Imported '+r.data.name+"

                      ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,(function(e){return e!=t})),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Ki(e)))}))}function Ji(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function Xi(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function Yi(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function Zi(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function eo(e){var t,r,n=e.target.value;ro(n),to.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function to(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each((function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0})),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ro(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach((function(e){e.classList.remove("frm_hidden")})):t.forEach((function(e){e.classList.add("frm_hidden")})),vo.call(document.querySelector(".frm-auto-search")))}}function no(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function io(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function oo(e){e.preventDefault(),so(this,"frm_multiple_addons")}function ao(e){e.preventDefault(),so(this,"frm_activate_addon")}function lo(e){e.preventDefault(),so(this,"frm_install_addon")}function so(e,t){r(1105).toggleAddonState(e,t)}function co(){uo()}function fo(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",(function(){n.addClass("frm_hidden")}))}(0,0,e)}function uo(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function mo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function _o(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),go(t,r,this)}function po(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),go(this,t,r)}function go(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||bo(l,n)?(s&&Ni(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach((function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every((function(e){return e.classList.contains("frm_hidden")}));e.classList.toggle("frm_hidden",n)}})),jQuery(this).trigger("frmAfterSearch")}function bo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function jo(e){e.stopPropagation()}function wo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function xo(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function Qo(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function ko(e){jQuery(e).css("visibility","hidden")}function Eo(e){jQuery(e).css("visibility","visible")}function Ao(e,t){return r(4260).initModal(e,t)}function So(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Lo(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function Io(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Bo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function Co(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function qo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map((function(e){return"frm"+e})),i=["first","middle","last"];document.addEventListener("change",(function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach((function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))})),l.forEach((function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))})),i.forEach((function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))})),l.forEach((function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")}))}(o)}),!1)}function No(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach((function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))})),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Oo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=f({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done((function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(f(C("Thank you for signing up!","formidable")))}else fo("invalid")}))}}else fo("invalid");else fo("empty")}function To(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ri(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",(function(e){e.preventDefault(),Oo()}));var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",(function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}}))}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),O={},jQuery(".wp-admin").on("click",(function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")})),jQuery("#frm_bs_dropdown:not(.open) a").on("click",At),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach((function(e){p(e,St)})),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:C("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce((function(e,t){return t.checked?e+1:e}),0)>=10?(t.classList.remove("frm_hidden"),n.forEach((function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)}))):t.classList.add("frm_hidden")};i(),n.forEach((function(e){e.addEventListener("change",(function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach((function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1})))}))}))}}}(),mo(),jQuery("[data-frmprint]").on("click",(function(){return window.print(),!1}))),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",bi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach((function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)}))}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",(function(t){return e(t.target)}))}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",wr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",yo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",U),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",(function(){jQuery(this).off("mouseenter.frm"),jQuery(".frm_bstooltip, .frm_help").tooltip(),jQuery(this).tooltip("show")})),jQuery(".frm_bstooltip, .frm_help").tooltip(),jQuery(document).on("click","#doaction, #doaction2",(function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1})),jQuery(document).on("click","#frm-confirmed-click",(function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0})),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Un);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",(function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1})),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",(function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1}))),jQuery(document).on("click","#frm-nav-tabs a",W),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",(function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Wn(this),V(this),!1})),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",(function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Mn(document.getElementById("posts-filter")),!1})),jQuery(".frm_select_box").on("click focus",(function(){this.select()})),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",vo),jQuery(document).on("focusin click",".frm-auto-search",jo);var f=jQuery(".frm-auto-search");""!==f.val()&&f.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",lo),jQuery(document).on("click",".frm-activate-addon",ao),jQuery(document).on("click",".frm-solution-multiple",oo),jQuery("button, input[type=submit]").on("click",Lo),document.addEventListener("click",(function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout((function(){return n.click()}),0)}}}})),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",(function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]})),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach((function(e,t){e.addEventListener("click",(function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach((function(e,r){e.classList.contains("frm_other_option")||No(t,e)}))}))}));var u=document.getElementById("frm_small_screen_proceed_button");u&&p(u,(function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)}));var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,(function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))})),_&&p(_,(function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)})))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",To),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",Dn),jQuery(".frm_submit_no_ajax").on("click",Hn),Rn(),jQuery("a.edit-form-status").on("click",En),jQuery(".cancel-form-status").on("click",An),jQuery(".save-form-status").on("click",(function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1})),jQuery(".frm_form_builder form").first().on("submit",(function(){jQuery(".inplace_field").trigger("blur")})),io(),Or(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",kr),e.on("click",".frm_add_watch_lookup_row",Ar),e.on("change",".frm_get_values_form",qr),e.on("change",".frm_logic_field_opts",bn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Sn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",Ce),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",lt),e.on("change click","[data-changeme]",ot),e.on("click","input.frm_req_field",st),e.on("click",".frm_mark_unique",ct),e.on("change",".frm_repeat_format",Vr),e.on("change",".frm_repeat_limit",Kr),e.on("change",".frm_js_checkbox_limit",Jr),e.on("input",'input[name^="field_options[add_label_"]',(function(){Xr(this,"add")})),e.on("input",'input[name^="field_options[remove_label_"]',(function(){Xr(this,"remove")})),e.on("change",'select[name^="field_options[data_type_"]',Nr),jQuery(t).on("click",".frm-collapse-page",Tr),jQuery(t).on("click",".frm-collapse-section",Mr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",Pr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",(function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),Pr.call(this,e))})),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",ht),e.on("click",".frm_toggle_image_options",yt),e.on("click",".frm_remove_image_option",kt),e.on("click",".frm_choose_image_box",Qt),e.on("change",".frm_hide_image_text",xt),e.on("change",".frm_field_options_image_size",jt),e.on("click",".frm_multiselect_opt",Et),w.on("mousedown","input, textarea, select",Lt),w.on("click","input[type=radio], input[type=checkbox]",Lt),w.on("click",".frm_delete_field",Nt),w.on("click",".frm_select_field",Ot),jQuery(document).on("click",".frm_delete_field_group",Tt),jQuery(document).on("click",".frm_clone_field_group",Ft),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Dt),jQuery(document).on("click",".frm-row-layout-option",Xt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",Yt),jQuery(document).on("click",".frm-custom-field-group-layout",er),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-break-field-group",lr),w.on("click","#frm_field_group_popup .frm_grid_container input",sr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",dr),jQuery(document).on("click",".frm-save-custom-field-group-layout",fr),w.on("click","ul.frm_sorting",ur),jQuery(document).on("click",".frm-merge-fields-into-row",vr),jQuery(document).on("click",".frm-delete-field-groups",jr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',(function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)})),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",It),e.on("mousedown",".frm_single_option input[type=radio]",Bt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",_t),e.on("change",".frm_single_option input",Zr),e.on("change",".frm_image_id",Zr),e.on("change",".frm_toggle_mult_sel",pt),w.on("click",".frm_primary_label",zr),w.on("click",".frm_description",Rr),w.on("click","li.ui-state-default:not(.frm_noallow)",$r),w.on("dblclick","li.ui-state-default",Wr),e.on("change",".frm_tax_form_select",Yr),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",jn),e.on("click",".frm-show-inline-modal",Bn),e.on("keydown",".frm-show-inline-modal",(function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Bn.call(this,e))})),e.on("click",".frm-inline-modal .dismiss",Cn),jQuery(document).on("change","[data-frmchange]",Nn),document.addEventListener("click",qn),e.on("change",".frm_include_extras_field",et),e.on("change",'select[name^="field_options[form_select_"]',Io),jQuery(document).on("submit","#frm_js_build_form",Ti),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Oi),nt(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Bo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Lr),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),frmDom.util.documentOn("click",".frm-show-field-settings",$r),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Ur),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',(function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find((function(e){return null!==e.offsetParent}));if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)})),!1!==(r=Ao("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",mt),jQuery(x).on("click","a.frm-bulk-edit-link",(function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=pn(s),c=Co(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}})),jQuery("#frm-update-bulk-opts").on("click",(function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Oi())}))),In(),document.addEventListener("frm_added_field",In),Be(),qo(),Qn(),frmDom.util.documentOn("change",".frm_show_password_setting_input",(function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)})),document.addEventListener("scroll",Ci,!0),document.addEventListener("change",Ii),document.querySelector(".frm_form_builder").addEventListener("mousedown",(function(e){e.shiftKey&&e.preventDefault()})),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",(function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Hr)}),9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ri),i.on("click",".frm_remove_field",ni),i.on("change",".frm_to_row, .frm_from_row",ii),i.on("change",".frm_tax_selector",yi),i.on("change","select.frm_single_post_field",ci),i.on("change","select.frm_toggle_post_content",fi),i.on("change","select.frm_dyncontent_opt",ui),i.on("change",".frm_post_type",mi),i.on("click",".frm_add_postmeta_row",gi),i.on("click",".frm_add_posttax_row",pi),i.on("click",".frm_toggle_cf_opts",vi),i.on("click",".frm_duplicate_form_action",Jn),jQuery(".frm_actions_list").on("click",".frm_active_action",Yn),jQuery("#frm-show-groups, #frm-hide-groups").on("click",Zn),io(),jQuery("ul.frm_actions_list li").each((function(){oi(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")})),jQuery(".frm_submit_settings_btn").on("click",ji),Rn(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",di),e.on("click",".frm_already_used",si),document.addEventListener("click",(function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?Qt.bind(t)(e):t.closest(".frm_remove_image_option")&&kt.bind(t)(e))})),e.on("mouseup","*:not(.frm-show-box)",To),jQuery(document.getElementById("no_save")).on("change",(function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)})),jQuery('select[name="options[edit_action]"]').on("change",Kn),t=document.getElementById("logged_in"),jQuery(t).on("change",(function(){this.checked?Eo(".hide_logged_in"):ko(".hide_logged_in")})),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",(function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")}));var o=document.getElementById("single_entry");jQuery(o).on("change",(function(){this.checked?Eo(".hide_single_entry"):ko(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")})),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",(function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")})),Pn(l),n=document.getElementById("editable"),jQuery(n).on("change",(function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Pn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))})),jQuery(document).on("change","#protect_files",(function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")})),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Sn),jQuery(document).on("submit",".frm_form_settings",Fi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Oi),mo(),jQuery(document).on("frm-action-loaded",$i),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',(function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden")})),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach((function(e){e.classList.remove("frm_hidden")})),t.setAttribute("data-on-submit-type",e.target.value)}})),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",Di)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",wi),jQuery(document).on("change",".frm_insert_val",(function(){xi(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")})),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ei),jQuery(document).on("keyup change",".frm-build-logic",Ai),Vn(),jQuery(document).on("frmElementAdded",(function(e,t){Vn(t)})),jQuery(document).on("mousedown",".frm-show-box",Li),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",(function(e){var i,o,a,l;if(e.stopPropagation(),Si(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}})),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",(function(e){e.preventDefault()})),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",(function(e){Gi("frmids",e)})),e.on("click",".subsubsub a.frmkeys",(function(e){Gi("frmkeys",e)}))},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",(function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",(function(){return t.remove()}),{once:!0})),xo(data,(function(){if(!a)return"#"!==n?(window.location=n,!0):void Qo(t,(function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),co()),t.parentNode.removeChild(t)}))}))}})),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&co()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",po)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",Qt),e.on("click",".frm_remove_image_option",kt),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ui),io(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Wi),jQuery(document).on("click","#frm-new-template button",_o),jQuery("#frm-dismissable-cta .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()}));var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",ho),document.querySelector(".frm_captchas").addEventListener("change",(function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)})),frmDom.util.documentOn("submit",".frm_settings_form",(function(){return E=0}));var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",(function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)}));var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach((function(e){e.addEventListener("change",(function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach((function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}}))}}))}))},exportInit:function(){jQuery(".frm_form_importer").on("submit",Vi),jQuery(document.getElementById("frm_export_xml")).on("submit",Ji),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",Xi),jQuery('input[name="frm_import_file"]').on("change",Yi),document.querySelector('select[name="format"]').addEventListener("change",eo),jQuery('input[name="frm_export_forms[]"]').on("click",no),io(),jQuery(".frm-feature-banner .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()})),ro(Zi()),document.querySelector("#frm-export-select-all").addEventListener("change",(function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach((function(t){return t.checked=e.target.checked}))}))},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",(function(r){r.target===t&&xo({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},(function(){jQuery(e).fadeOut(400,(function(){e.remove()}))}))}))}},updateOpts:function(e,t,r){var n=pn(e),i=Co(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),rn(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout((function(){xn(),We(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})}),10)},error:je})}))},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:ti}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready((function(){var e;frmAdminBuild.init(),frmDom.bootstrap.setupBootstrapDropdowns((function(e){var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                        ","")).replaceAll("
                      • ",'
                      • ",""),t.outerHTML=r)})),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-toggle","dropdown")})),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout((function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"}),2e3))}})}})(); -======= -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>s,afterAddonInstall:()=>l,extractErrorFromAddOnResponse:()=>a,toggleAddonState:()=>o});var n=r(9575),i=frmDom.div;function o(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),d=i.parent(),c=d.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=a(e);u?s(u,d,i):(l(e,i,c,d,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function a(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function l(e,t,r,o,a){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",s=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),jQuery("#frm_upgrade_modal h2").hide(),jQuery("#frm_upgrade_modal .frm_lock_icon").addClass("frm_lock_open_icon"),jQuery("#frm_upgrade_modal .frm_lock_icon use").attr("xlink:href","#frm_lock_open_icon");var u={frm_activate_addon:{class:"frm-addon-active",message:s.active},frm_deactivate_addon:{class:"frm-addon-installed",message:s.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:s.not_installed}};u.frm_install_addon=u.frm_activate_addon;var f=r[0];f&&(f.textContent=u[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(u[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(a)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Close","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(a,t))})}function s(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                        '+e.message+"

                        "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>o,initUpgradeModal:()=>a});var n=r(9575);function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var o=i.querySelector(".frm-oneclick"),a=i.querySelector(".frm-upgrade-message"),l=i.querySelector(".frm-upgrade-link"),s=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),c=e.getAttribute("data-oneclick"),u=e.getAttribute("data-message"),f="block",m="block",_="none";null!==o&&void 0!==c&&c&&(null===u&&(m="none"),f="none",_="block",c=JSON.parse(c),s.className=s.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),s.className=s.className+" "+c.class,s.rel=c.url,"frm-activate-addon"===c.class?(o.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),s.textContent=(0,n.__)("Activate","formidable")):(o.textContent=(0,n.__)("That add-on is not installed. Would you like to install it now?","formidable"),s.textContent=(0,n.__)("Install","formidable"))),u||(u=a.getAttribute("data-default")),void 0!==r&&(u=u.replace('',r)),a.innerHTML=u,e.dataset.upsellImage&&a.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),l.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,l),d.style.display="none",o.style.display=_,s.style.display="block"===_?"inline-block":_,a.style.display=m,l.style.display="block"===f?"inline-block":f}function o(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="550px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function a(){var e=o("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image?"none":"inline-block",c.querySelector(".frm_feature_label").textContent=d,c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,C=B.__,q=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){di(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function U(e,t){void 0===t&&(t=this),et(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Yn("#"+r.attr("id")),ho(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function W(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Wi(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach(function(e){J(e),Array.from(e.children).forEach(function(e){return Z(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=C("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop(function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&Ue(e))})}),An(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.appendChild(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Kt(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=C("Set Row Layout","formidable");ce(t,n),Rt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=C("Move Field Group","formidable");ce(r,i),Rt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:C("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:C("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),Rt(t,C("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),so(),Fr(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),We(e,!0),t.each(function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")})}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}},0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=C(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=C(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach(function(e){r=r.add(jQuery("
                      • ").addClass("frm_field_box").html(jQuery("
                          ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function Ue(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function We(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(nt(r),oi(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(Sn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&Sn(s)}Je(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function it(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=pn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function lt(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function st(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&ct(""!==r,".frm_invalid_msg"+t)}function dt(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(ct(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function ct(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(ct(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;mt(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),mt(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function mt(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function _t(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function pt(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function gt(){ht(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function ht(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");Co(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function vt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);xt(jQuery(this)),Co(jQuery(".field_"+n+"_image_id")),Co(jQuery(".frm_toggle_image_options_"+n)),Co(jQuery(".frm_image_size_"+n)),Co(jQuery(".frm_alignment_"+n)),Co(jQuery(".frm-add-other#frm_add_field_"+n)),(e=vn(n))?(jt(n,"inline"),bt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),bt(i),jt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function bt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function jt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function wt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function xt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){xt(jQuery(this))}function kt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),r.open()}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function At(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function St(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function Lt(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;h(n,i)}function It(e){e.preventDefault()}function Bt(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function Ct(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function qt(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Nt(e){return q(C("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Ot(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Nt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ft(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Dt(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");Ue(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.appendChild($t(e,"even")),t):(5!==e&&t.appendChild($t(e,"even")),e%2==1&&t.appendChild($t(e,"middle")),e<6?(t.appendChild($t(e,"left")),t.appendChild($t(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Yt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?sr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Jt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Xt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Yt(){var e=c();return e.classList.add("frm_grid_container"),e}function Zt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),fr()}}function er(){var e,t;e=tr(),t=this.getAttribute("layout-type"),se(le(e).first(),t),yr()}function tr(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){le(jQuery(this)).each(function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),se(le(t).first()),t}function rr(){null===this.closest(".frm-merge-fields-into-row")&&nr(le(jQuery(".frm-field-group-hover-target")))}function nr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Kt(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=wr()>0&&ar(Kt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){pr(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=gr();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=gr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void hr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!br()),e;(e=c()).id="frm_field_multiselect_popup",br()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=C("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Gt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():vr(),De()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),vr()}function vr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function br(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function jr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=zt(wr(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function wr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=le(jQuery(this)).length}),e}function xr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){kr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Nt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){kr(this.getAttribute("data-deletefield"))}function kr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),An()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)})}(n),n.remove(),r.fadeOut("slow",function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Fr():"product"===n&&(Be(),it()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&Sn(t);G()}),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Sr(r,"frm_logic_"+e+"_"),fields:rt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")})}}),!1}function Sr(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Lr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Sr(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Ir(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Br(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Ir(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function Cr(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function qr(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=Cr(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Ir(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",kn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,vn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=bn(t),mn(t),gn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=vn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=To(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=an(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find(function(e){return e.value===l});if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}sn(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                          "+(s?a:"")+"
                          "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=To(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name*="[label]"]'),c=To(e),u=bn(e),f=vn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=gn(i,u,_n(d[t]),mn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:hn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function _n(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function pn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?pn(t):t}function gn(e,t,r,n){var i,o,l,s=e;return s=pn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function hn(e){return field=jQuery("#"+e),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))}function yn(e){return jn("separate_value_"+e)}function vn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Cn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function qn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Nn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=$i(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&et(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function On(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function Fn(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Zn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function ei(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),h.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ti(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&ho(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function ti(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ti(++t)),t}function ri(){var e,t=jQuery(this).data("actiontype");if(!ci(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.appendChild(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),di(t),Yn("#frm_form_action_"+r),so(),ho(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ni(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",Eo(t,"input")}function ii(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function oi(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===oi.prototype.endMarker&&(oi.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,oi.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ai(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function si(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function di(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ci(e)?(t=n,r=ui(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function ci(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ui(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ui(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function fi(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function mi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function _i(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1})}function pi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function gi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function hi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function xi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ki(){Un()||(Kn(this),Rn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),Ai(jQuery(this),this.getAttribute("data-code")),!1}function Ai(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Si(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Si(o,t);return!1}function Si(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Li(t)){var r=e.value.split(" ").filter(Li);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Gn(e)}function Li(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ii(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),Eo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),Eo(e,"change"))}function Bi(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function Ci(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Wi(),"use"===(t=Ui(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function qi(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Oi()}}(e.target)}function Oi(e){var t;void 0===e&&(e=C("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:C("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:C("Save and Reload","formidable"),buttonType:"primary"});p(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:C("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ti(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=$i(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Wi(n);else{if(Ti(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){E||(E=1,window.addEventListener("beforeunload",Ri))}function Pi(){E=0}function Hi(){E=0}function zi(){E=0}function Ri(e){E&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function $i(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=$i(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Ui(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Ui(r);return r}function Wi(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                          ":'

                          Imported '+r.data.name+"

                          ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,function(e){return e!=t}),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),xo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function ho(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function yo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||Qo(l,n)?(s&&Di(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function Qo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function ko(e){e.stopPropagation()}function Eo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function Co(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function qo(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Oo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function To(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(C("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Wi(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){G()}),O={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",St),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){p(e,Lt)}),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:C("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),ho(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",U),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Jn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",W),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Xn(this),V(this),!1}),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Rn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",xo),jQuery(document).on("focusin click",".frm-auto-search",ko);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",qo),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),_&&p(_,function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",zn),jQuery(".frm_submit_no_ajax").on("click",$n),Wn(),jQuery("a.edit-form-status").on("click",Ln),jQuery(".cancel-form-status").on("click",In),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Or),e.on("change",".frm_logic_field_opts",xn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Bn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",Ce),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",st),e.on("change click","[data-changeme]",at),e.on("click","input.frm_req_field",dt),e.on("click",".frm_mark_unique",ut),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Tr),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",vt),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",kt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",wt),e.on("click",".frm_multiselect_opt",At),w.on("mousedown","input, textarea, select",It),w.on("click","input[type=radio], input[type=checkbox]",It),w.on("click",".frm_delete_field",Ot),w.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ft),jQuery(document).on("click",".frm_clone_field_group",Dt),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Mt),jQuery(document).on("click",".frm-row-layout-option",Zt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",er),jQuery(document).on("click",".frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",ir),jQuery(document).on("click",".frm-break-field-group",dr),w.on("click","#frm_field_group_popup .frm_grid_container input",cr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",ur),jQuery(document).on("click",".frm-save-custom-field-group-layout",mr),w.on("click","ul.frm_sorting",_r),jQuery(document).on("click",".frm-merge-fields-into-row",jr),jQuery(document).on("click",".frm-delete-field-groups",xr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",Bt),e.on("mousedown",".frm_single_option input[type=radio]",Ct),e.on("focusin",".frm_single_option input[type=text]",qt),e.on("click",".frm_add_opt",pt),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",gt),w.on("click",".frm_primary_label",Gr),w.on("click",".frm_description",$r),w.on("click","li.ui-state-default:not(.frm_noallow)",Wr),w.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Nn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Nn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",On),jQuery(document).on("change","[data-frmchange]",Fn),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",tt),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),it(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Oo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',qr),frmDom.util.documentOn("click",".frm-show-field-settings",Wr),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Vr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",_t),jQuery(x).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=To(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),qn(),document.addEventListener("frm_added_field",qn),Be(),Fo(),An(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Ti,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ai),i.on("click",".frm_remove_field",li),i.on("change",".frm_to_row, .frm_from_row",si),i.on("change",".frm_tax_selector",wi),i.on("change","select.frm_single_post_field",_i),i.on("change","select.frm_toggle_post_content",pi),i.on("change","select.frm_dyncontent_opt",gi),i.on("change",".frm_post_type",hi),i.on("click",".frm_add_postmeta_row",bi),i.on("click",".frm_add_posttax_row",vi),i.on("click",".frm_toggle_cf_opts",xi),i.on("click",".frm_duplicate_form_action",ei),jQuery(".frm_actions_list").on("click",".frm_active_action",ri),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ni),so(),jQuery("ul.frm_actions_list li").each(function(){di(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",ki),Wn(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",mi),e.on("click",".frm_already_used",fi),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?kt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Zn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var o=document.getElementById("single_entry");jQuery(o).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Gn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Gn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Bn),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),ho(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){Ai(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ii),jQuery(document).on("keyup change",".frm-build-logic",Bi),Yn(),jQuery(document).on("frmElementAdded",function(e,t){Yn(t)}),jQuery(document).on("mousedown",".frm-show-box",qi),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),Ci(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){Vi("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){Vi("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(data,function(){if(!a)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.parentNode.removeChild(t)})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",kt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",yo),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return E=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=To(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),We(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:je})})},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:oi}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                            ","")).replaceAll("
                          • ",'
                          • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); ->>>>>>> d09ccd132fba0a6716633023b136cfc726479470 +(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))})}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                            '+e.message+"

                            "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",h=o.querySelector(".frm-circled-icon");h&&(h.classList.remove("frm-circled-icon-green"),null===(a=h.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var y=o.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==l&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==h||h.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l.style.display=g,c.style.display="block"===g?"inline-block":g,s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,q=B.__,C=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){di(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function W(e,t){void 0===t&&(t=this),et(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Yn("#"+r.attr("id")),ho(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function U(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ui(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach(function(e){J(e),Array.from(e.children).forEach(function(e){return Z(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=q("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop(function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))})}),An(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.appendChild(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Kt(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=q("Set Row Layout","formidable");ce(t,n),Rt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=q("Move Field Group","formidable");ce(r,i),Rt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:q("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:q("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),Rt(t,q("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),so(),Fr(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),Ue(e,!0),t.each(function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")})}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}},0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=q(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=q(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach(function(e){r=r.add(jQuery("
                          • ").addClass("frm_field_box").html(jQuery("
                              ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function We(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(nt(r),oi(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(Sn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&Sn(s)}Je(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function it(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=pn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function lt(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function st(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&ct(""!==r,".frm_invalid_msg"+t)}function dt(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(ct(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function ct(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(ct(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;mt(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),mt(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function mt(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function _t(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function pt(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function gt(){ht(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function ht(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");qo(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function vt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);xt(jQuery(this)),qo(jQuery(".field_"+n+"_image_id")),qo(jQuery(".frm_toggle_image_options_"+n)),qo(jQuery(".frm_image_size_"+n)),qo(jQuery(".frm_alignment_"+n)),qo(jQuery(".frm-add-other#frm_add_field_"+n)),(e=vn(n))?(jt(n,"inline"),bt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),bt(i),jt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function bt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function jt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function wt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function xt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){xt(jQuery(this))}function kt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),r.open()}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function At(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function St(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function Lt(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;h(n,i)}function It(e){e.preventDefault()}function Bt(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function qt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Nt(e){return C(q("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Ot(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Nt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ft(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Dt(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.appendChild($t(e,"even")),t):(5!==e&&t.appendChild($t(e,"even")),e%2==1&&t.appendChild($t(e,"middle")),e<6?(t.appendChild($t(e,"left")),t.appendChild($t(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Yt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?sr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Jt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Xt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Yt(){var e=c();return e.classList.add("frm_grid_container"),e}function Zt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),fr()}}function er(){var e,t;e=tr(),t=this.getAttribute("layout-type"),se(le(e).first(),t),yr()}function tr(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){le(jQuery(this)).each(function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),se(le(t).first()),t}function rr(){null===this.closest(".frm-merge-fields-into-row")&&nr(le(jQuery(".frm-field-group-hover-target")))}function nr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Kt(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=wr()>0&&ar(Kt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){pr(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=gr();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=gr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void hr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!br()),e;(e=c()).id="frm_field_multiselect_popup",br()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=q("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Gt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():vr(),De()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),vr()}function vr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function br(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function jr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=zt(wr(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function wr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=le(jQuery(this)).length}),e}function xr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){kr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Nt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){kr(this.getAttribute("data-deletefield"))}function kr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),An()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)})}(n),n.remove(),r.fadeOut("slow",function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Fr():"product"===n&&(Be(),it()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&Sn(t);G()}),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Sr(r,"frm_logic_"+e+"_"),fields:rt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")})}}),!1}function Sr(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Lr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Sr(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Ir(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Br(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Ir(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function qr(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Cr(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=qr(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Ir(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",kn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,vn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=bn(t),mn(t),gn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=vn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=To(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=an(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find(function(e){return e.value===l});if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}sn(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                              "+(s?a:"")+"
                              "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=To(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name*="[label]"]'),c=To(e),u=bn(e),f=vn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=gn(i,u,_n(d[t]),mn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:hn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function _n(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function pn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?pn(t):t}function gn(e,t,r,n){var i,o,l,s=e;return s=pn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function hn(e){return field=jQuery("#"+e),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))}function yn(e){return jn("separate_value_"+e)}function vn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function qn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function Cn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Nn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=$i(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&et(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function On(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function Fn(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Zn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function ei(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),h.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ti(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&ho(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function ti(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ti(++t)),t}function ri(){var e,t=jQuery(this).data("actiontype");if(!ci(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.appendChild(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),di(t),Yn("#frm_form_action_"+r),so(),ho(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ni(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",Eo(t,"input")}function ii(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function oi(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===oi.prototype.endMarker&&(oi.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,oi.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ai(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function si(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function di(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ci(e)?(t=n,r=ui(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function ci(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ui(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ui(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function fi(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function mi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function _i(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1})}function pi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function gi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function hi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function xi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ki(){Wn()||(Kn(this),Rn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),Ai(jQuery(this),this.getAttribute("data-code")),!1}function Ai(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Si(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Si(o,t);return!1}function Si(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Li(t)){var r=e.value.split(" ").filter(Li);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Gn(e)}function Li(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ii(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),Eo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),Eo(e,"change"))}function Bi(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function qi(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ui(),"use"===(t=Wi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function Ci(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Oi()}}(e.target)}function Oi(e){var t;void 0===e&&(e=q("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:q("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:q("Save and Reload","formidable"),buttonType:"primary"});p(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:q("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ti(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=$i(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ui(n);else{if(Ti(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){E||(E=1,window.addEventListener("beforeunload",Ri))}function Pi(){E=0}function Hi(){E=0}function zi(){E=0}function Ri(e){E&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function $i(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=$i(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Wi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Wi(r);return r}function Ui(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                              ":'

                              Imported '+r.data.name+"

                              ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,function(e){return e!=t}),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),xo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function ho(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function yo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||Qo(l,n)?(s&&Di(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function Qo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function ko(e){e.stopPropagation()}function Eo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function qo(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Co(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Oo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function To(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(q("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ui(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){G()}),O={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",St),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){p(e,Lt)}),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:q("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),ho(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",W),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Jn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",U),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Xn(this),V(this),!1}),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Rn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",xo),jQuery(document).on("focusin click",".frm-auto-search",ko);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",Co),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),_&&p(_,function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",zn),jQuery(".frm_submit_no_ajax").on("click",$n),Un(),jQuery("a.edit-form-status").on("click",Ln),jQuery(".cancel-form-status").on("click",In),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Or),e.on("change",".frm_logic_field_opts",xn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Bn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",qe),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",st),e.on("change click","[data-changeme]",at),e.on("click","input.frm_req_field",dt),e.on("click",".frm_mark_unique",ut),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Tr),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",vt),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",kt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",wt),e.on("click",".frm_multiselect_opt",At),w.on("mousedown","input, textarea, select",It),w.on("click","input[type=radio], input[type=checkbox]",It),w.on("click",".frm_delete_field",Ot),w.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ft),jQuery(document).on("click",".frm_clone_field_group",Dt),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Mt),jQuery(document).on("click",".frm-row-layout-option",Zt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",er),jQuery(document).on("click",".frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",ir),jQuery(document).on("click",".frm-break-field-group",dr),w.on("click","#frm_field_group_popup .frm_grid_container input",cr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",ur),jQuery(document).on("click",".frm-save-custom-field-group-layout",mr),w.on("click","ul.frm_sorting",_r),jQuery(document).on("click",".frm-merge-fields-into-row",jr),jQuery(document).on("click",".frm-delete-field-groups",xr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",Bt),e.on("mousedown",".frm_single_option input[type=radio]",qt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",pt),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",gt),w.on("click",".frm_primary_label",Gr),w.on("click",".frm_description",$r),w.on("click","li.ui-state-default:not(.frm_noallow)",Ur),w.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Nn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Nn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",On),jQuery(document).on("change","[data-frmchange]",Fn),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",tt),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),it(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Oo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Cr),frmDom.util.documentOn("click",".frm-show-field-settings",Ur),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Vr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",_t),jQuery(x).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=To(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),Cn(),document.addEventListener("frm_added_field",Cn),Be(),Fo(),An(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Ti,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ai),i.on("click",".frm_remove_field",li),i.on("change",".frm_to_row, .frm_from_row",si),i.on("change",".frm_tax_selector",wi),i.on("change","select.frm_single_post_field",_i),i.on("change","select.frm_toggle_post_content",pi),i.on("change","select.frm_dyncontent_opt",gi),i.on("change",".frm_post_type",hi),i.on("click",".frm_add_postmeta_row",bi),i.on("click",".frm_add_posttax_row",vi),i.on("click",".frm_toggle_cf_opts",xi),i.on("click",".frm_duplicate_form_action",ei),jQuery(".frm_actions_list").on("click",".frm_active_action",ri),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ni),so(),jQuery("ul.frm_actions_list li").each(function(){di(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",ki),Un(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",mi),e.on("click",".frm_already_used",fi),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?kt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Zn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var o=document.getElementById("single_entry");jQuery(o).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Gn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Gn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Bn),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),ho(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){Ai(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ii),jQuery(document).on("keyup change",".frm-build-logic",Bi),Yn(),jQuery(document).on("frmElementAdded",function(e,t){Yn(t)}),jQuery(document).on("mousedown",".frm-show-box",Ci),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),qi(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){Vi("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){Vi("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(data,function(){if(!a)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.parentNode.removeChild(t)})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",kt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",yo),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return E=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=To(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),Ue(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:je})})},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:oi}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                ","")).replaceAll("
                              • ",'
                              • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); \ No newline at end of file From 2f40d111d8272d55a7002adc09fd8caec64dbdbc Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:23:28 +0300 Subject: [PATCH 23/39] Fix all merge conflicts --- css/frm_admin.css | 2 +- css/frm_testing_mode.css | 4 ++-- js/formidable_admin.js | 2 +- js/formidable_blocks.js | 6 +----- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/css/frm_admin.css b/css/frm_admin.css index 973a41e393..5b4fb22bf2 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,3 +1,3 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! +@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .frm-upgrade-message img{margin-top:10px;width:100%}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! * Bootstrap v4.6.1 */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl .frm_actions_dropdown .frm_icon_font{float:right;margin-right:0;margin-left:3px}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}#frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:0;left:auto}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.rtl #frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:auto;left:0}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} diff --git a/css/frm_testing_mode.css b/css/frm_testing_mode.css index 74be79ddd9..d78ca342b9 100644 --- a/css/frm_testing_mode.css +++ b/css/frm_testing_mode.css @@ -1,3 +1,3 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} + */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} diff --git a/js/formidable_admin.js b/js/formidable_admin.js index 8b241c7fc2..30e8cb1878 100644 --- a/js/formidable_admin.js +++ b/js/formidable_admin.js @@ -1 +1 @@ -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))})}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                '+e.message+"

                                "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",h=o.querySelector(".frm-circled-icon");h&&(h.classList.remove("frm-circled-icon-green"),null===(a=h.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var y=o.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==l&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==h||h.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l.style.display=g,c.style.display="block"===g?"inline-block":g,s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,q=B.__,C=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){di(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function W(e,t){void 0===t&&(t=this),et(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Yn("#"+r.attr("id")),ho(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function U(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ui(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach(function(e){J(e),Array.from(e.children).forEach(function(e){return Z(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=q("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop(function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))})}),An(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.appendChild(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Kt(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=q("Set Row Layout","formidable");ce(t,n),Rt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=q("Move Field Group","formidable");ce(r,i),Rt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:q("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:q("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),Rt(t,q("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),so(),Fr(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),Ue(e,!0),t.each(function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")})}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}},0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=q(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=q(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach(function(e){r=r.add(jQuery("
                              • ").addClass("frm_field_box").html(jQuery("
                                  ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function We(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(nt(r),oi(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(Sn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&Sn(s)}Je(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function it(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=pn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function lt(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function st(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&ct(""!==r,".frm_invalid_msg"+t)}function dt(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(ct(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function ct(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(ct(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;mt(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),mt(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function mt(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function _t(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function pt(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function gt(){ht(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function ht(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");qo(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function vt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);xt(jQuery(this)),qo(jQuery(".field_"+n+"_image_id")),qo(jQuery(".frm_toggle_image_options_"+n)),qo(jQuery(".frm_image_size_"+n)),qo(jQuery(".frm_alignment_"+n)),qo(jQuery(".frm-add-other#frm_add_field_"+n)),(e=vn(n))?(jt(n,"inline"),bt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),bt(i),jt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function bt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function jt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function wt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function xt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){xt(jQuery(this))}function kt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),r.open()}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function At(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function St(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function Lt(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;h(n,i)}function It(e){e.preventDefault()}function Bt(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function qt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Nt(e){return C(q("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Ot(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Nt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ft(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Dt(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.appendChild($t(e,"even")),t):(5!==e&&t.appendChild($t(e,"even")),e%2==1&&t.appendChild($t(e,"middle")),e<6?(t.appendChild($t(e,"left")),t.appendChild($t(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Yt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?sr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Jt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Xt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Yt(){var e=c();return e.classList.add("frm_grid_container"),e}function Zt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),fr()}}function er(){var e,t;e=tr(),t=this.getAttribute("layout-type"),se(le(e).first(),t),yr()}function tr(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){le(jQuery(this)).each(function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),se(le(t).first()),t}function rr(){null===this.closest(".frm-merge-fields-into-row")&&nr(le(jQuery(".frm-field-group-hover-target")))}function nr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Kt(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=wr()>0&&ar(Kt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){pr(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=gr();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=gr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void hr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!br()),e;(e=c()).id="frm_field_multiselect_popup",br()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=q("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Gt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():vr(),De()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),vr()}function vr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function br(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function jr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=zt(wr(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function wr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=le(jQuery(this)).length}),e}function xr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){kr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Nt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){kr(this.getAttribute("data-deletefield"))}function kr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),An()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)})}(n),n.remove(),r.fadeOut("slow",function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Fr():"product"===n&&(Be(),it()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&Sn(t);G()}),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Sr(r,"frm_logic_"+e+"_"),fields:rt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")})}}),!1}function Sr(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Lr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Sr(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Ir(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Br(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Ir(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function qr(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Cr(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=qr(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Ir(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",kn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,vn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=bn(t),mn(t),gn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=vn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=To(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=an(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find(function(e){return e.value===l});if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}sn(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                                  "+(s?a:"")+"
                                  "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=To(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name*="[label]"]'),c=To(e),u=bn(e),f=vn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=gn(i,u,_n(d[t]),mn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:hn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function _n(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function pn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?pn(t):t}function gn(e,t,r,n){var i,o,l,s=e;return s=pn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function hn(e){return field=jQuery("#"+e),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))}function yn(e){return jn("separate_value_"+e)}function vn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function qn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function Cn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Nn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=$i(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&et(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function On(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function Fn(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Zn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function ei(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),h.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ti(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&ho(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function ti(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ti(++t)),t}function ri(){var e,t=jQuery(this).data("actiontype");if(!ci(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.appendChild(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),di(t),Yn("#frm_form_action_"+r),so(),ho(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ni(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",Eo(t,"input")}function ii(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function oi(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===oi.prototype.endMarker&&(oi.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,oi.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ai(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function si(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function di(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ci(e)?(t=n,r=ui(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function ci(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ui(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ui(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function fi(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function mi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function _i(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1})}function pi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function gi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function hi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function xi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ki(){Wn()||(Kn(this),Rn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),Ai(jQuery(this),this.getAttribute("data-code")),!1}function Ai(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Si(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Si(o,t);return!1}function Si(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Li(t)){var r=e.value.split(" ").filter(Li);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Gn(e)}function Li(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ii(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),Eo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),Eo(e,"change"))}function Bi(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function qi(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ui(),"use"===(t=Wi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function Ci(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Oi()}}(e.target)}function Oi(e){var t;void 0===e&&(e=q("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:q("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:q("Save and Reload","formidable"),buttonType:"primary"});p(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:q("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ti(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=$i(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ui(n);else{if(Ti(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){E||(E=1,window.addEventListener("beforeunload",Ri))}function Pi(){E=0}function Hi(){E=0}function zi(){E=0}function Ri(e){E&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function $i(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=$i(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Wi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Wi(r);return r}function Ui(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                                  ":'

                                  Imported '+r.data.name+"

                                  ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,function(e){return e!=t}),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),xo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function ho(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function yo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||Qo(l,n)?(s&&Di(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function Qo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function ko(e){e.stopPropagation()}function Eo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function qo(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Co(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Oo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function To(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(q("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ui(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){G()}),O={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",St),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){p(e,Lt)}),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:q("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),ho(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",W),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Jn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",U),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Xn(this),V(this),!1}),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Rn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",xo),jQuery(document).on("focusin click",".frm-auto-search",ko);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",Co),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),_&&p(_,function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",zn),jQuery(".frm_submit_no_ajax").on("click",$n),Un(),jQuery("a.edit-form-status").on("click",Ln),jQuery(".cancel-form-status").on("click",In),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Or),e.on("change",".frm_logic_field_opts",xn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Bn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",qe),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",st),e.on("change click","[data-changeme]",at),e.on("click","input.frm_req_field",dt),e.on("click",".frm_mark_unique",ut),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Tr),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",vt),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",kt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",wt),e.on("click",".frm_multiselect_opt",At),w.on("mousedown","input, textarea, select",It),w.on("click","input[type=radio], input[type=checkbox]",It),w.on("click",".frm_delete_field",Ot),w.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ft),jQuery(document).on("click",".frm_clone_field_group",Dt),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Mt),jQuery(document).on("click",".frm-row-layout-option",Zt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",er),jQuery(document).on("click",".frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",ir),jQuery(document).on("click",".frm-break-field-group",dr),w.on("click","#frm_field_group_popup .frm_grid_container input",cr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",ur),jQuery(document).on("click",".frm-save-custom-field-group-layout",mr),w.on("click","ul.frm_sorting",_r),jQuery(document).on("click",".frm-merge-fields-into-row",jr),jQuery(document).on("click",".frm-delete-field-groups",xr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",Bt),e.on("mousedown",".frm_single_option input[type=radio]",qt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",pt),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",gt),w.on("click",".frm_primary_label",Gr),w.on("click",".frm_description",$r),w.on("click","li.ui-state-default:not(.frm_noallow)",Ur),w.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Nn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Nn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",On),jQuery(document).on("change","[data-frmchange]",Fn),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",tt),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),it(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Oo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Cr),frmDom.util.documentOn("click",".frm-show-field-settings",Ur),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Vr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",_t),jQuery(x).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=To(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),Cn(),document.addEventListener("frm_added_field",Cn),Be(),Fo(),An(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Ti,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ai),i.on("click",".frm_remove_field",li),i.on("change",".frm_to_row, .frm_from_row",si),i.on("change",".frm_tax_selector",wi),i.on("change","select.frm_single_post_field",_i),i.on("change","select.frm_toggle_post_content",pi),i.on("change","select.frm_dyncontent_opt",gi),i.on("change",".frm_post_type",hi),i.on("click",".frm_add_postmeta_row",bi),i.on("click",".frm_add_posttax_row",vi),i.on("click",".frm_toggle_cf_opts",xi),i.on("click",".frm_duplicate_form_action",ei),jQuery(".frm_actions_list").on("click",".frm_active_action",ri),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ni),so(),jQuery("ul.frm_actions_list li").each(function(){di(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",ki),Un(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",mi),e.on("click",".frm_already_used",fi),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?kt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Zn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var o=document.getElementById("single_entry");jQuery(o).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Gn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Gn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Bn),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),ho(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){Ai(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ii),jQuery(document).on("keyup change",".frm-build-logic",Bi),Yn(),jQuery(document).on("frmElementAdded",function(e,t){Yn(t)}),jQuery(document).on("mousedown",".frm-show-box",Ci),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),qi(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){Vi("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){Vi("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(data,function(){if(!a)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.parentNode.removeChild(t)})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",kt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",yo),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return E=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=To(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),Ue(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:je})})},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:oi}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                    ","")).replaceAll("
                                  • ",'
                                  • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); \ No newline at end of file +(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach((function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++}))}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some((function(e){return e.namespace===n})):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(2853),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach((function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--})))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(7203),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>s,afterAddonInstall:()=>l,extractErrorFromAddOnResponse:()=>a,toggleAddonState:()=>o});var n=r(9575),i=frmDom.div;function o(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),d=i.parent(),c=d.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=a(e);u?s(u,d,i):(l(e,i,c,d,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function a(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function l(e,t,r,o,a){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",s=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach((function(t){t.textContent=e,t.style.display="block"})),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(e){e.style.display="none"})),jQuery("#frm_upgrade_modal h2").hide(),jQuery("#frm_upgrade_modal .frm_lock_icon").addClass("frm_lock_open_icon"),jQuery("#frm_upgrade_modal .frm_lock_icon use").attr("xlink:href","#frm_lock_open_icon");var u={frm_activate_addon:{class:"frm-addon-active",message:s.active},frm_deactivate_addon:{class:"frm-addon-installed",message:s.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:s.not_installed}};u.frm_install_addon=u.frm_activate_addon;var f=r[0];f&&(f.textContent=u[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(u[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(a)&&c.forEach((function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Close","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(a,t))}))}function s(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                    '+e.message+"

                                    "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",(function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()})),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>o,initUpgradeModal:()=>a});var n=r(9575);function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var o=i.querySelector(".frm-oneclick"),a=i.querySelector(".frm-upgrade-message"),l=i.querySelector(".frm-upgrade-link"),s=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),c=e.getAttribute("data-oneclick"),u=e.getAttribute("data-message"),f="block",m="block",_="none";null!==o&&void 0!==c&&c&&(null===u&&(m="none"),f="none",_="block",c=JSON.parse(c),s.className=s.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),s.className=s.className+" "+c.class,s.rel=c.url,"frm-activate-addon"===c.class?(o.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),s.textContent=(0,n.__)("Activate","formidable")):(o.textContent=(0,n.__)("That add-on is not installed. Would you like to install it now?","formidable"),s.textContent=(0,n.__)("Install","formidable"))),u||(u=a.getAttribute("data-default")),void 0!==r&&(u=u.replace('',r)),a.innerHTML=u,e.dataset.upsellImage&&a.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),l.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,l),d.style.display="none",o.style.display=_,s.style.display="block"===_?"inline-block":_,a.style.display=m,l.style.display="block"===f?"inline-block":f}function o(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="550px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function a(){var e=o("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image?"none":"inline-block",c.querySelector(".frm_feature_label").textContent=d,c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},7203:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7730);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},1127:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2716);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},7730:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2716),i=r(1127);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2716:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout((function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")}),1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout((function(){t.location.reload()}),1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach((function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")}))},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach((function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))}))},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,C=B.__,q=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Ao}):function(e){var t,r,n,i,o,a=Ao("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Ao("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,(function(){var r;a.remove(),Oi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){oi(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()})),void 0!==r&&(r=jQuery(r)).fadeOut(400,(function(){r.remove()})),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function U(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),io(),Vn("#"+r.attr("id")),mo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function W(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ri(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach((function(e){J(e),Array.from(e.children).forEach((function(e){return Z(e,".frm-move")}));var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)})),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),rn(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Oi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach((function(e){return e.classList.remove("frm-over-droppable")})),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=C("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),gr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach((function(e){[].slice.call(e.children).forEach((function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()}))})),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop((function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r}))}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach((function(e){e.childNodes.forEach((function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&Ue(e))}))})),Qn(),document.querySelectorAll(".edit_field_type_end_divider").forEach((function(e){return e.parentNode.appendChild(e)})),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach((function(e){return!e.children.length&&e.remove()})),xn();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach((function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}})),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Wt(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Ut(n,t,e)}:function(e){return ar(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=C("Set Row Layout","formidable");ce(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=C("Move Field Group","formidable");ce(r,i),zt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:C("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:C("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),zt(t,C("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",(function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()}))}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),io(),Or(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map((function(e){return JSON.parse(e)})),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),We(e,!0),t.each((function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")}))}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)}))}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}}),0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=C(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=C(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach((function(e){r=r.add(jQuery("
                                  • ").addClass("frm_field_box").html(jQuery("
                                      ").addClass("frm_grid_container frm_sorting").append(e)))})),r}function Ue(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function We(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Oi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(rt(r),ti(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(kn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Or(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout((function(){o.classList.remove("frm-newly-added")}),1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach((function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])}))),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&kn(s)}Je(),io(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach((function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})),o.querySelectorAll(".frm-dropdown-menu").forEach((function(e){return e.classList.add("dropdown-menu")}));var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||gr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r,n,i,o=!1,a=0;a"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function nt(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=mn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function at(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function lt(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach((function(e){var n=document.getElementById(e+t);n&&(r+=n.value)})),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&dt(""!==r,".frm_invalid_msg"+t)}function st(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(dt(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function dt(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ct(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(dt(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;ft(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),ft(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout((function(){r.removeClass("frm_conf_inline frm_conf_below")}),200)}function ft(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function mt(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function _t(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,(function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),rn(i)}))}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),No(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),rn(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach((function(e){return e.classList.remove("frm_disabled")})),Oi()}function pt(){gt(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function gt(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function ht(){var e=jQuery(this).closest(".frm-single-settings").data("fid");So(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function yt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);wt(jQuery(this)),So(jQuery(".field_"+n+"_image_id")),So(jQuery(".frm_toggle_image_options_"+n)),So(jQuery(".frm_image_size_"+n)),So(jQuery(".frm_alignment_"+n)),So(jQuery(".frm-add-other#frm_add_field_"+n)),(e=gn(n))?(bt(n,"inline"),vt(i),t=tn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),vt(i),bt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function vt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function bt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function jt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);xt(),gn(e)&&(vt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+tn(e)))}function wt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function xt(){wt(jQuery(this))}function Qt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",(function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0})),r.open()}function kt(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function Et(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function At(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout((function(){e.focus()}),100)}function St(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,(function(){return r.remove()}));var n=t.dataset.action,i=new FormData;h(n,i)}function Lt(e){e.preventDefault()}function It(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find((function(e){return e!==t})).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",(function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))})),Oi()}function Bt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout((function(){e.prop("checked",!1)}),0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function qt(e){return q(C("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Nt(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach((function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)})),l&&(e=qt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Ot(){this.closest("li.form-field").click()}function Tt(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Ft(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");Ue(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",(function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach((function(e){e.remove()}));for(var u=0;u6?(t.appendChild(Gt(e,"even")),t):(5!==e&&t.appendChild(Gt(e,"even")),e%2==1&&t.appendChild(Gt(e,"middle")),e<6?(t.appendChild(Gt(e,"left")),t.appendChild(Gt(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i,o,a;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Jt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?ar(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Vt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Kt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Jt(){var e=c();return e.classList.add("frm_grid_container"),e}function Xt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),cr()}}function Yt(){var e,t;e=Zt(),t=this.getAttribute("layout-type"),se(le(e).first(),t),gr()}function Zt(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each((function(){le(jQuery(this)).each((function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()}))})),xn(),se(le(t).first()),t}function er(){null===this.closest(".frm-merge-fields-into-row")&&tr(le(jQuery(".frm-field-group-hover-target")))}function tr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Wt(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=br()>0&&ir(Wt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",(function(){mr(document.getElementById("frm-field-group-message"))}))}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=_r();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=_r();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void pr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!yr()),e;(e=c()).id="frm_field_multiselect_popup",yr()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=C("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Rt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():hr(),De()}function gr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",gr),hr()}function hr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function yr(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function vr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=Ht(br(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function br(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each((function(){e+=le(jQuery(this)).length})),e}function jr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each((function(){n.push(this.dataset.fid)})),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach((function(e){xr(e)}))}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",qt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",(function(){jQuery(i).off("click",t)}))}function wr(){xr(this.getAttribute("data-deletefield"))}function xr(e){var t=jQuery("#frm_field_id_"+e);Qr(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each((function(){Qr(this.getAttribute("data-fid"))})),Qn()}function Qr(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach((function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)}))}(n),n.remove(),r.fadeOut("slow",(function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Or():"product"===n&&(Be(),nt()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&kn(t);G()})),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function kr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Er(r,"frm_logic_"+e+"_"),fields:tt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",(function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")}))}}),!1}function Er(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Er(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Sr(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Lr(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Sr(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function Ir(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Br(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=Ir(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Sr(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Jr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Xr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function Yr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",wn(t,e))}function Zr(){var e,t;(e=en(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=pn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return rn(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,gn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=hn(t),un(t),_n(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach((function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find((function(e){return e.checked&&"buttons"===e.value}));return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)}))}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function en(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function tn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function rn(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?sn(a[0],{sourceID:e}):sn(a[0],{sourceID:e,placeholder:i.value});else{r=cn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=en(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=gn(e),d=s?tn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=Co(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=nn(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find((function(e){return e.value===l}));if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}an(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function an(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function ln(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                                      "+(s?a:"")+"
                                      "},this.getSingle()}function sn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=Co(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=cn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],d=[],c=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name*="[label]"]'),u=Co(e),f=hn(e),m=gn(e),_=pn(e);for(t=0;t0||(i=r=c[t].value,o=c[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),_&&(n=c[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),s&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),m&&(i=_n(i,f,fn(c[t]),un(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,c[t],m),checked:(l=c[t].id,field=jQuery("#"+l),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))),key:o},u&&(n=c[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),d.push(a));return d}function un(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function fn(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function mn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce((function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML}),"");return t!==e?mn(t):t}function _n(e,t,r,n){var i,o,l,s=e;return s=mn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function pn(e){return yn("separate_value_"+e)}function gn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Ln(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function In(){jQuery(".frm-hide-empty").each((function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()}))}function Bn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=Hi(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&Ze(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function Cn(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function qn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")}))}function Nn(){var e,t,r,n,i,o,a,l=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Kn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function Jn(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",(function(){p.trigger("click"),g.removeClass("open"),h.hide()})),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach((function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)}));var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=Xn(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",(function(){return this.value})),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",(function(){return this.checked}));var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach((function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)})),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach((function(e){frmDom.wysiwyg.init(e)})),f.querySelectorAll(".wp-editor-area").forEach((function(e){frmDom.wysiwyg.init(e)}))),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&mo(f),io(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function Xn(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=Xn(++t)),t}function Yn(){var e,t=jQuery(this).data("actiontype");if(!ai(t)){var r=(e=Er(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Oi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach((function(e){return e.classList.remove("open")}));var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach((function(e){return o.appendChild(e)})),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),oi(t),Vn("#frm_form_action_"+r),io(),mo(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function Zn(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",wo(t,"input")}function ei(e){e.on("Change",(function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)}))}function ti(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===ti.prototype.endMarker&&(ti.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,ti.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ri(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function ni(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",(function(){jQuery(e).find(r+" input").val("")}))}function ii(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function oi(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ai(e)?(t=n,r=li(e)>0,t.forEach((function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")}))):n.forEach((function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))}))}function ai(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=li(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function li(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function si(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function di(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Er(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",(function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")}))}}),!1}function ci(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each((function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1}))}function ui(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function fi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function mi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function vi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function bi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ji(){zn()||($n(this),Mn(document.querySelector(".frm_form_settings")))}function wi(e){return e.preventDefault(),xi(jQuery(this),this.getAttribute("data-code")),!1}function xi(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Qi(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Qi(o,t);return!1}function Qi(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&ki(t)){var r=e.value.split(" ").filter(ki);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter((function(e){return(e=e.trim()).length&&!t.includes(e)}));return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Pn(e)}function ki(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ei(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),wo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),wo(e,"change"))}function Ai(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function Si(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ri(),"use"===(t=zi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&qi(t,"nofocus"):t.classList.contains("frm_close_icon")||qi(t,"nofocus"))}function Li(e){e.preventDefault(),e.stopPropagation(),qi(this)}function Ii(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Bi()}}(e.target)}function Bi(e){var t;void 0===e&&(e=C("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:C("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:C("Save and Reload","formidable"),buttonType:"primary"});p(e,(function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()}));var t=frmDom.modal.footerButton({text:C("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ci(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find((function(e){return"#frm_close_icon"===e.getAttribute("href")}));if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function qi(e,t){var r=Hi(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ri(n);else{if(Ci(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach((function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)}))}(r)}}function Ni(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Oi(){E||(E=1,window.addEventListener("beforeunload",Mi))}function Ti(){E=0}function Fi(){E=0}function Di(){E=0}function Mi(e){E&&(e.preventDefault(),e.returnValue="")}function Pi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function Hi(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=Hi(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function zi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=zi(r);return r}function Ri(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                                      ":'

                                      Imported '+r.data.name+"

                                      ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,(function(e){return e!=t})),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Ki(e)))}))}function Ji(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function Xi(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function Yi(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function Zi(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function eo(e){var t,r,n=e.target.value;ro(n),to.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function to(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each((function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0})),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ro(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach((function(e){e.classList.remove("frm_hidden")})):t.forEach((function(e){e.classList.add("frm_hidden")})),vo.call(document.querySelector(".frm-auto-search")))}}function no(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function io(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function oo(e){e.preventDefault(),so(this,"frm_multiple_addons")}function ao(e){e.preventDefault(),so(this,"frm_activate_addon")}function lo(e){e.preventDefault(),so(this,"frm_install_addon")}function so(e,t){r(1105).toggleAddonState(e,t)}function co(){fo()}function uo(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",(function(){n.addClass("frm_hidden")}))}(0,0,e)}function fo(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function mo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function _o(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),go(t,r,this)}function po(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),go(this,t,r)}function go(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||bo(l,n)?(s&&Ni(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach((function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every((function(e){return e.classList.contains("frm_hidden")}));e.classList.toggle("frm_hidden",n)}})),jQuery(this).trigger("frmAfterSearch")}function bo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function jo(e){e.stopPropagation()}function wo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function xo(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function Qo(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function ko(e){jQuery(e).css("visibility","hidden")}function Eo(e){jQuery(e).css("visibility","visible")}function Ao(e,t){return r(4260).initModal(e,t)}function So(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Lo(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function Io(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Bo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function Co(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function qo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map((function(e){return"frm"+e})),i=["first","middle","last"];document.addEventListener("change",(function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach((function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))})),l.forEach((function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))})),i.forEach((function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))})),l.forEach((function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")}))}(o)}),!1)}function No(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach((function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))})),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Oo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done((function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(C("Thank you for signing up!","formidable")))}else uo("invalid")}))}}else uo("invalid");else uo("empty")}function To(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ri(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",(function(e){e.preventDefault(),Oo()}));var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",(function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}}))}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",(function(){G()})),O={},jQuery(".wp-admin").on("click",(function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")})),jQuery("#frm_bs_dropdown:not(.open) a").on("click",At),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach((function(e){p(e,St)})),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:C("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce((function(e,t){return t.checked?e+1:e}),0)>=10?(t.classList.remove("frm_hidden"),n.forEach((function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)}))):t.classList.add("frm_hidden")};i(),n.forEach((function(e){e.addEventListener("change",(function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach((function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1})))}))}))}}}(),mo(),jQuery("[data-frmprint]").on("click",(function(){return window.print(),!1}))),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",bi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach((function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)}))}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",(function(t){return e(t.target)}))}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",wr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",yo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",U),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",(function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)})),jQuery(document).on("click","#doaction, #doaction2",(function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1})),jQuery(document).on("click","#frm-confirmed-click",(function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0})),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Un);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",(function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1})),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",(function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1}))),jQuery(document).on("click","#frm-nav-tabs a",W),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",(function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Wn(this),V(this),!1})),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",(function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Mn(document.getElementById("posts-filter")),!1})),jQuery(".frm_select_box").on("click focus",(function(){this.select()})),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",vo),jQuery(document).on("focusin click",".frm-auto-search",jo);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",lo),jQuery(document).on("click",".frm-activate-addon",ao),jQuery(document).on("click",".frm-solution-multiple",oo),jQuery("button, input[type=submit]").on("click",Lo),document.addEventListener("click",(function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout((function(){return n.click()}),0)}}}})),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",(function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]})),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach((function(e,t){e.addEventListener("click",(function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach((function(e,r){e.classList.contains("frm_other_option")||No(t,e)}))}))}));var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,(function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)}));var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,(function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))})),_&&p(_,(function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)})))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",To),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",Dn),jQuery(".frm_submit_no_ajax").on("click",Hn),Rn(),jQuery("a.edit-form-status").on("click",En),jQuery(".cancel-form-status").on("click",An),jQuery(".save-form-status").on("click",(function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1})),jQuery(".frm_form_builder form").first().on("submit",(function(){jQuery(".inplace_field").trigger("blur")})),io(),Or(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",kr),e.on("click",".frm_add_watch_lookup_row",Ar),e.on("change",".frm_get_values_form",qr),e.on("change",".frm_logic_field_opts",bn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Sn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",Ce),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",lt),e.on("change click","[data-changeme]",ot),e.on("click","input.frm_req_field",st),e.on("click",".frm_mark_unique",ct),e.on("change",".frm_repeat_format",Vr),e.on("change",".frm_repeat_limit",Kr),e.on("change",".frm_js_checkbox_limit",Jr),e.on("input",'input[name^="field_options[add_label_"]',(function(){Xr(this,"add")})),e.on("input",'input[name^="field_options[remove_label_"]',(function(){Xr(this,"remove")})),e.on("change",'select[name^="field_options[data_type_"]',Nr),jQuery(t).on("click",".frm-collapse-page",Tr),jQuery(t).on("click",".frm-collapse-section",Mr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",Pr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",(function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),Pr.call(this,e))})),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",ht),e.on("click",".frm_toggle_image_options",yt),e.on("click",".frm_remove_image_option",kt),e.on("click",".frm_choose_image_box",Qt),e.on("change",".frm_hide_image_text",xt),e.on("change",".frm_field_options_image_size",jt),e.on("click",".frm_multiselect_opt",Et),w.on("mousedown","input, textarea, select",Lt),w.on("click","input[type=radio], input[type=checkbox]",Lt),w.on("click",".frm_delete_field",Nt),w.on("click",".frm_select_field",Ot),jQuery(document).on("click",".frm_delete_field_group",Tt),jQuery(document).on("click",".frm_clone_field_group",Ft),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Dt),jQuery(document).on("click",".frm-row-layout-option",Xt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",Yt),jQuery(document).on("click",".frm-custom-field-group-layout",er),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-break-field-group",lr),w.on("click","#frm_field_group_popup .frm_grid_container input",sr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",dr),jQuery(document).on("click",".frm-save-custom-field-group-layout",ur),w.on("click","ul.frm_sorting",fr),jQuery(document).on("click",".frm-merge-fields-into-row",vr),jQuery(document).on("click",".frm-delete-field-groups",jr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',(function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)})),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",It),e.on("mousedown",".frm_single_option input[type=radio]",Bt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",_t),e.on("change",".frm_single_option input",Zr),e.on("change",".frm_image_id",Zr),e.on("change",".frm_toggle_mult_sel",pt),w.on("click",".frm_primary_label",zr),w.on("click",".frm_description",Rr),w.on("click","li.ui-state-default:not(.frm_noallow)",$r),w.on("dblclick","li.ui-state-default",Wr),e.on("change",".frm_tax_form_select",Yr),e.on("change","select.conf_field",ut),e.on("change",".frm_get_field_selection",jn),e.on("click",".frm-show-inline-modal",Bn),e.on("keydown",".frm-show-inline-modal",(function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Bn.call(this,e))})),e.on("click",".frm-inline-modal .dismiss",Cn),jQuery(document).on("change","[data-frmchange]",Nn),document.addEventListener("click",qn),e.on("change",".frm_include_extras_field",et),e.on("change",'select[name^="field_options[form_select_"]',Io),jQuery(document).on("submit","#frm_js_build_form",Ti),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Oi),nt(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Bo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Lr),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),frmDom.util.documentOn("click",".frm-show-field-settings",$r),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Ur),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',(function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find((function(e){return null!==e.offsetParent}));if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)})),!1!==(r=Ao("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",mt),jQuery(x).on("click","a.frm-bulk-edit-link",(function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=pn(s),c=Co(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}})),jQuery("#frm-update-bulk-opts").on("click",(function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Oi())}))),In(),document.addEventListener("frm_added_field",In),Be(),qo(),Qn(),frmDom.util.documentOn("change",".frm_show_password_setting_input",(function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)})),document.addEventListener("scroll",Ci,!0),document.addEventListener("change",Ii),document.querySelector(".frm_form_builder").addEventListener("mousedown",(function(e){e.shiftKey&&e.preventDefault()})),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",(function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Hr)}),9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ri),i.on("click",".frm_remove_field",ni),i.on("change",".frm_to_row, .frm_from_row",ii),i.on("change",".frm_tax_selector",yi),i.on("change","select.frm_single_post_field",ci),i.on("change","select.frm_toggle_post_content",ui),i.on("change","select.frm_dyncontent_opt",fi),i.on("change",".frm_post_type",mi),i.on("click",".frm_add_postmeta_row",gi),i.on("click",".frm_add_posttax_row",pi),i.on("click",".frm_toggle_cf_opts",vi),i.on("click",".frm_duplicate_form_action",Jn),jQuery(".frm_actions_list").on("click",".frm_active_action",Yn),jQuery("#frm-show-groups, #frm-hide-groups").on("click",Zn),io(),jQuery("ul.frm_actions_list li").each((function(){oi(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")})),jQuery(".frm_submit_settings_btn").on("click",ji),Rn(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",di),e.on("click",".frm_already_used",si),document.addEventListener("click",(function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?Qt.bind(t)(e):t.closest(".frm_remove_image_option")&&kt.bind(t)(e))})),e.on("mouseup","*:not(.frm-show-box)",To),jQuery(document.getElementById("no_save")).on("change",(function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)})),jQuery('select[name="options[edit_action]"]').on("change",Kn),t=document.getElementById("logged_in"),jQuery(t).on("change",(function(){this.checked?Eo(".hide_logged_in"):ko(".hide_logged_in")})),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",(function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")}));var o=document.getElementById("single_entry");jQuery(o).on("change",(function(){this.checked?Eo(".hide_single_entry"):ko(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")})),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",(function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")})),Pn(l),n=document.getElementById("editable"),jQuery(n).on("change",(function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Pn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))})),jQuery(document).on("change","#protect_files",(function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")})),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Sn),jQuery(document).on("submit",".frm_form_settings",Fi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Oi),mo(),jQuery(document).on("frm-action-loaded",$i),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',(function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden")})),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach((function(e){e.classList.remove("frm_hidden")})),t.setAttribute("data-on-submit-type",e.target.value)}})),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",Di)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",wi),jQuery(document).on("change",".frm_insert_val",(function(){xi(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")})),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ei),jQuery(document).on("keyup change",".frm-build-logic",Ai),Vn(),jQuery(document).on("frmElementAdded",(function(e,t){Vn(t)})),jQuery(document).on("mousedown",".frm-show-box",Li),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",(function(e){var i,o,a,l;if(e.stopPropagation(),Si(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}})),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",(function(e){e.preventDefault()})),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",(function(e){Gi("frmids",e)})),e.on("click",".subsubsub a.frmkeys",(function(e){Gi("frmkeys",e)}))},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",(function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",(function(){return t.remove()}),{once:!0})),xo(data,(function(){if(!a)return"#"!==n?(window.location=n,!0):void Qo(t,(function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),co()),t.parentNode.removeChild(t)}))}))}})),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&co()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",po)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",Qt),e.on("click",".frm_remove_image_option",kt),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ui),io(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Wi),jQuery(document).on("click","#frm-new-template button",_o),jQuery("#frm-dismissable-cta .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()}));var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",ho),document.querySelector(".frm_captchas").addEventListener("change",(function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)})),frmDom.util.documentOn("submit",".frm_settings_form",(function(){return E=0}));var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",(function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)}));var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach((function(e){e.addEventListener("change",(function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach((function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}}))}}))}))},exportInit:function(){jQuery(".frm_form_importer").on("submit",Vi),jQuery(document.getElementById("frm_export_xml")).on("submit",Ji),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",Xi),jQuery('input[name="frm_import_file"]').on("change",Yi),document.querySelector('select[name="format"]').addEventListener("change",eo),jQuery('input[name="frm_export_forms[]"]').on("click",no),io(),jQuery(".frm-feature-banner .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()})),ro(Zi()),document.querySelector("#frm-export-select-all").addEventListener("change",(function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach((function(t){return t.checked=e.target.checked}))}))},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",(function(r){r.target===t&&xo({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},(function(){jQuery(e).fadeOut(400,(function(){e.remove()}))}))}))}},updateOpts:function(e,t,r){var n=pn(e),i=Co(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),rn(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout((function(){xn(),We(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})}),10)},error:je})}))},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:ti}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready((function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach((function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                        ","")).replaceAll("
                                      • ",'
                                      • ",""),t.outerHTML=r)})),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach((function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}))})),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout((function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"}),2e3))}})}})(); \ No newline at end of file diff --git a/js/formidable_blocks.js b/js/formidable_blocks.js index d41868eb0e..f9e00d9ced 100644 --- a/js/formidable_blocks.js +++ b/js/formidable_blocks.js @@ -1,5 +1 @@ -<<<<<<< HEAD -(()=>{var e={2532:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>l});var n=r(1601),o=r.n(n),i=r(6314),a=r.n(i)()(o());a.push([e.id,"button.t3RQZV1ZQbHGYyQUnhIY {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.t3RQZV1ZQbHGYyQUnhIY:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: Ts7haRQUDk0YMfLiQW00 2s linear infinite;\n}",""]);const l=a},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},2694:(e,t,r)=>{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var o=void 0!==r.layer;o&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,a;n((o={},a=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[i]=a,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},V("Go to form","formidable")))),wp.element.createElement(W,{title:V("Options","formidable"),initialOpen:!1},wp.element.createElement(Y,{label:V("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(Y,{label:V("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(Y,{label:V("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:V("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(Q,null,wp.element.createElement(u,this.props.attributes))))}}])&&z(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(B);function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e={2532:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6314),o=r.n(n)()(function(e){return e[1]});o.push([e.id,"button.X_GKlxRFRHSOWckGcSPJ {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.X_GKlxRFRHSOWckGcSPJ:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: _3ywaXb1_tykjJGTtxpG 2s linear infinite;\n}",""]),o.locals={"frm-loading":"X_GKlxRFRHSOWckGcSPJ",spin:"_3ywaXb1_tykjJGTtxpG"};const i=o},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r}).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,l){if(l!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,l;n((o={},l=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):o[i]=l,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},V("Go to form","formidable")))),wp.element.createElement(W,{title:V("Options","formidable"),initialOpen:!1},wp.element.createElement(J,{label:V("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:V("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(U,null,wp.element.createElement(u,this.props.attributes))))}}])&&F(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(M);function K(e){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r>>>>>> d09ccd132fba0a6716633023b136cfc726479470 +(()=>{var e={2532:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>l});var n=r(1601),o=r.n(n),i=r(6314),a=r.n(i)()(o());a.push([e.id,"button.t3RQZV1ZQbHGYyQUnhIY {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.t3RQZV1ZQbHGYyQUnhIY:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: Ts7haRQUDk0YMfLiQW00 2s linear infinite;\n}",""]);const l=a},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},2694:(e,t,r)=>{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var o=void 0!==r.layer;o&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,a;n((o={},a=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[i]=a,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},F("Go to form","formidable")))),wp.element.createElement(W,{title:F("Options","formidable"),initialOpen:!1},wp.element.createElement(Y,{label:F("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(Y,{label:F("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(Y,{label:F("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:F("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(Q,null,wp.element.createElement(u,this.props.attributes))))}}])&&z(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(M);function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r Date: Tue, 2 Dec 2025 14:33:22 +0300 Subject: [PATCH 24/39] Fix remaining merge conflict --- classes/models/FrmFieldFormHtml.php | 3 --- js/formidable.js | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/classes/models/FrmFieldFormHtml.php b/classes/models/FrmFieldFormHtml.php index 2702fa7f25..5680ac8633 100644 --- a/classes/models/FrmFieldFormHtml.php +++ b/classes/models/FrmFieldFormHtml.php @@ -327,10 +327,7 @@ private static function get_error_body( $html ) { * This ID was added to the HTML in v3.06.02. * * @since 3.06.02 -<<<<<<< HEAD -======= * ->>>>>>> d09ccd132fba0a6716633023b136cfc726479470 * @return void */ private function maybe_add_error_id() { diff --git a/js/formidable.js b/js/formidable.js index 97081be776..dfdbd910d9 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1200,14 +1200,14 @@ function frmFrontFormJS() { jQuery( '.form-field' ).removeClass( 'frm_blank_field has-error' ); jQuery( '.frm_error_style' ).remove(); document.querySelectorAll( '.form-field .frm_error' ).forEach( el => { - const inputs = document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ) + const inputs = document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ); if ( inputs.length ) { inputs.forEach( input => { input.setAttribute( 'aria-describedby', input.getAttribute( 'aria-describedby' ).replace( el.id, '' ) ); } ); } el.remove(); - }); + } ); } /** From 10a587da8079acc5ec6740748cbbe6f8c2374e65 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:37:37 +0300 Subject: [PATCH 25/39] Build files --- css/frm_admin.css | 2 +- css/frm_testing_mode.css | 2 +- js/formidable_admin.js | 2 +- js/frm_testing_mode.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/css/frm_admin.css b/css/frm_admin.css index 973a41e393..f7486fc3f4 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,3 +1,3 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! +@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! * Bootstrap v4.6.1 */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl .frm_actions_dropdown .frm_icon_font{float:right;margin-right:0;margin-left:3px}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}#frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:0;left:auto}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.rtl #frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:auto;left:0}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} diff --git a/css/frm_testing_mode.css b/css/frm_testing_mode.css index 74be79ddd9..a44f7d7cce 100644 --- a/css/frm_testing_mode.css +++ b/css/frm_testing_mode.css @@ -1,3 +1,3 @@ :root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} + */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} diff --git a/js/formidable_admin.js b/js/formidable_admin.js index b94e477b0d..d238faa706 100644 --- a/js/formidable_admin.js +++ b/js/formidable_admin.js @@ -1 +1 @@ -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))})}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                        '+e.message+"

                                        "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",h=o.querySelector(".frm-circled-icon");h&&(h.classList.remove("frm-circled-icon-green"),null===(a=h.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var y=o.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==l&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==h||h.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l.style.display=g,c.style.display="block"===g?"inline-block":g,s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,q=B.__,C=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){di(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function W(e,t){void 0===t&&(t=this),et(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Yn("#"+r.attr("id")),ho(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function U(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ui(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach(function(e){J(e),Array.from(e.children).forEach(function(e){return Z(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=q("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop(function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))})}),An(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.appendChild(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Kt(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=q("Set Row Layout","formidable");ce(t,n),Rt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=q("Move Field Group","formidable");ce(r,i),Rt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:q("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:q("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),Rt(t,q("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),so(),Fr(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),Ue(e,!0),t.each(function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")})}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}},0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=q(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=q(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach(function(e){r=r.add(jQuery("
                                      • ").addClass("frm_field_box").html(jQuery("
                                          ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function We(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(nt(r),oi(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(Sn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&Sn(s)}Je(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function it(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=pn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function lt(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function st(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&ct(""!==r,".frm_invalid_msg"+t)}function dt(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(ct(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function ct(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(ct(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;mt(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),mt(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function mt(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function _t(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function pt(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function gt(){ht(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function ht(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");qo(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function vt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);xt(jQuery(this)),qo(jQuery(".field_"+n+"_image_id")),qo(jQuery(".frm_toggle_image_options_"+n)),qo(jQuery(".frm_image_size_"+n)),qo(jQuery(".frm_alignment_"+n)),qo(jQuery(".frm-add-other#frm_add_field_"+n)),(e=vn(n))?(jt(n,"inline"),bt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),bt(i),jt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function bt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function jt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function wt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function xt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){xt(jQuery(this))}function kt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),r.open()}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function At(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function St(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function Lt(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;h(n,i)}function It(e){e.preventDefault()}function Bt(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function qt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Nt(e){return C(q("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Ot(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Nt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ft(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Dt(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.appendChild($t(e,"even")),t):(5!==e&&t.appendChild($t(e,"even")),e%2==1&&t.appendChild($t(e,"middle")),e<6?(t.appendChild($t(e,"left")),t.appendChild($t(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Yt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?sr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Jt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Xt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Yt(){var e=c();return e.classList.add("frm_grid_container"),e}function Zt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),fr()}}function er(){var e,t;e=tr(),t=this.getAttribute("layout-type"),se(le(e).first(),t),yr()}function tr(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){le(jQuery(this)).each(function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),se(le(t).first()),t}function rr(){null===this.closest(".frm-merge-fields-into-row")&&nr(le(jQuery(".frm-field-group-hover-target")))}function nr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Kt(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=wr()>0&&ar(Kt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){pr(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=gr();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=gr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void hr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!br()),e;(e=c()).id="frm_field_multiselect_popup",br()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=q("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Gt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():vr(),De()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),vr()}function vr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function br(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function jr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=zt(wr(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function wr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=le(jQuery(this)).length}),e}function xr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){kr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Nt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){kr(this.getAttribute("data-deletefield"))}function kr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),An()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)})}(n),n.remove(),r.fadeOut("slow",function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Fr():"product"===n&&(Be(),it()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&Sn(t);G()}),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Sr(r,"frm_logic_"+e+"_"),fields:rt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")})}}),!1}function Sr(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Lr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Sr(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Ir(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Br(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Ir(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function qr(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Cr(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=qr(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Ir(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",kn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,vn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=bn(t),mn(t),gn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=vn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=To(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=an(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find(function(e){return e.value===l});if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}sn(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                                          "+(s?a:"")+"
                                          "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=To(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name*="[label]"]'),c=To(e),u=bn(e),f=vn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=gn(i,u,_n(d[t]),mn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:hn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function _n(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function pn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?pn(t):t}function gn(e,t,r,n){var i,o,l,s=e;return s=pn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function hn(e){return field=jQuery("#"+e),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))}function yn(e){return jn("separate_value_"+e)}function vn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function qn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function Cn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Nn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=$i(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&et(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function On(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function Fn(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Zn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function ei(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),h.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ti(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&ho(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function ti(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ti(++t)),t}function ri(){var e,t=jQuery(this).data("actiontype");if(!ci(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.appendChild(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),di(t),Yn("#frm_form_action_"+r),so(),ho(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ni(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",Eo(t,"input")}function ii(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function oi(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===oi.prototype.endMarker&&(oi.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,oi.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ai(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function si(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function di(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ci(e)?(t=n,r=ui(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function ci(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ui(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ui(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function fi(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function mi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function _i(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1})}function pi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function gi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function hi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function xi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ki(){Wn()||(Kn(this),Rn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),Ai(jQuery(this),this.getAttribute("data-code")),!1}function Ai(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Si(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Si(o,t);return!1}function Si(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Li(t)){var r=e.value.split(" ").filter(Li);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Gn(e)}function Li(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ii(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),Eo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),Eo(e,"change"))}function Bi(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function qi(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ui(),"use"===(t=Wi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function Ci(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Oi()}}(e.target)}function Oi(e){var t;void 0===e&&(e=q("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:q("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:q("Save and Reload","formidable"),buttonType:"primary"});p(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:q("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ti(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=$i(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ui(n);else{if(Ti(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){E||(E=1,window.addEventListener("beforeunload",Ri))}function Pi(){E=0}function Hi(){E=0}function zi(){E=0}function Ri(e){E&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function $i(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=$i(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Wi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Wi(r);return r}function Ui(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                                          ":'

                                          Imported '+r.data.name+"

                                          ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,function(e){return e!=t}),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),xo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function ho(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function yo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||Qo(l,n)?(s&&Di(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function Qo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function ko(e){e.stopPropagation()}function Eo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function qo(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Co(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Oo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function To(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(q("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ui(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){G()}),O={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",St),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){p(e,Lt)}),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:q("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),ho(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",W),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Jn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",U),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Xn(this),V(this),!1}),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Rn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",xo),jQuery(document).on("focusin click",".frm-auto-search",ko);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",Co),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),_&&p(_,function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",zn),jQuery(".frm_submit_no_ajax").on("click",$n),Un(),jQuery("a.edit-form-status").on("click",Ln),jQuery(".cancel-form-status").on("click",In),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Or),e.on("change",".frm_logic_field_opts",xn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Bn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",qe),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",st),e.on("change click","[data-changeme]",at),e.on("click","input.frm_req_field",dt),e.on("click",".frm_mark_unique",ut),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Tr),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",vt),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",kt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",wt),e.on("click",".frm_multiselect_opt",At),w.on("mousedown","input, textarea, select",It),w.on("click","input[type=radio], input[type=checkbox]",It),w.on("click",".frm_delete_field",Ot),w.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ft),jQuery(document).on("click",".frm_clone_field_group",Dt),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Mt),jQuery(document).on("click",".frm-row-layout-option",Zt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",er),jQuery(document).on("click",".frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",ir),jQuery(document).on("click",".frm-break-field-group",dr),w.on("click","#frm_field_group_popup .frm_grid_container input",cr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",ur),jQuery(document).on("click",".frm-save-custom-field-group-layout",mr),w.on("click","ul.frm_sorting",_r),jQuery(document).on("click",".frm-merge-fields-into-row",jr),jQuery(document).on("click",".frm-delete-field-groups",xr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",Bt),e.on("mousedown",".frm_single_option input[type=radio]",qt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",pt),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",gt),w.on("click",".frm_primary_label",Gr),w.on("click",".frm_description",$r),w.on("click","li.ui-state-default:not(.frm_noallow)",Ur),w.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Nn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Nn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",On),jQuery(document).on("change","[data-frmchange]",Fn),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",tt),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),it(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Oo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Cr),frmDom.util.documentOn("click",".frm-show-field-settings",Ur),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Vr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",_t),jQuery(x).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=To(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),Cn(),document.addEventListener("frm_added_field",Cn),Be(),Fo(),An(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Ti,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ai),i.on("click",".frm_remove_field",li),i.on("change",".frm_to_row, .frm_from_row",si),i.on("change",".frm_tax_selector",wi),i.on("change","select.frm_single_post_field",_i),i.on("change","select.frm_toggle_post_content",pi),i.on("change","select.frm_dyncontent_opt",gi),i.on("change",".frm_post_type",hi),i.on("click",".frm_add_postmeta_row",bi),i.on("click",".frm_add_posttax_row",vi),i.on("click",".frm_toggle_cf_opts",xi),i.on("click",".frm_duplicate_form_action",ei),jQuery(".frm_actions_list").on("click",".frm_active_action",ri),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ni),so(),jQuery("ul.frm_actions_list li").each(function(){di(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",ki),Un(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",mi),e.on("click",".frm_already_used",fi),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?kt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Zn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var o=document.getElementById("single_entry");jQuery(o).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Gn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Gn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Bn),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),ho(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){Ai(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ii),jQuery(document).on("keyup change",".frm-build-logic",Bi),Yn(),jQuery(document).on("frmElementAdded",function(e,t){Yn(t)}),jQuery(document).on("mousedown",".frm-show-box",Ci),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),qi(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){Vi("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){Vi("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(data,function(){if(!a)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.parentNode.removeChild(t)})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",kt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",yo),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return E=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=To(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),Ue(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:je})})},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:oi}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                            ","")).replaceAll("
                                          • ",'
                                          • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); +(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach((function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++}))}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some((function(e){return e.namespace===n})):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(2853),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach((function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--})))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(7203),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach((function(t){t.textContent=e,t.style.display="block"})),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(e){e.style.display="none"})),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach((function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))}))}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                            '+e.message+"

                                            "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",(function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()})),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",h=o.querySelector(".frm-circled-icon");h&&(h.classList.remove("frm-circled-icon-green"),null===(a=h.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var y=o.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==l&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==h||h.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l.style.display=g,c.style.display="block"===g?"inline-block":g,s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},7203:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7730);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},1127:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2716);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},7730:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2716),i=r(1127);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2716:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout((function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")}),1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout((function(){t.location.reload()}),1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach((function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")}))},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach((function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))}))},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,q=B.__,C=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Ao}):function(e){var t,r,n,i,o,a=Ao("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Ao("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,(function(){var r;a.remove(),Oi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){oi(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()})),void 0!==r&&(r=jQuery(r)).fadeOut(400,(function(){r.remove()})),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function W(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),io(),Vn("#"+r.attr("id")),mo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function U(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ri(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach((function(e){J(e),Array.from(e.children).forEach((function(e){return Z(e,".frm-move")}));var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)})),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),rn(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Oi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach((function(e){return e.classList.remove("frm-over-droppable")})),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=q("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),gr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach((function(e){[].slice.call(e.children).forEach((function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()}))})),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop((function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r}))}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach((function(e){e.childNodes.forEach((function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))}))})),Qn(),document.querySelectorAll(".edit_field_type_end_divider").forEach((function(e){return e.parentNode.appendChild(e)})),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach((function(e){return!e.children.length&&e.remove()})),xn();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach((function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}})),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Ut(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Wt(n,t,e)}:function(e){return ar(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=q("Set Row Layout","formidable");ce(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=q("Move Field Group","formidable");ce(r,i),zt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:q("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:q("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),zt(t,q("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",(function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()}))}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),io(),Or(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map((function(e){return JSON.parse(e)})),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),Ue(e,!0),t.each((function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")}))}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)}))}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}}),0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=q(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=q(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach((function(e){r=r.add(jQuery("
                                          • ").addClass("frm_field_box").html(jQuery("
                                              ").addClass("frm_grid_container frm_sorting").append(e)))})),r}function We(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Oi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(rt(r),ti(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(kn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Or(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout((function(){o.classList.remove("frm-newly-added")}),1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach((function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])}))),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&kn(s)}Je(),io(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach((function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})),o.querySelectorAll(".frm-dropdown-menu").forEach((function(e){return e.classList.add("dropdown-menu")}));var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||gr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r,n,i,o=!1,a=0;a"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function nt(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=mn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function at(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function lt(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach((function(e){var n=document.getElementById(e+t);n&&(r+=n.value)})),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&dt(""!==r,".frm_invalid_msg"+t)}function st(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(dt(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function dt(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ct(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(dt(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;ft(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),ft(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout((function(){r.removeClass("frm_conf_inline frm_conf_below")}),200)}function ft(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function mt(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function _t(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,(function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),rn(i)}))}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),No(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),rn(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach((function(e){return e.classList.remove("frm_disabled")})),Oi()}function pt(){gt(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function gt(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function ht(){var e=jQuery(this).closest(".frm-single-settings").data("fid");So(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function yt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);wt(jQuery(this)),So(jQuery(".field_"+n+"_image_id")),So(jQuery(".frm_toggle_image_options_"+n)),So(jQuery(".frm_image_size_"+n)),So(jQuery(".frm_alignment_"+n)),So(jQuery(".frm-add-other#frm_add_field_"+n)),(e=gn(n))?(bt(n,"inline"),vt(i),t=tn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),vt(i),bt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function vt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function bt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function jt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);xt(),gn(e)&&(vt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+tn(e)))}function wt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function xt(){wt(jQuery(this))}function Qt(e){var t=e.target.closest(".frm_image_preview_wrapper");e.preventDefault(),wp.media.model.settings.post.id=0;var r=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});r.on("select",(function(){var e=r.state().get("selection").first().toJSON(),n=t.querySelector("img");n.setAttribute("src",e.url),n.classList.remove("frm_hidden"),n.removeAttribute("srcset"),t.querySelector(".frm_image_preview_frame").style.display="block",t.querySelector(".frm_image_preview_title").textContent=e.filename,t.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(t);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0})),r.open()}function kt(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function Et(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function At(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout((function(){e.focus()}),100)}function St(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,(function(){return r.remove()}));var n=t.dataset.action,i=new FormData;h(n,i)}function Lt(e){e.preventDefault()}function It(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find((function(e){return e!==t})).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",(function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))})),Oi()}function Bt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout((function(){e.prop("checked",!1)}),0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function qt(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Ct(e){return C(q("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Nt(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach((function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)})),l&&(e=Ct(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Ot(){this.closest("li.form-field").click()}function Tt(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Ft(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",(function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach((function(e){e.remove()}));for(var u=0;u6?(t.appendChild(Gt(e,"even")),t):(5!==e&&t.appendChild(Gt(e,"even")),e%2==1&&t.appendChild(Gt(e,"middle")),e<6?(t.appendChild(Gt(e,"left")),t.appendChild(Gt(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i,o,a;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Jt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?ar(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Vt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Kt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Jt(){var e=c();return e.classList.add("frm_grid_container"),e}function Xt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),cr()}}function Yt(){var e,t;e=Zt(),t=this.getAttribute("layout-type"),se(le(e).first(),t),gr()}function Zt(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each((function(){le(jQuery(this)).each((function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()}))})),xn(),se(le(t).first()),t}function er(){null===this.closest(".frm-merge-fields-into-row")&&tr(le(jQuery(".frm-field-group-hover-target")))}function tr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Ut(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=br()>0&&ir(Ut(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",(function(){mr(document.getElementById("frm-field-group-message"))}))}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=_r();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=_r();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void pr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!yr()),e;(e=c()).id="frm_field_multiselect_popup",yr()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=q("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Rt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():hr(),De()}function gr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",gr),hr()}function hr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function yr(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function vr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=Ht(br(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function br(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each((function(){e+=le(jQuery(this)).length})),e}function jr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each((function(){n.push(this.dataset.fid)})),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach((function(e){xr(e)}))}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Ct(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",(function(){jQuery(i).off("click",t)}))}function wr(){xr(this.getAttribute("data-deletefield"))}function xr(e){var t=jQuery("#frm_field_id_"+e);Qr(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each((function(){Qr(this.getAttribute("data-fid"))})),Qn()}function Qr(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach((function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)}))}(n),n.remove(),r.fadeOut("slow",(function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Or():"product"===n&&(Be(),nt()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&kn(t);G()})),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function kr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Er(r,"frm_logic_"+e+"_"),fields:tt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",(function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")}))}}),!1}function Er(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Er(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Sr(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Lr(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Sr(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function Ir(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Br(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=Ir(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Sr(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Jr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Xr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function Yr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",wn(t,e))}function Zr(){var e,t;(e=en(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=pn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return rn(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,gn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=hn(t),un(t),_n(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach((function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find((function(e){return e.checked&&"buttons"===e.value}));return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)}))}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function en(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function tn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function rn(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?sn(a[0],{sourceID:e}):sn(a[0],{sourceID:e,placeholder:i.value});else{r=cn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=en(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=gn(e),d=s?tn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=qo(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=nn(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find((function(e){return e.value===l}));if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}an(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function an(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function ln(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                                              "+(s?a:"")+"
                                              "},this.getSingle()}function sn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=qo(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=cn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],d=[],c=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name*="[label]"]'),u=qo(e),f=hn(e),m=gn(e),_=pn(e);for(t=0;t0||(i=r=c[t].value,o=c[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),_&&(n=c[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),s&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),m&&(i=_n(i,f,fn(c[t]),un(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,c[t],m),checked:(l=c[t].id,field=jQuery("#"+l),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))),key:o},u&&(n=c[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),d.push(a));return d}function un(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function fn(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function mn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce((function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML}),"");return t!==e?mn(t):t}function _n(e,t,r,n){var i,o,l,s=e;return s=mn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function pn(e){return yn("separate_value_"+e)}function gn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Ln(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function In(){jQuery(".frm-hide-empty").each((function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()}))}function Bn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=Hi(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&Ze(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function qn(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Cn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")}))}function Nn(){var e,t,r,n,i,o,a,l=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Kn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function Jn(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",(function(){p.trigger("click"),g.removeClass("open"),h.hide()})),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach((function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)}));var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=Xn(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",(function(){return this.value})),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",(function(){return this.checked}));var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach((function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)})),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach((function(e){frmDom.wysiwyg.init(e)})),f.querySelectorAll(".wp-editor-area").forEach((function(e){frmDom.wysiwyg.init(e)}))),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&mo(f),io(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function Xn(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=Xn(++t)),t}function Yn(){var e,t=jQuery(this).data("actiontype");if(!ai(t)){var r=(e=Er(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Oi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach((function(e){return e.classList.remove("open")}));var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach((function(e){return o.appendChild(e)})),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),oi(t),Vn("#frm_form_action_"+r),io(),mo(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function Zn(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",wo(t,"input")}function ei(e){e.on("Change",(function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)}))}function ti(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===ti.prototype.endMarker&&(ti.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,ti.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ri(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function ni(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",(function(){jQuery(e).find(r+" input").val("")}))}function ii(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function oi(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ai(e)?(t=n,r=li(e)>0,t.forEach((function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")}))):n.forEach((function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))}))}function ai(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=li(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function li(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function si(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function di(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Er(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",(function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")}))}}),!1}function ci(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each((function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1}))}function ui(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function fi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function mi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function vi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function bi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ji(){zn()||($n(this),Mn(document.querySelector(".frm_form_settings")))}function wi(e){return e.preventDefault(),xi(jQuery(this),this.getAttribute("data-code")),!1}function xi(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Qi(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Qi(o,t);return!1}function Qi(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&ki(t)){var r=e.value.split(" ").filter(ki);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter((function(e){return(e=e.trim()).length&&!t.includes(e)}));return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Pn(e)}function ki(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ei(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),wo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),wo(e,"change"))}function Ai(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function Si(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ri(),"use"===(t=zi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Ci(t,"nofocus"):t.classList.contains("frm_close_icon")||Ci(t,"nofocus"))}function Li(e){e.preventDefault(),e.stopPropagation(),Ci(this)}function Ii(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Bi()}}(e.target)}function Bi(e){var t;void 0===e&&(e=q("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:q("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:q("Save and Reload","formidable"),buttonType:"primary"});p(e,(function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()}));var t=frmDom.modal.footerButton({text:q("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function qi(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find((function(e){return"#frm_close_icon"===e.getAttribute("href")}));if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Ci(e,t){var r=Hi(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ri(n);else{if(qi(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach((function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)}))}(r)}}function Ni(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Oi(){E||(E=1,window.addEventListener("beforeunload",Mi))}function Ti(){E=0}function Fi(){E=0}function Di(){E=0}function Mi(e){E&&(e.preventDefault(),e.returnValue="")}function Pi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function Hi(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=Hi(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function zi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=zi(r);return r}function Ri(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                                              ":'

                                              Imported '+r.data.name+"

                                              ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,(function(e){return e!=t})),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Ki(e)))}))}function Ji(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function Xi(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function Yi(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function Zi(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function eo(e){var t,r,n=e.target.value;ro(n),to.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function to(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each((function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0})),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ro(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach((function(e){e.classList.remove("frm_hidden")})):t.forEach((function(e){e.classList.add("frm_hidden")})),vo.call(document.querySelector(".frm-auto-search")))}}function no(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function io(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function oo(e){e.preventDefault(),so(this,"frm_multiple_addons")}function ao(e){e.preventDefault(),so(this,"frm_activate_addon")}function lo(e){e.preventDefault(),so(this,"frm_install_addon")}function so(e,t){r(1105).toggleAddonState(e,t)}function co(){fo()}function uo(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",(function(){n.addClass("frm_hidden")}))}(0,0,e)}function fo(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function mo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function _o(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),go(t,r,this)}function po(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),go(this,t,r)}function go(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||bo(l,n)?(s&&Ni(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach((function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every((function(e){return e.classList.contains("frm_hidden")}));e.classList.toggle("frm_hidden",n)}})),jQuery(this).trigger("frmAfterSearch")}function bo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function jo(e){e.stopPropagation()}function wo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function xo(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function Qo(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function ko(e){jQuery(e).css("visibility","hidden")}function Eo(e){jQuery(e).css("visibility","visible")}function Ao(e,t){return r(4260).initModal(e,t)}function So(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Lo(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function Io(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Bo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function qo(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Co(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map((function(e){return"frm"+e})),i=["first","middle","last"];document.addEventListener("change",(function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach((function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))})),l.forEach((function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))})),i.forEach((function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))})),l.forEach((function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")}))}(o)}),!1)}function No(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach((function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))})),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Oo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done((function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(q("Thank you for signing up!","formidable")))}else uo("invalid")}))}}else uo("invalid");else uo("empty")}function To(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ri(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",(function(e){e.preventDefault(),Oo()}));var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",(function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}}))}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",(function(){G()})),O={},jQuery(".wp-admin").on("click",(function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")})),jQuery("#frm_bs_dropdown:not(.open) a").on("click",At),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach((function(e){p(e,St)})),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:q("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce((function(e,t){return t.checked?e+1:e}),0)>=10?(t.classList.remove("frm_hidden"),n.forEach((function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)}))):t.classList.add("frm_hidden")};i(),n.forEach((function(e){e.addEventListener("change",(function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach((function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1})))}))}))}}}(),mo(),jQuery("[data-frmprint]").on("click",(function(){return window.print(),!1}))),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",bi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach((function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)}))}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",(function(t){return e(t.target)}))}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",wr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",yo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",W),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",(function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)})),jQuery(document).on("click","#doaction, #doaction2",(function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1})),jQuery(document).on("click","#frm-confirmed-click",(function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0})),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Wn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",(function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1})),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",(function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1}))),jQuery(document).on("click","#frm-nav-tabs a",U),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",(function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Un(this),V(this),!1})),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",(function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Mn(document.getElementById("posts-filter")),!1})),jQuery(".frm_select_box").on("click focus",(function(){this.select()})),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",vo),jQuery(document).on("focusin click",".frm-auto-search",jo);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",lo),jQuery(document).on("click",".frm-activate-addon",ao),jQuery(document).on("click",".frm-solution-multiple",oo),jQuery("button, input[type=submit]").on("click",Lo),document.addEventListener("click",(function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout((function(){return n.click()}),0)}}}})),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",(function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]})),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach((function(e,t){e.addEventListener("click",(function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach((function(e,r){e.classList.contains("frm_other_option")||No(t,e)}))}))}));var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,(function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)}));var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,(function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))})),_&&p(_,(function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)})))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",To),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",Dn),jQuery(".frm_submit_no_ajax").on("click",Hn),Rn(),jQuery("a.edit-form-status").on("click",En),jQuery(".cancel-form-status").on("click",An),jQuery(".save-form-status").on("click",(function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1})),jQuery(".frm_form_builder form").first().on("submit",(function(){jQuery(".inplace_field").trigger("blur")})),io(),Or(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",kr),e.on("click",".frm_add_watch_lookup_row",Ar),e.on("change",".frm_get_values_form",Cr),e.on("change",".frm_logic_field_opts",bn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Sn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",qe),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",lt),e.on("change click","[data-changeme]",ot),e.on("click","input.frm_req_field",st),e.on("click",".frm_mark_unique",ct),e.on("change",".frm_repeat_format",Vr),e.on("change",".frm_repeat_limit",Kr),e.on("change",".frm_js_checkbox_limit",Jr),e.on("input",'input[name^="field_options[add_label_"]',(function(){Xr(this,"add")})),e.on("input",'input[name^="field_options[remove_label_"]',(function(){Xr(this,"remove")})),e.on("change",'select[name^="field_options[data_type_"]',Nr),jQuery(t).on("click",".frm-collapse-page",Tr),jQuery(t).on("click",".frm-collapse-section",Mr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",Pr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",(function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),Pr.call(this,e))})),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",ht),e.on("click",".frm_toggle_image_options",yt),e.on("click",".frm_remove_image_option",kt),e.on("click",".frm_choose_image_box",Qt),e.on("change",".frm_hide_image_text",xt),e.on("change",".frm_field_options_image_size",jt),e.on("click",".frm_multiselect_opt",Et),w.on("mousedown","input, textarea, select",Lt),w.on("click","input[type=radio], input[type=checkbox]",Lt),w.on("click",".frm_delete_field",Nt),w.on("click",".frm_select_field",Ot),jQuery(document).on("click",".frm_delete_field_group",Tt),jQuery(document).on("click",".frm_clone_field_group",Ft),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Dt),jQuery(document).on("click",".frm-row-layout-option",Xt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",Yt),jQuery(document).on("click",".frm-custom-field-group-layout",er),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-break-field-group",lr),w.on("click","#frm_field_group_popup .frm_grid_container input",sr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",dr),jQuery(document).on("click",".frm-save-custom-field-group-layout",ur),w.on("click","ul.frm_sorting",fr),jQuery(document).on("click",".frm-merge-fields-into-row",vr),jQuery(document).on("click",".frm-delete-field-groups",jr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',(function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)})),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",It),e.on("mousedown",".frm_single_option input[type=radio]",Bt),e.on("focusin",".frm_single_option input[type=text]",qt),e.on("click",".frm_add_opt",_t),e.on("change",".frm_single_option input",Zr),e.on("change",".frm_image_id",Zr),e.on("change",".frm_toggle_mult_sel",pt),w.on("click",".frm_primary_label",zr),w.on("click",".frm_description",Rr),w.on("click","li.ui-state-default:not(.frm_noallow)",$r),w.on("dblclick","li.ui-state-default",Ur),e.on("change",".frm_tax_form_select",Yr),e.on("change","select.conf_field",ut),e.on("change",".frm_get_field_selection",jn),e.on("click",".frm-show-inline-modal",Bn),e.on("keydown",".frm-show-inline-modal",(function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Bn.call(this,e))})),e.on("click",".frm-inline-modal .dismiss",qn),jQuery(document).on("change","[data-frmchange]",Nn),document.addEventListener("click",Cn),e.on("change",".frm_include_extras_field",et),e.on("change",'select[name^="field_options[form_select_"]',Io),jQuery(document).on("submit","#frm_js_build_form",Ti),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Oi),nt(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Bo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Lr),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),frmDom.util.documentOn("click",".frm-show-field-settings",$r),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Wr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',(function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find((function(e){return null!==e.offsetParent}));if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)})),!1!==(r=Ao("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",mt),jQuery(x).on("click","a.frm-bulk-edit-link",(function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=pn(s),c=qo(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}})),jQuery("#frm-update-bulk-opts").on("click",(function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Oi())}))),In(),document.addEventListener("frm_added_field",In),Be(),Co(),Qn(),frmDom.util.documentOn("change",".frm_show_password_setting_input",(function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)})),document.addEventListener("scroll",qi,!0),document.addEventListener("change",Ii),document.querySelector(".frm_form_builder").addEventListener("mousedown",(function(e){e.shiftKey&&e.preventDefault()})),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",(function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Hr)}),9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ri),i.on("click",".frm_remove_field",ni),i.on("change",".frm_to_row, .frm_from_row",ii),i.on("change",".frm_tax_selector",yi),i.on("change","select.frm_single_post_field",ci),i.on("change","select.frm_toggle_post_content",ui),i.on("change","select.frm_dyncontent_opt",fi),i.on("change",".frm_post_type",mi),i.on("click",".frm_add_postmeta_row",gi),i.on("click",".frm_add_posttax_row",pi),i.on("click",".frm_toggle_cf_opts",vi),i.on("click",".frm_duplicate_form_action",Jn),jQuery(".frm_actions_list").on("click",".frm_active_action",Yn),jQuery("#frm-show-groups, #frm-hide-groups").on("click",Zn),io(),jQuery("ul.frm_actions_list li").each((function(){oi(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")})),jQuery(".frm_submit_settings_btn").on("click",ji),Rn(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",di),e.on("click",".frm_already_used",si),document.addEventListener("click",(function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?Qt.bind(t)(e):t.closest(".frm_remove_image_option")&&kt.bind(t)(e))})),e.on("mouseup","*:not(.frm-show-box)",To),jQuery(document.getElementById("no_save")).on("change",(function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)})),jQuery('select[name="options[edit_action]"]').on("change",Kn),t=document.getElementById("logged_in"),jQuery(t).on("change",(function(){this.checked?Eo(".hide_logged_in"):ko(".hide_logged_in")})),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",(function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")}));var o=document.getElementById("single_entry");jQuery(o).on("change",(function(){this.checked?Eo(".hide_single_entry"):ko(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")})),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",(function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")})),Pn(l),n=document.getElementById("editable"),jQuery(n).on("change",(function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Pn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))})),jQuery(document).on("change","#protect_files",(function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")})),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Sn),jQuery(document).on("submit",".frm_form_settings",Fi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Oi),mo(),jQuery(document).on("frm-action-loaded",$i),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',(function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden")})),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach((function(e){e.classList.remove("frm_hidden")})),t.setAttribute("data-on-submit-type",e.target.value)}})),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",Di)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",wi),jQuery(document).on("change",".frm_insert_val",(function(){xi(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")})),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ei),jQuery(document).on("keyup change",".frm-build-logic",Ai),Vn(),jQuery(document).on("frmElementAdded",(function(e,t){Vn(t)})),jQuery(document).on("mousedown",".frm-show-box",Li),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",(function(e){var i,o,a,l;if(e.stopPropagation(),Si(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}})),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",(function(e){e.preventDefault()})),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",(function(e){Gi("frmids",e)})),e.on("click",".subsubsub a.frmkeys",(function(e){Gi("frmkeys",e)}))},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",(function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",(function(){return t.remove()}),{once:!0})),xo(data,(function(){if(!a)return"#"!==n?(window.location=n,!0):void Qo(t,(function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),co()),t.parentNode.removeChild(t)}))}))}})),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&co()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",po)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",Qt),e.on("click",".frm_remove_image_option",kt),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Wi),io(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Ui),jQuery(document).on("click","#frm-new-template button",_o),jQuery("#frm-dismissable-cta .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()}));var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",ho),document.querySelector(".frm_captchas").addEventListener("change",(function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)})),frmDom.util.documentOn("submit",".frm_settings_form",(function(){return E=0}));var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",(function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)}));var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach((function(e){e.addEventListener("change",(function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach((function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}}))}}))}))},exportInit:function(){jQuery(".frm_form_importer").on("submit",Vi),jQuery(document.getElementById("frm_export_xml")).on("submit",Ji),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",Xi),jQuery('input[name="frm_import_file"]').on("change",Yi),document.querySelector('select[name="format"]').addEventListener("change",eo),jQuery('input[name="frm_export_forms[]"]').on("click",no),io(),jQuery(".frm-feature-banner .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()})),ro(Zi()),document.querySelector("#frm-export-select-all").addEventListener("change",(function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach((function(t){return t.checked=e.target.checked}))}))},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",(function(r){r.target===t&&xo({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},(function(){jQuery(e).fadeOut(400,(function(){e.remove()}))}))}))}},updateOpts:function(e,t,r){var n=pn(e),i=qo(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),rn(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout((function(){xn(),Ue(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})}),10)},error:je})}))},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:ti}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready((function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach((function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                                ","")).replaceAll("
                                              • ",'
                                              • ",""),t.outerHTML=r)})),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach((function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}))})),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout((function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"}),2e3))}})}})(); \ No newline at end of file diff --git a/js/frm_testing_mode.js b/js/frm_testing_mode.js index f2abb17ee5..9341b02de9 100644 --- a/js/frm_testing_mode.js +++ b/js/frm_testing_mode.js @@ -1,2 +1,2 @@ /*! For license information please see frm_testing_mode.js.LICENSE.txt */ -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(8793),o=r(1323);function i(e){var t=(0,n.A)(e);return function(e){return(0,o.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function o(e,t){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(t,{A:()=>o});var n=r(65);function o(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,o,i,a;function s(e){for(var t,r,s,l,c=[],u=[];t=e.match(a);){for(r=t[0],(s=e.substr(0,t.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach(function(e){e.name===r&&e.currentIndex>=u&&e.currentIndex++})}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,o=e[t];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7395);const o=function(e,t){return function(r){var o=e[t];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var o=e[t];return void 0!==n?r in o&&o[r].handlers.some(function(e){return e.namespace===n}):r in o}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=e[t];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(e){c[e].namespace===a&&(c.splice(e,1),l++,s.__current.forEach(function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--}))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,a),l}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=e[t];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>c});var n=r(4467),o=r(5397);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},s),n.data[t]),e),n.data[t][""]=a(a({},s[""]),n.data[t][""])},d=function(e,t){u(e,t),c()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[e]||u(void 0,e),n.dcnpgettext(e,t,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(e,t,n){var o=f(n,t,e);return r?(o=r.applyFilters("i18n.gettext_with_context",o,e,t,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,e,t,n)):o};if(e&&d(e,t),r){var v=function(e){l.test(e)&&c()};r.addAction("hookAdded","core/i18n",v),r.addAction("hookRemoved","core/i18n",v)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:d,resetLocaleData:function(e,t){n.data={},n.pluralForms={},d(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+p(t),n,e,t)):n},_x:m,_n:function(e,t,n,o){var i=f(o,void 0,e,t,n);return r?(i=r.applyFilters("i18n.ngettext",i,e,t,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,e,t,n,o)):i},_nx:function(e,t,n,o,i){var a=f(i,o,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,e,t,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(e,t,o){var i,a,s=t?t+""+e:e,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,e,t,o)),l}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>u,afterAddonInstall:()=>c,extractErrorFromAddOnResponse:()=>l,toggleAddonState:()=>s});var n=r(9575),o=frmDom,i=o.div,a=o.svg;function s(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(e),i=o.attr("rel"),a=o.parent(),s=a.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:i},success:function(e){var r,n,i;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(i=e.saveAndReload),e=e.message);var d=l(e);d?u(d,a,o):(c(e,o,s,a,i,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){o.removeClass("frm_loading_button")}})}function l(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function c(e,t,r,o,s){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",c=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var o=document.querySelector(".frm-addon-status");o&&(o.textContent="");var i,s=e.querySelector(".frm-circled-icon");if(s)s.classList.add("frm-circled-icon-green"),null===(i=s.querySelector("svg"))||void 0===i||i.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:c.active},frm_deactivate_addon:{class:"frm-addon-installed",message:c.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:c.not_installed}};f.frm_install_addon=f.frm_activate_addon;var p=r[0];p&&(p.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(s)&&u.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(s,t))})}function u(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                                '+e.message+"

                                                "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>a,initUpgradeModal:()=>s});var n=r(9575),o=frmDom.svg;function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var a,s=i.querySelector(".frm-oneclick"),l=i.querySelector(".frm-upgrade-message"),c=i.querySelector(".frm-upgrade-link"),u=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),p=e.getAttribute("data-message"),m="block",v="block",h="none",g=i.querySelector(".frm-circled-icon");g&&(g.classList.remove("frm-circled-icon-green"),null===(a=g.querySelector("svg"))||void 0===a||a.replaceWith(o({href:"#frm_filled_lock_icon"})));var y=i.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==s&&void 0!==f&&f){null===p&&(v="none"),m="none",h="block",f=JSON.parse(f),u.className=u.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),u.className=u.className+" "+f.class,u.rel=f.url,s.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),u.textContent=(0,n.__)("Activate","formidable");var _=e.querySelector("use");_&&(null==g||g.querySelector("svg").replaceWith(o({href:_.getAttribute("href")||_.getAttribute("xlink:href"),classList:["frm_svg32"]})))}p||(p=l.getAttribute("data-default")),void 0!==r&&(p=p.replace('',r)),l.innerHTML=p,e.dataset.upsellImage&&l.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),c.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,c),d.style.display="none",s.style.display=h,u.style.display="block"===h?"inline-block":h,l.style.display=v,c.style.display="block"===m?"inline-block":m;var b=c.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===m?"flex":m)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function s(){var e=a("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var u=e.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&(d&&(d.style.display="none"),d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",u.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",u.querySelector(".frm_feature_label").textContent=c,u.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",u.querySelector("h2").style.display="block",e.dialog("open");var v=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=v.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),v.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return function(e,t){var r,n,a,s,l,c,u,d,f,p=1,m=e.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?v+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",v+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return v}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],i=0;r;){if(null!==(t=o.text.exec(r)))n.push(t[0]);else if(null!==(t=o.modulo.exec(r)))n.push("%");else{if(null===(t=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],l=t[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},o)this.options[r]=void 0!==t&&r in t?t[r]:o[r]}i.prototype.getPluralForm=function(e,t){var r,o,i,a=this.pluralForms[e];return a||("function"!=typeof(i=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(9922);function o(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284);function o(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284),o=r(2327);function i(e){var t=(0,o.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}function n(){var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function s(r,n,i,a){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return o(u,"_invoke",function(r,n,o){var i,a,s,c=0,u=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,s=e,f.n=r,l}};function p(r,n){for(a=r,s=n,t=0;!d&&c&&!o&&t3?(o=m===n)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&pn||n>m)&&(i[4]=r,i[5]=n,f.n=m,a=0))}if(o||r>1)return l;throw d=!0,n}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),a=u,s=m;(t=a<2?e:s)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(c=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=f.n<0)?s:r.call(n,f))!==l)break}catch(t){i=e,a=1,s=t}finally{c=1}}return{value:t,done:d}}}(r,i,a),!0),u}var l={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var f=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),p=d.prototype=c.prototype=Object.create(f);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return u.prototype=d,o(p,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,a,"GeneratorFunction"),o(p),o(p,a,"Generator"),o(p,i,function(){return this}),o(p,"toString",function(){return"[object Generator]"}),(n=function(){return{w:s,m}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){function a(t,r){o(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},o(e,t,r,n)}function i(e,t,r,n,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e=r(1105).toggleAddonState;function t(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",function(t){t.preventDefault(),e(this,"frm_install_addon")}),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",function(t){t.preventDefault(),e(this,"frm_activate_addon")}),function(){o.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")})}function o(){var e;return e=n().m(function e(){return n().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.resolve().then(r.bind(r,4260));case 1:e.v.initUpgradeModal();case 2:return e.a(2)}},e)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function s(e){i(a,n,o,s,l,"next",e)}function l(e){i(a,n,o,s,l,"throw",e)}s(void 0)})},o.apply(this,arguments)}function a(){var e=window.frmDom;e.bootstrap.setupBootstrapDropdowns(function(){var e=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");e&&(e.classList.add("frm-dropdown-toggle"),e.hasAttribute("role")||e.setAttribute("role","button"),e.hasAttribute("tabindex")||e.setAttribute("tabindex",0))});var t=document.getElementById("frm_testmode_enabled_form_actions");t&&(t.style.display="none",e.bootstrap.multiselect.init.bind(t)(),t.disabled&&t.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?t():document.addEventListener("DOMContentLoaded",t),document.addEventListener("frm_after_start_over",function(){a()}),jQuery(document).on("frmPageChanged frmFormComplete",function(){a()})}()})(); +(()=>{var t={65:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(8793),o=r(1323);function i(t){var e=(0,n.A)(t);return function(t){return(0,o.A)(e,t)}}},1323:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};function o(t,e){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(e,{A:()=>o});var n=r(65);function o(t){var e=(0,n.A)(t);return function(t){return+e({n:t})}}},8793:(t,e,r)=>{"use strict";var n,o,i,a;function s(t){for(var e,r,s,l,c=[],u=[];e=t.match(a);){for(r=e[0],(s=t.substr(0,e.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=t[e];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach((function(t){t.name===r&&t.currentIndex>=u&&t.currentIndex++}))}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(){var r,n,o=t[e];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7395);const o=function(t,e){return function(r){var o=t[e];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r){var n=t[e];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some((function(t){return t.namespace===n})):r in o}}},7765:(t,e,r)=>{"use strict";r.d(e,{A:()=>f});var n=r(2853),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function t(){(0,n.A)(this,t),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=t[e];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(t){c[t].namespace===a&&(c.splice(t,1),l++,s.__current.forEach((function(e){e.name===i&&e.currentIndex>=t&&e.currentIndex--})))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&t.doAction("hookRemoved",i,a),l}}}},6763:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(e,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(t,e,r)=>{"use strict";r.d(e,{h:()=>c});var n=r(7203),o=r(5397);function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=a(a(a({},s),n.data[e]),t),n.data[e][""]=a(a({},s[""]),n.data[e][""])},d=function(t,e){u(t,e),c()},f=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||u(void 0,t),n.dcnpgettext(t,e,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(t,e,n){var o=f(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,t,e,n)):o};if(t&&d(t,e),r){var h=function(t){l.test(t)&&c()};r.addAction("hookAdded","core/i18n",h),r.addAction("hookRemoved","core/i18n",h)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:d,resetLocaleData:function(t,e){n.data={},n.pluralForms={},d(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var n=f(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+p(e),n,t,e)):n},_x:m,_n:function(t,e,n,o){var i=f(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=f(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,s=e?e+""+t:t,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,t,e,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,t,e,o)),l}}}},5839:(t,e,r)=>{"use strict";r.d(e,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(t,e,r)=>{"use strict";r.d(e,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(t,e,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addonError:()=>u,afterAddonInstall:()=>c,extractErrorFromAddOnResponse:()=>l,toggleAddonState:()=>s});var n=r(9575),o=frmDom,i=o.div,a=o.svg;function s(t,e){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(t),i=o.attr("rel"),a=o.parent(),s=a.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:e,nonce:frmGlobal.nonce,plugin:i},success:function(t){var r,n,i;"string"!=typeof(t=null!==(r=null===(n=t)||void 0===n?void 0:n.data)&&void 0!==r?r:t)&&"string"==typeof t.message&&(void 0!==t.saveAndReload&&(i=t.saveAndReload),t=t.message);var d=l(t);d?u(d,a,o):(c(t,o,s,a,i,e),wp.hooks.doAction("frm_update_addon_state",t))},error:function(){o.removeClass("frm_loading_button")}})}function l(t){return"string"!=typeof t&&(void 0===t.success||!t.success)&&(t.form&&jQuery(t.form).is("#message")?{message:jQuery(t.form).find("p").html()}:t)}function c(t,e,r,o,s){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",c=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach((function(e){e.textContent=t,e.style.display="block"})),e.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(t){t.style.display="none"})),function(){var t=document.getElementById("frm_upgrade_modal");if(t){t.classList.add("frm-success");var e=t.querySelector(".frm-upgrade-message");if(e){var r=e.querySelector("img");e.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&e.append(r)}var o=document.querySelector(".frm-addon-status");o&&(o.textContent="");var i,s=t.querySelector(".frm-circled-icon");if(s)s.classList.add("frm-circled-icon-green"),null===(i=s.querySelector("svg"))||void 0===i||i.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:c.active},frm_deactivate_addon:{class:"frm-addon-installed",message:c.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:c.not_installed}};f.frm_install_addon=f.frm_activate_addon;var p=r[0];p&&(p.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),e[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(s)&&u.forEach((function(t){var e=null!==t.closest("#frm_upgrade_modal");t.appendChild(function(t,e){var r,o=[d(t)];return e&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(s,e))}))}function u(t,e,r){t.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(t.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(e.append('

                                                '+t.message+"

                                                "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(t){var e=document.createElement("button");return e.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),e.textContent=(0,n.__)("Save and Reload","formidable"),e.addEventListener("click",(function(){var e;"form_builder"===t?((e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()):"settings"===t&&function(){var t=document.getElementById("form_settings_page");if(null!==t){var e=t.querySelector("form.frm_form_settings");null!==e&&(wp.hooks.doAction("frm_reset_fields_updated"),e.submit())}}()})),e}},4260:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addOneClick:()=>i,initModal:()=>a,initUpgradeModal:()=>s});var n=r(9575),o=frmDom.svg;function i(t,e,r){var i;if("modal"===e)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==e)return;i=document.getElementById(t.getAttribute("href").substr(1))}var a,s=i.querySelector(".frm-oneclick"),l=i.querySelector(".frm-upgrade-message"),c=i.querySelector(".frm-upgrade-link"),u=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),f=t.getAttribute("data-oneclick"),p=t.getAttribute("data-message"),m="block",h="block",v="none",y=i.querySelector(".frm-circled-icon");y&&(y.classList.remove("frm-circled-icon-green"),null===(a=y.querySelector("svg"))||void 0===a||a.replaceWith(o({href:"#frm_filled_lock_icon"})));var g=i.querySelector(".frm-learn-more");if(g&&(g.href=t.dataset.learnMore),null!==s&&void 0!==f&&f){null===p&&(h="none"),m="none",v="block",f=JSON.parse(f),u.className=u.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),u.className=u.className+" "+f.class,u.rel=f.url,s.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),u.textContent=(0,n.__)("Activate","formidable");var _=t.querySelector("use");_&&(null==y||y.querySelector("svg").replaceWith(o({href:_.getAttribute("href")||_.getAttribute("xlink:href"),classList:["frm_svg32"]})))}p||(p=l.getAttribute("data-default")),void 0!==r&&(p=p.replace('',r)),l.innerHTML=p,t.dataset.upsellImage&&l.appendChild(frmDom.img({src:t.dataset.upsellImage,alt:t.dataset.upgrade})),c.href=function(t,e){var r=t.getAttribute("data-link");return null!=r&&""!==r||(r=e.getAttribute("data-default")),r}(t,c),d.style.display="none",s.style.display=v,u.style.display="block"===v?"inline-block":v,l.style.display=h,c.style.display="block"===m?"inline-block":m;var b=c.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===m?"flex":m)}function a(t,e){var r=jQuery(t);if(!r.length)return!1;void 0===e&&(e="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:e,resizable:!1,draggable:!1,open:function(){var t,e;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),t=r,e=function(){t.dialog("close")},jQuery(".ui-widget-overlay").on("click",e),t.on("click","a.dismiss",e)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var t=document.getElementById("bulk-option-type");t&&(t.value="")}};return r.dialog(n),r}function s(){var t=a("#frm_upgrade_modal");function e(e){var r,n,o;if((r=e.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===e.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){e.preventDefault();var u=t.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&(d&&(d.style.display="none"),d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(t){return t.dataset.requires?t.dataset.requires:"Pro"}(r)),i(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",u.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",u.querySelector(".frm_feature_label").textContent=c,u.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",u.querySelector("h2").style.display="block",t.dialog("open");var h=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=h.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),h.setAttribute("href",n)}}}}!1!==t&&(document.addEventListener("click",e),frmDom.util.documentOn("change","select.frm_select_with_upgrade",e))}},8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,s,l,c,u,d,f,p=1,m=t.length,h="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?h+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",h+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return h}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()},5397:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},o)this.options[r]=void 0!==e&&r in e?e[r]:o[r]}i.prototype.getPluralForm=function(t,e){var r,o,i,a=this.pluralForms[t];return a||("function"!=typeof(i=(r=this.data[t][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(t){var e,r,n;for(e=t.split(";"),r=0;r{"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,{A:()=>n})},7203:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7730);function o(t,e,r){return(e=(0,n.A)(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}},1127:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(2716);function o(t,e){if("object"!=(0,n.A)(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}},7730:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(2716),o=r(1127);function i(t){var e=(0,o.A)(t,"string");return"symbol"==(0,n.A)(e)?e:e+""}},2716:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{A:()=>n})}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(){"use strict";o=function(){return e};var t,e={},r=Object.prototype,i=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},s="function"==typeof Symbol?Symbol:{},l=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function d(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var o=e&&e.prototype instanceof _?e:_,i=Object.create(o.prototype),s=new q(n||[]);return a(i,"_invoke",{value:L(t,r,s)}),i}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var m="suspendedStart",h="suspendedYield",v="executing",y="completed",g={};function _(){}function b(){}function w(){}var x={};d(x,l,(function(){return this}));var A=Object.getPrototypeOf,k=A&&A(A(C([])));k&&k!==r&&i.call(k,l)&&(x=k);var S=w.prototype=_.prototype=Object.create(x);function j(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(o,a,s,l){var c=p(t[o],t,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==n(d)&&i.call(d,"__await")?e.resolve(d.__await).then((function(t){r("next",t,s,l)}),(function(t){r("throw",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return r("throw",t,s,l)}))}l(c.arg)}var o;a(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}})}function L(e,r,n){var o=m;return function(i,a){if(o===v)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var l=O(s,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===m)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var c=p(e,r,n);if("normal"===c.type){if(o=n.done?y:h,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=y,n.method="throw",n.arg=c.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=p(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,g):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function F(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function q(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(F,this),this.reset(!0)}function C(e){if(e||""===e){var r=e[l];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var l=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(l&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function i(t,e,r,n,o,i,a){try{var s=t[i](a),l=s.value}catch(t){return void r(t)}s.done?e(l):Promise.resolve(l).then(n,o)}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t=r(1105).toggleAddonState;function e(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",(function(e){e.preventDefault(),t(this,"frm_install_addon")})),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",(function(e){e.preventDefault(),t(this,"frm_activate_addon")})),function(){n.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",(function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")}))}function n(){var t;return t=o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.resolve().then(r.bind(r,4260));case 2:t.sent.initUpgradeModal();case 4:case"end":return t.stop()}}),t)})),n=function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function s(t){i(a,n,o,s,l,"next",t)}function l(t){i(a,n,o,s,l,"throw",t)}s(void 0)}))},n.apply(this,arguments)}function a(){var t=window.frmDom;t.bootstrap.setupBootstrapDropdowns((function(){var t=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");t&&(t.classList.add("frm-dropdown-toggle"),t.hasAttribute("role")||t.setAttribute("role","button"),t.hasAttribute("tabindex")||t.setAttribute("tabindex",0))}));var e=document.getElementById("frm_testmode_enabled_form_actions");e&&(e.style.display="none",t.bootstrap.multiselect.init.bind(e)(),e.disabled&&e.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e),document.addEventListener("frm_after_start_over",(function(){a()})),jQuery(document).on("frmPageChanged frmFormComplete",(function(){a()}))}()})(); \ No newline at end of file From ce3b9c6c3767e05f7c7d96d73be4c81eae233630 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 2 Dec 2025 23:53:58 +0300 Subject: [PATCH 26/39] Use attribut tokenization to implement set/unset aria-describedby --- js/formidable.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/js/formidable.js b/js/formidable.js index dfdbd910d9..5d95d2109d 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1203,7 +1203,14 @@ function frmFrontFormJS() { const inputs = document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ); if ( inputs.length ) { inputs.forEach( input => { - input.setAttribute( 'aria-describedby', input.getAttribute( 'aria-describedby' ).replace( el.id, '' ) ); + let ariaDescribedBy = input.getAttribute( 'aria-describedby' ).split( ' ' ); + ariaDescribedBy = ariaDescribedBy.filter( value => value !== el.id ); + + if ( ariaDescribedBy.length ) { + input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) ); + } else { + input.removeAttribute( 'aria-describedby' ); + } } ); } el.remove(); From 933de3f017e8544d4a2ee3cb6c17f5e08caf6114 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 3 Dec 2025 10:51:30 -0400 Subject: [PATCH 27/39] Go back to using $add_html --- classes/controllers/FrmFieldsController.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 6cd9d50912..21a212bd58 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -538,18 +538,18 @@ public static function input_html( $field, $echo = true ) { self::add_pattern_attribute( $field, $add_html ); $add_html = apply_filters( 'frm_field_extra_html', $add_html, $field ); - $html = ' ' . implode( ' ', $add_html ) . ' '; + $add_html = ' ' . implode( ' ', $add_html ) . ' '; if ( isset( $field['args'] ) ) { $field_object = FrmFieldFactory::get_field_type( FrmField::get_field_type( $field ), $field ); - $field_object->add_aria_description( $field['args'], $html ); + $field_object->add_aria_description( $field['args'], $add_html ); } if ( $echo ) { - echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo $add_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } - return $html; + return $add_html; } /** From ee00f3680f87da2d8989d9ebb3f8ffb4a1831b4c Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 3 Dec 2025 11:07:27 -0400 Subject: [PATCH 28/39] Go back to using $html and unset $add_html --- classes/controllers/FrmFieldsController.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index 21a212bd58..6d2f841878 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -538,18 +538,20 @@ public static function input_html( $field, $echo = true ) { self::add_pattern_attribute( $field, $add_html ); $add_html = apply_filters( 'frm_field_extra_html', $add_html, $field ); - $add_html = ' ' . implode( ' ', $add_html ) . ' '; + $html = ' ' . implode( ' ', $add_html ) . ' '; + + unset( $add_html ); if ( isset( $field['args'] ) ) { $field_object = FrmFieldFactory::get_field_type( FrmField::get_field_type( $field ), $field ); - $field_object->add_aria_description( $field['args'], $add_html ); + $field_object->add_aria_description( $field['args'], $html ); } if ( $echo ) { - echo $add_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } - return $add_html; + return $html; } /** From e9ce5064dd25e7c671a923deb142f6efb459d752 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Wed, 3 Dec 2025 20:13:58 +0300 Subject: [PATCH 29/39] Simplify js code further --- js/formidable.js | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/js/formidable.js b/js/formidable.js index 5d95d2109d..0434c5e6aa 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1200,19 +1200,16 @@ function frmFrontFormJS() { jQuery( '.form-field' ).removeClass( 'frm_blank_field has-error' ); jQuery( '.frm_error_style' ).remove(); document.querySelectorAll( '.form-field .frm_error' ).forEach( el => { - const inputs = document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ); - if ( inputs.length ) { - inputs.forEach( input => { - let ariaDescribedBy = input.getAttribute( 'aria-describedby' ).split( ' ' ); - ariaDescribedBy = ariaDescribedBy.filter( value => value !== el.id ); - - if ( ariaDescribedBy.length ) { - input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) ); - } else { - input.removeAttribute( 'aria-describedby' ); - } - } ); - } + document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ).forEach( input => { + let ariaDescribedBy = input.getAttribute( 'aria-describedby' ).split( ' ' ); + ariaDescribedBy = ariaDescribedBy.filter( value => value !== el.id ); + + if ( ariaDescribedBy.length ) { + input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) ); + } else { + input.removeAttribute( 'aria-describedby' ); + } + } ); el.remove(); } ); } From eaf7d0ec6783144fccbdcc5373000889cd089b44 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Wed, 3 Dec 2025 20:17:46 +0300 Subject: [PATCH 30/39] Return early when there are no errors --- classes/models/FrmFieldFormHtml.php | 1 + 1 file changed, 1 insertion(+) diff --git a/classes/models/FrmFieldFormHtml.php b/classes/models/FrmFieldFormHtml.php index 5680ac8633..2f65b2c1c7 100644 --- a/classes/models/FrmFieldFormHtml.php +++ b/classes/models/FrmFieldFormHtml.php @@ -283,6 +283,7 @@ private function replace_error_shortcode() { if ( empty( $error ) ) { FrmShortcodeHelper::remove_inline_conditions( false, 'error', $error, $this->html ); + return; } $include_alert_role_on_field_errors = FrmAppHelper::should_include_alert_role_on_field_errors(); From 86ed33004d35d067fb255f23fcf1a29fc64c9caf Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Thu, 4 Dec 2025 14:11:36 +0300 Subject: [PATCH 31/39] Move out logic in foreach block into a new function --- css/admin/frm-settings-components.css | 2 +- css/frm_admin.css | 2 +- css/frm_testing_mode.css | 2 +- js/addons-page.js | 2 +- js/form-templates.js | 2 +- js/formidable-settings-components.js | 2 +- js/formidable.js | 32 ++++++++++++++++++--------- js/formidable_admin.js | 2 +- js/formidable_blocks.js | 2 +- js/formidable_dashboard.js | 2 +- js/formidable_overlay.js | 2 +- js/formidable_styles.js | 2 +- js/frm_testing_mode.js | 2 +- js/onboarding-wizard.js | 2 +- js/welcome-tour.js | 2 +- 15 files changed, 36 insertions(+), 24 deletions(-) diff --git a/css/admin/frm-settings-components.css b/css/admin/frm-settings-components.css index 1efdb41c3f..4d0879f684 100644 --- a/css/admin/frm-settings-components.css +++ b/css/admin/frm-settings-components.css @@ -1 +1 @@ -.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus{background:none}.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover>svg:last-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:first-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:last-child{color:var(--grey-900)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component{align-self:center}.frm_settings_form .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button{background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button{position:relative;height:36px !important;background-image:none !important;overflow:hidden;background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container::after,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm_settings_form .frm-style-component .wp-color-result-text,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm_settings_form .frm-style-component .color-alpha,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm_settings_form .frm-style-component .wp-picker-input-wrap input,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component>div{max-width:216px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container{max-width:calc(100% - 44px);position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box{width:36px;height:36px;padding:0;background:#fff;overflow:hidden;text-indent:-999px;flex-wrap:wrap;border:none}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame{margin-left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper{position:relative;width:36px;height:36px;margin:0;border:1px solid var(--grey-300);border-radius:var(--small-radius);overflow:hidden;box-sizing:border-box}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame{max-width:120%;height:120%;margin:-10%;position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;margin:0;border-radius:var(--small-radius)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option{width:100%;height:100%;border:1px solid var(--red-500);text-indent:-9999px;position:absolute;top:0;left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:rgba(255,255,255,.8)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:url("../../images/style/close.svg") no-repeat;background-position:center}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after{opacity:1}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img{width:100%;height:100%}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper+*,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option *{display:none}.frm-style-component .frm-radio-container{max-width:216px;height:36px;background:#f2f4f7;gap:var(--small-gap);padding:var(--gap-2xs);box-sizing:border-box;border-radius:var(--small-radius);position:relative}.frm-style-component.frm-field-shape .frm-radio-container{max-width:unset}.frm-style-component.frm-direction-component .frm-radio-container{gap:var(--gap-xs)}.frm-style-component .frm-radio-container svg{width:16px}.frm-style-component .frm-radio-container .frm-radio-active-tracker{display:block;width:28%;height:calc(100% - 8px);background:#fff;border-radius:var(--small-radius);box-shadow:var(--button-shadow);position:absolute;top:var(--gap-2xs);bottom:0;left:var(--gap-2xs);z-index:1;transition:.35s transform cubic-bezier(0.075, 0.82, 0.165, 1)}.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{width:calc(50% - var(--gap-xs))}.frm-style-component .frm-radio-container>label{width:30%;height:100%;margin:0;cursor:pointer;position:relative;display:flex;z-index:2}.frm-style-component.frm-field-shape .frm-radio-container>label{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container>label,.frm-style-component.frm-direction-component .frm-radio-container>label,.frm-style-component.frm-text-toggle-component .frm-radio-container>label{width:50%}.frm-style-component.frm-text-toggle-component .frm-radio-container{height:44px;max-width:unset;gap:var(--gap-xs);padding:var(--gap-xs)}.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{height:calc(100% - var(--gap-sm));top:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul>li:not(.frm-active):hover,.frm-style-component .frm-radio-container input:not(:checked)+label:hover{background:#eaecf0;border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-component .frm-radio-container input{display:none}.frm-style-component .frm-slider-container{width:calc(100% - 91px);display:flex;align-items:center;color:#1d2939}.frm-style-component .frm-slider-container svg.frmsvg{color:currentColor;margin-right:8px;margin-left:-5px;position:relative;z-index:15}.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover{color:#4199fd;cursor:pointer}.frm-style-component .frm-slider-container .frm-slider-active-track{display:block;height:100%;width:0;position:relative;border-radius:200px}.frm-style-component .frm-slider-container .frm-slider-active-track,.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{background:#4199fd;box-shadow:0 1.88px 4px -1px rgba(16,24,40,.03),0 6px 8px -2px rgba(16,24,40,.08)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{position:absolute;display:block;width:16px;height:16px;border-radius:50%;transform:translateX(15px);cursor:grab;right:0;top:0;bottom:0;margin:auto}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label{position:absolute;display:block;width:48px;height:36px;background:#101828;color:#fff;font-weight:400;font-size:var(--text-sm);line-height:36px;border-radius:var(--small-radius);transform:translate(-18px, -42px) scale3d(0.7, 1, 1);opacity:0;z-index:-2;pointer-events:none;text-align:center;user-select:none}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label{z-index:12;transform:translate(-18px, -42px) scale3d(1, 1, 1);opacity:1;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before{content:"";display:block;position:absolute;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-5px, -5px) scale3d(0.7, 0.7, 1);border:4px solid #4199fd;opacity:0;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before{opacity:.5;transform:translate(-5px, -5px) scale3d(1, 1, 1);transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after{content:"";position:absolute;display:block;width:180%;height:200%;border-radius:50%;left:0;top:0;transform:translate(-24%, -24%)}.frm-style-component .frm-slider-value{width:86px;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300)}.frm-style-component .frm-slider-value>*{border:none}.frm-style-component .frm-slider-value input{width:40px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-style-component .frm-slider-value select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px;padding-right:24px !important}.frm-style-component .frm-slider{display:block;width:calc(100% - 5px);height:4px;background:#eaecf0;border-radius:200px;cursor:pointer}.frm-slider-component .frm-independent-slider-field{margin-top:10px}.frm-slider-component.frm-disabled .frm-slider-container{pointer-events:none;opacity:.5}.frm-slider-component.frm-disabled .frm-slider-value input[type=text]{width:28px}.frm-slider-component.frm-disabled .frm-slider-value select{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text]{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select{width:28px}.frm-style-component .frm-slider-component.frm-has-multiple-values{margin-bottom:10px}.frm-tabs-wrapper{position:relative;overflow:hidden}.frm-tabs-wrapper .frm-tabs-navigator{margin:0;padding:0;display:flex;gap:var(--gap-xs);justify-content:space-between;align-items:center;background:#f2f4f7;border-radius:var(--small-radius);box-sizing:border-box;height:44px;position:relative;z-index:2}.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item{flex:1;text-align:center;cursor:pointer}.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background{display:block;height:100%;background:#fff;position:absolute;top:0;left:0;z-index:1}.frm-style-tabs-wrapper{position:relative}.frm-style-tabs-wrapper .frm-tabs-navs{padding:0;min-height:44px}.frm-style-tabs-wrapper .frm-tabs-navs ul{margin:0;height:var(--h-md);position:relative;justify-content:space-between}.frm-style-tabs-wrapper .frm-tabs-navs ul li,.frm-style-tabs-wrapper .frm-tabs-navs ul li a{color:var(--grey-500);font-weight:500;font-size:var(--text-sm);line-height:28px}.frm-style-tabs-wrapper .frm-tabs-navs ul li{flex:1;height:28px;text-align:center;margin-top:var(--gap-xs);margin-bottom:0;cursor:pointer}.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active,.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a{color:var(--grey-900)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter{position:absolute;top:0;left:0;width:100%;background:#f2f4f7;height:44px;margin:0;border-radius:var(--small-radius)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline{height:28px;background:#fff;position:absolute;left:0;bottom:8px;width:45px;transition:.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94);border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first{left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last{left:calc(-1*var(--gap-xs))}.frm-tabs-container{position:relative;overflow:hidden;margin-top:var(--gap-md);height:100%}.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track{transition:.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-tabs-wrapper .frm-tabs-slide-track>div{flex:0 0 100%;opacity:0;transition:.25s opacity linear;position:relative;height:auto;max-height:unset;overflow:hidden;box-sizing:border-box}.frm-style-tabs-wrapper .frm-tabs-slide-track>div>div{overflow:auto;position:relative;width:100%;padding:0;box-sizing:border-box}.frm-tabs-slide-track>div>div:first-child{height:100%}.frm-tabs-slide-track>div.frm-active{opacity:1;transition:.35s opacity linear}.frm-style-component .frm_toggle_slider{background:#f2f4f7}.frm-style-component label.frm-copy-text{line-height:32px;cursor:pointer;white-space:nowrap}.frm-style-component .wp-picker-holder{right:0}.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading{font-weight:500;font-size:var(--text-md);color:var(--grey-900)}.frm-unit-input{position:relative;display:flex;align-items:center}.frm-unit-input input[type=number]::-webkit-outer-spin-button,.frm-unit-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.frm-unit-input .frm-input-group-suffix{position:absolute;top:1px;right:1px;display:flex;align-items:center;height:calc(100% - 2px);padding-right:var(--gap-xs)}.frm-unit-input .frm-input-group-suffix select{width:fit-content;height:100%;min-height:unset;font-size:var(--text-sm);text-align:right;color:var(--grey-500) !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%;padding-left:var(--gap-2xs);padding-right:21px !important;border:rgba(0,0,0,0)}.frm-unit-input .frm-input-group-suffix select:focus-visible{outline:1px solid var(--primary-500);outline-offset:-2px} +.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus{background:none}.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover>svg:last-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:first-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:last-child{color:var(--grey-900)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component{align-self:center}.frm_settings_form .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button{background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button{position:relative;height:36px !important;background-image:none !important;overflow:hidden;background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container::after,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm_settings_form .frm-style-component .wp-color-result-text,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm_settings_form .frm-style-component .color-alpha,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm_settings_form .frm-style-component .wp-picker-input-wrap input,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component>div{max-width:216px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container{max-width:calc(100% - 44px);position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box{width:36px;height:36px;padding:0;background:#fff;overflow:hidden;text-indent:-999px;flex-wrap:wrap;border:none}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame{margin-left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper{position:relative;width:36px;height:36px;margin:0;border:1px solid var(--grey-300);border-radius:var(--small-radius);overflow:hidden;box-sizing:border-box}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame{max-width:120%;height:120%;margin:-10%;position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;margin:0;border-radius:var(--small-radius)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option{width:100%;height:100%;border:1px solid var(--red-500);text-indent:-9999px;position:absolute;top:0;left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:hsla(0,0%,100%,.8)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:url("../../images/style/close.svg") no-repeat;background-position:center}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after{opacity:1}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img{width:100%;height:100%}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper+*,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option *{display:none}.frm-style-component .frm-radio-container{max-width:216px;height:36px;background:#f2f4f7;gap:var(--small-gap);padding:var(--gap-2xs);box-sizing:border-box;border-radius:var(--small-radius);position:relative}.frm-style-component.frm-field-shape .frm-radio-container{max-width:unset}.frm-style-component.frm-direction-component .frm-radio-container{gap:var(--gap-xs)}.frm-style-component .frm-radio-container svg{width:16px}.frm-style-component .frm-radio-container .frm-radio-active-tracker{display:block;width:28%;height:calc(100% - 8px);background:#fff;border-radius:var(--small-radius);box-shadow:var(--button-shadow);position:absolute;top:var(--gap-2xs);bottom:0;left:var(--gap-2xs);z-index:1;transition:.35s transform cubic-bezier(0.075, 0.82, 0.165, 1)}.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{width:calc(50% - var(--gap-xs))}.frm-style-component .frm-radio-container>label{width:30%;height:100%;margin:0;cursor:pointer;position:relative;display:flex;z-index:2}.frm-style-component.frm-field-shape .frm-radio-container>label{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container>label,.frm-style-component.frm-direction-component .frm-radio-container>label,.frm-style-component.frm-text-toggle-component .frm-radio-container>label{width:50%}.frm-style-component.frm-text-toggle-component .frm-radio-container{height:44px;max-width:unset;gap:var(--gap-xs);padding:var(--gap-xs)}.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{height:calc(100% - var(--gap-sm));top:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul>li:not(.frm-active):hover,.frm-style-component .frm-radio-container input:not(:checked)+label:hover{background:#eaecf0;border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-component .frm-radio-container input{display:none}.frm-style-component .frm-slider-container{width:calc(100% - 91px);display:flex;align-items:center;color:#1d2939}.frm-style-component .frm-slider-container svg.frmsvg{color:currentColor;margin-right:8px;margin-left:-5px;position:relative;z-index:15}.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover{color:#4199fd;cursor:pointer}.frm-style-component .frm-slider-container .frm-slider-active-track{display:block;height:100%;width:0;position:relative;border-radius:200px}.frm-style-component .frm-slider-container .frm-slider-active-track,.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{background:#4199fd;box-shadow:0 1.88px 4px -1px rgba(16,24,40,.03),0 6px 8px -2px rgba(16,24,40,.08)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{position:absolute;display:block;width:16px;height:16px;border-radius:50%;transform:translateX(15px);cursor:grab;right:0;top:0;bottom:0;margin:auto}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label{position:absolute;display:block;width:48px;height:36px;background:#101828;color:#fff;font-weight:400;font-size:var(--text-sm);line-height:36px;border-radius:var(--small-radius);transform:translate(-18px, -42px) scale3d(0.7, 1, 1);opacity:0;z-index:-2;pointer-events:none;text-align:center;user-select:none}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label{z-index:12;transform:translate(-18px, -42px) scale3d(1, 1, 1);opacity:1;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before{content:"";display:block;position:absolute;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-5px, -5px) scale3d(0.7, 0.7, 1);border:4px solid #4199fd;opacity:0;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before{opacity:.5;transform:translate(-5px, -5px) scale3d(1, 1, 1);transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after{content:"";position:absolute;display:block;width:180%;height:200%;border-radius:50%;left:0;top:0;transform:translate(-24%, -24%)}.frm-style-component .frm-slider-value{width:86px;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300)}.frm-style-component .frm-slider-value>*{border:none}.frm-style-component .frm-slider-value input{width:40px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-style-component .frm-slider-value select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px;padding-right:24px !important}.frm-style-component .frm-slider{display:block;width:calc(100% - 5px);height:4px;background:#eaecf0;border-radius:200px;cursor:pointer}.frm-slider-component .frm-independent-slider-field{margin-top:10px}.frm-slider-component.frm-disabled .frm-slider-container{pointer-events:none;opacity:.5}.frm-slider-component.frm-disabled .frm-slider-value input[type=text]{width:28px}.frm-slider-component.frm-disabled .frm-slider-value select{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text]{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select{width:28px}.frm-style-component .frm-slider-component.frm-has-multiple-values{margin-bottom:10px}.frm-tabs-wrapper{position:relative;overflow:hidden}.frm-tabs-wrapper .frm-tabs-navigator{margin:0;padding:0;display:flex;gap:var(--gap-xs);justify-content:space-between;align-items:center;background:#f2f4f7;border-radius:var(--small-radius);box-sizing:border-box;height:44px;position:relative;z-index:2}.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item{flex:1;text-align:center;cursor:pointer}.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background{display:block;height:100%;background:#fff;position:absolute;top:0;left:0;z-index:1}.frm-style-tabs-wrapper{position:relative}.frm-style-tabs-wrapper .frm-tabs-navs{padding:0;min-height:44px}.frm-style-tabs-wrapper .frm-tabs-navs ul{margin:0;height:var(--h-md);position:relative;justify-content:space-between}.frm-style-tabs-wrapper .frm-tabs-navs ul li,.frm-style-tabs-wrapper .frm-tabs-navs ul li a{color:var(--grey-500);font-weight:500;font-size:var(--text-sm);line-height:28px}.frm-style-tabs-wrapper .frm-tabs-navs ul li{flex:1;height:28px;text-align:center;margin-top:var(--gap-xs);margin-bottom:0;cursor:pointer}.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active,.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a{color:var(--grey-900)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter{position:absolute;top:0;left:0;width:100%;background:#f2f4f7;height:44px;margin:0;border-radius:var(--small-radius)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline{height:28px;background:#fff;position:absolute;left:0;bottom:8px;width:45px;transition:.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94);border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first{left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last{left:calc(-1*var(--gap-xs))}.frm-tabs-container{position:relative;overflow:hidden;margin-top:var(--gap-md);height:100%}.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track{transition:.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-tabs-wrapper .frm-tabs-slide-track>div{flex:0 0 100%;opacity:0;transition:.25s opacity linear;position:relative;height:auto;max-height:unset;overflow:hidden;box-sizing:border-box}.frm-style-tabs-wrapper .frm-tabs-slide-track>div>div{overflow:auto;position:relative;width:100%;padding:0;box-sizing:border-box}.frm-tabs-slide-track>div>div:first-child{height:100%}.frm-tabs-slide-track>div.frm-active{opacity:1;transition:.35s opacity linear}.frm-style-component .frm_toggle_slider{background:#f2f4f7}.frm-style-component label.frm-copy-text{line-height:32px;cursor:pointer;white-space:nowrap}.frm-style-component .wp-picker-holder{right:0}.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading{font-weight:500;font-size:var(--text-md);color:var(--grey-900)}.frm-unit-input{position:relative;display:flex;align-items:center}.frm-unit-input input[type=number]::-webkit-outer-spin-button,.frm-unit-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.frm-unit-input .frm-input-group-suffix{position:absolute;top:1px;right:1px;display:flex;align-items:center;height:calc(100% - 2px);padding-right:var(--gap-xs)}.frm-unit-input .frm-input-group-suffix select{width:fit-content;height:100%;min-height:unset;font-size:var(--text-sm);text-align:right;color:var(--grey-500) !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%;padding-left:var(--gap-2xs);padding-right:21px !important;border:rgba(0,0,0,0)}.frm-unit-input .frm-input-group-suffix select:focus-visible{outline:1px solid var(--primary-500);outline-offset:-2px} diff --git a/css/frm_admin.css b/css/frm_admin.css index 973a41e393..f7486fc3f4 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,3 +1,3 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! +@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! * Bootstrap v4.6.1 */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl .frm_actions_dropdown .frm_icon_font{float:right;margin-right:0;margin-left:3px}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}#frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:0;left:auto}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.rtl #frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:auto;left:0}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} diff --git a/css/frm_testing_mode.css b/css/frm_testing_mode.css index 74be79ddd9..a44f7d7cce 100644 --- a/css/frm_testing_mode.css +++ b/css/frm_testing_mode.css @@ -1,3 +1,3 @@ :root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} + */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} diff --git a/js/addons-page.js b/js/addons-page.js index 9fd495f4fb..6675ac2f18 100644 --- a/js/addons-page.js +++ b/js/addons-page.js @@ -1 +1 @@ -(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function i(){var i,a,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var n,r,a,c,l,s,u,f,d,p=1,y=t.length,m="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=n:(!o.number.test(c.type)||f&&!c.sign?d="":(d=f?"+":"-",n=n.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",u=c.width-(d+n).length,l=c.width&&u>0?s.repeat(u):"",m+=c.align?d+n+l:"0"===s?d+l+n:l+d+n)}return m}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],i=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],s=[];if(null===(s=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(l=l.substring(s[0].length));)if(null!==(s=o.key_access.exec(l)))a.push(s[1]);else{if(null===(s=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.url,r=(t.nonce,"frm_hidden"),o="frm-hide-js",i="frm-current";function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):0":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},j=["(","?"],E={")":["("],":":["?","?:"]},P=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var F={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var I={contextDelimiter:"",onMissingKey:null};function D(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},I)this.options[n]=void 0!==e&&n in e?e[n]:I[n]}function L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function q(t){for(var e=1;e=0||_[o]<_[n]){a.push(o);break}i.push(o)}E[n]||a.push(n),t=t.substr(e.index+n.length)}return(t=t.trim())&&i.push(t),i.concat(a.reverse())}(t);return function(t){return function(t,e){var n,r,o,i,a,c,l=[];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(B(n)&&z(r))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:r};if(a[n]){var l,s=a[n].handlers;for(l=s.length;l>0&&!(i>=s[l-1].priority);l--);l===s.length?s[l]=c:s.splice(l,0,c),a.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else a[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var i=t[e];if(B(r)&&(n||z(o))){if(!i[r])return 0;var a=0;if(n)a=i[r].handlers.length,i[r]={runs:i[r].runs,handlers:[]};else for(var c=i[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},s=c.length-1;s>=0;s--)l(s);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),a}}},U=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},Z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var i=o[r].handlers,a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=q(q(q({},R),r.data[e]),t),r.data[e][""]=q(q({},R[""]),r.data[e][""])},c=function(t,e){a(t,e),i()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},u=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+s(r),o,t,e,r)):o};if(n){var f=function(t){N.test(t)&&i()};n.addAction("hookAdded","core/i18n",f),n.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+s(e),r,t,e)):r},_x:u,_n:function(t,e,r,o){var i=l(o,void 0,t,e,r);return n?(i=n.applyFilters("i18n.ngettext",i,t,e,r,o),n.applyFilters("i18n.ngettext_"+s(o),i,t,e,r,o)):i},_nx:function(t,e,r,o,i){var a=l(i,o,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,o,i),n.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,r,o,i)):a},isRTL:function(){return"rtl"===u("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,l=!(null===(i=r.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+s(o),l,t,e,o)),l}}}(0,0,V));G.getLocaleData.bind(G),G.setLocaleData.bind(G),G.resetLocaleData.bind(G),G.subscribe.bind(G);var H=G.__.bind(G),Q=(G._x.bind(G),G._n.bind(G),G._nx.bind(G),G.isRTL.bind(G),G.hasTranslation.bind(G),window.frmDom),W=Q.tag,Y=Q.div,tt=Q.a,et=Q.img;function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function rt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function ot(t,e,n){return(e=function(t){var e=function(t){if("object"!=nt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==nt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var it,at=document.getElementById("post-body-content"),ct=document.getElementById("".concat(h,"-sidebar")),lt=((it=tt({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),Y({id:"".concat(h,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(r),children:[et({src:"".concat(e,"/images/page-skeleton/empty-state.svg"),alt:H("Empty State","formidable")}),Y({className:"frmcenter",children:[W("h2",{className:"".concat(h,"-title frm-mb-0")}),W("p",{className:"".concat(h,"-text frm-mb-0")})]}),it]}));null==at||at.appendChild(lt);var st=function(){var t=document.querySelector("#".concat(h,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(h,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(h,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),ut=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==O(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==O(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=w(w({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==vt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==vt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=yt(yt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:g,selectedCategoryEl:bt}),gt=ht.getState,St=ht.getSingleState,wt=ht.setState,xt=ht.setSingleState,Ot=function(t){var e,n=t.currentTarget,r=n.getAttribute("data-category"),o=gt(),a=o.selectedCategory,c=o.selectedCategoryEl,l=o.notEmptySearchText;if(a!==r){a=wp.hooks.applyFilters("frmPage.selectedCategory",r),c.classList.remove(i),(c=n).classList.add(i),wt({selectedCategory:a,selectedCategoryEl:c}),l&&((e=ft().searchInput).value="",e.dispatchEvent(new Event("input",{bubbles:!0}))),wp.hooks.doAction("frmPage.onCategoryClick",a);var u=ft().bodyContent;new s(u).fadeIn()}};function _t(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Ot(t))}var jt=window.frmAddonsVars.addonRequestURL,Et="frm-addons",Pt="available-addons",kt="active-addons",At="basic",Ct="plus",Tt="business",Ft="elite",It=ft(),Dt=It.bodyContent,Lt=It.sidebar;Dt.querySelectorAll(".frm-card-item:not(.plugin-card-formidable-pro)").forEach(function(t){var e=t.dataset.categories;switch(!0){case e.includes(Tt):t.setAttribute("data-categories","".concat(e,",").concat(Ft));break;case e.includes(Ct):t.setAttribute("data-categories","".concat(e,",").concat(Tt,",").concat(Ft));break;case e.includes(At):t.setAttribute("data-categories","".concat(e,",").concat(Ct,",").concat(Tt,",").concat(Ft))}}),dt({upgradeBanner:document.getElementById("frm-upgrade-banner"),availableCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Pt,'"]')),activeCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(kt,'"]')),categoriesTopDivider:Lt.querySelector(".".concat(h,"-divider")),basicPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(At,'"]')),plusPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ct,'"]')),businessPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Tt,'"]')),elitePlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ft,'"]')),addonsList:document.getElementById("".concat(Et,"-list")),addons:Dt.querySelectorAll(".frm-card-item"),availableAddons:Dt.querySelectorAll(".frm-card-item:not(.frm-locked-item)"),addonsToggle:Dt.querySelectorAll(".frm_toggle_block"),bodyContentChildren:null==Dt?void 0:Dt.children});var qt={};qt[Pt]=[],qt[kt]=[];var Rt,Nt=".".concat(h,"-cat-count");function zt(){var t=ft(),e=t.activeCategory,n=t.availableCategory,r=t.categoriesTopDivider,o=document.querySelectorAll(".frm-addon-active:not(.frm-locked-item)");0!==o.length?(qt[kt]=o,e.querySelector(Nt).textContent=o.length):m([e,n,r])}function Bt(){var t=gt().selectedCategory,e=ft(),n=e.emptyState,r=e.emptyStateButton,o=e.emptyStateTitle,i=e.emptyStateText;n.setAttribute("data-view",t),o.textContent=H("No add-ons found","formidable"),i.textContent=H("Sorry, we didn't find any add-ons that match your criteria.","formidable"),r.textContent=H("Request Add-On","formidable"),r.href=jt,r.setAttribute("target","_blank"),y([n,r])}function Mt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,s=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(t){s=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(t,e)||$t(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(t,e){if(t){if("string"==typeof t)return Ut(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ut(t,e):void 0}}function Ut(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==e.return||e.return()}finally{if(a)throw o}}}}(new Map([["frm-addon-not-installed",".frm-install-addon"],["frm-addon-installed",".frm-activate-addon"],["frm-addon-active",".frm-deactivate-addon"]]).entries());try{for(o.s();!(n=o.n()).done;){var i=Mt(n.value,2),a=i[0],c=i[1];if(r.classList.contains(a)){(Rt=r.querySelector(c)).click();break}}}catch(t){o.e(t)}finally{o.f()}}};var Kt=window.frmDom.search.init;function Xt(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=gt(),a=ft().allItemsCategory;xt("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ft(),n=e.bodyContent,r=e.bodyContentChildren,o=e.addonsList;t&&St("selectedCategoryEl").classList.remove(i),m(r),v(o),new s(n).fadeIn()}(r),r&&xt("selectedCategory","")),function(t){if(t){var e,n=ft().emptyState;e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")&&b(n)}else Bt()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}function Jt(){var t;ft().categoryItems.forEach(function(t){p(t,Ot),t.addEventListener("keydown",_t)}),wp.hooks.addAction("frmPage.onCategoryClick","frmAddonsPage",function(t){!function(t){var e=ft(),n=e.bodyContent,r=e.addons,o=e.emptyState,i=e.upgradeBanner;b(o),v(i),n.dataset.category=t,g!==t?(m(r),0===qt[t].length?(Bt(),b(i)):y(qt[t])):y(r)}(t)}),ft().addonsToggle.forEach(function(t){return t.addEventListener("click",Zt)}),wp.hooks.addAction("frm_update_addon_state","frmAddonPage",function(){zt()}),t=ft().searchInput,Kt(t,"frm-card-item",{handleSearchResult:Xt})}var Vt;Vt=function(){(function(){var t,e,n,r,i,a,c,l,u,f,d=ft(),p=d.sidebar,y=d.searchInput,m=d.bodyContent,b=new s(m);y.value="",zt(),function(){var t=ft(),e=t.bodyContent,n=t.availableCategory,r=t.availableAddons;if(qt[Pt]=r,n){n.querySelector(Nt).textContent=r.length;var o=e.querySelector(".".concat(Et,"-available-count"));o&&(o.textContent=r.length)}}(),function(){var t=ft(),e=t.allItemsCategory,n=t.addons;e.querySelector(Nt).textContent=n.length}(),e=(t=ft()).basicPlanCategory,n=t.plusPlanCategory,r=t.businessPlanCategory,i=t.elitePlanCategory,c=(a=function(t){return parseInt(t.querySelector(Nt).textContent,10)||0})(e),l=a(n)-1,u=a(r)-1,f=a(i)-1,n.querySelector(Nt).textContent=c+l,r.querySelector(Nt).textContent=c+l+u,i.querySelector(Nt).textContent=c+l+u+f,m.classList.remove(o),p.classList.remove(o),b.fadeIn(),v(p)})(),ft().addons.forEach(function(t){var e=t.getAttribute("data-categories");e&&e.split(",").forEach(function(e){qt[e]||(qt[e]=[]),qt[e].push(t)})}),Jt()},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",Vt):Vt())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function i(){var i,a,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var n,r,a,c,l,s,u,f,d,p=1,y=t.length,m="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=n:(!o.number.test(c.type)||f&&!c.sign?d="":(d=f?"+":"-",n=n.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",u=c.width-(d+n).length,l=c.width&&u>0?s.repeat(u):"",m+=c.align?d+n+l:"0"===s?d+l+n:l+d+n)}return m}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],i=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],s=[];if(null===(s=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(l=l.substring(s[0].length));)if(null!==(s=o.key_access.exec(l)))a.push(s[1]);else{if(null===(s=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.url,r=(t.nonce,"frm_hidden"),o="frm-hide-js",i="frm-current";function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements((function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",(function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){t.applyStyleToElements((function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"}))}),200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements((function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(t){return t.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):0":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},j=["(","?"],E={")":["("],":":["?","?:"]},P=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var F={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var I={contextDelimiter:"",onMissingKey:null};function D(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},I)this.options[n]=void 0!==e&&n in e?e[n]:I[n]}function L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function q(t){for(var e=1;e=0||_[o]<_[n]){a.push(o);break}i.push(o)}E[n]||a.push(n),t=t.substr(e.index+n.length)}return(t=t.trim())&&i.push(t),i.concat(a.reverse())}(t);return function(t){return function(t,e){var n,r,o,i,a,c,l=[];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(B(n)&&z(r))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:r};if(a[n]){var l,s=a[n].handlers;for(l=s.length;l>0&&!(i>=s[l-1].priority);l--);l===s.length?s[l]=c:s.splice(l,0,c),a.__current.forEach((function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++}))}else a[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var i=t[e];if(B(r)&&(n||z(o))){if(!i[r])return 0;var a=0;if(n)a=i[r].handlers.length,i[r]={runs:i[r].runs,handlers:[]};else for(var c=i[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach((function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--})))},s=c.length-1;s>=0;s--)l(s);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),a}}},U=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some((function(t){return t.namespace===r})):n in o}},Z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var i=o[r].handlers,a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=q(q(q({},R),r.data[e]),t),r.data[e][""]=q(q({},R[""]),r.data[e][""])},c=function(t,e){a(t,e),i()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},u=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+s(r),o,t,e,r)):o};if(n){var f=function(t){N.test(t)&&i()};n.addAction("hookAdded","core/i18n",f),n.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+s(e),r,t,e)):r},_x:u,_n:function(t,e,r,o){var i=l(o,void 0,t,e,r);return n?(i=n.applyFilters("i18n.ngettext",i,t,e,r,o),n.applyFilters("i18n.ngettext_"+s(o),i,t,e,r,o)):i},_nx:function(t,e,r,o,i){var a=l(i,o,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,o,i),n.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,r,o,i)):a},isRTL:function(){return"rtl"===u("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,l=!(null===(i=r.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+s(o),l,t,e,o)),l}}}(0,0,V));G.getLocaleData.bind(G),G.setLocaleData.bind(G),G.resetLocaleData.bind(G),G.subscribe.bind(G);var H=G.__.bind(G),Q=(G._x.bind(G),G._n.bind(G),G._nx.bind(G),G.isRTL.bind(G),G.hasTranslation.bind(G),window.frmDom),W=Q.tag,Y=Q.div,tt=Q.a,et=Q.img;function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function rt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ot(t,e,n){return(e=function(t){var e=function(t){if("object"!=nt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==nt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var it,at=document.getElementById("post-body-content"),ct=document.getElementById("".concat(h,"-sidebar")),lt=((it=tt({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),Y({id:"".concat(h,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(r),children:[et({src:"".concat(e,"/images/page-skeleton/empty-state.svg"),alt:H("Empty State","formidable")}),Y({className:"frmcenter",children:[W("h2",{className:"".concat(h,"-title frm-mb-0")}),W("p",{className:"".concat(h,"-text frm-mb-0")})]}),it]}));null==at||at.appendChild(lt);var st=function(){var t=document.querySelector("#".concat(h,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(h,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(h,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),ut=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==O(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==O(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=w(w({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==vt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==vt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=yt(yt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:g,selectedCategoryEl:bt}),gt=ht.getState,St=ht.getSingleState,wt=ht.setState,xt=ht.setSingleState,Ot=function(t){var e,n=t.currentTarget,r=n.getAttribute("data-category"),o=gt(),a=o.selectedCategory,c=o.selectedCategoryEl,l=o.notEmptySearchText;if(a!==r){a=wp.hooks.applyFilters("frmPage.selectedCategory",r),c.classList.remove(i),(c=n).classList.add(i),wt({selectedCategory:a,selectedCategoryEl:c}),l&&((e=ft().searchInput).value="",e.dispatchEvent(new Event("input",{bubbles:!0}))),wp.hooks.doAction("frmPage.onCategoryClick",a);var u=ft().bodyContent;new s(u).fadeIn()}};function _t(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Ot(t))}var jt=window.frmAddonsVars.addonRequestURL,Et="frm-addons",Pt="available-addons",kt="active-addons",At="basic",Ct="plus",Tt="business",Ft="elite",It=ft(),Dt=It.bodyContent,Lt=It.sidebar;Dt.querySelectorAll(".frm-card-item:not(.plugin-card-formidable-pro)").forEach((function(t){var e=t.dataset.categories;switch(!0){case e.includes(Tt):t.setAttribute("data-categories","".concat(e,",").concat(Ft));break;case e.includes(Ct):t.setAttribute("data-categories","".concat(e,",").concat(Tt,",").concat(Ft));break;case e.includes(At):t.setAttribute("data-categories","".concat(e,",").concat(Ct,",").concat(Tt,",").concat(Ft))}})),dt({upgradeBanner:document.getElementById("frm-upgrade-banner"),availableCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Pt,'"]')),activeCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(kt,'"]')),categoriesTopDivider:Lt.querySelector(".".concat(h,"-divider")),basicPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(At,'"]')),plusPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ct,'"]')),businessPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Tt,'"]')),elitePlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ft,'"]')),addonsList:document.getElementById("".concat(Et,"-list")),addons:Dt.querySelectorAll(".frm-card-item"),availableAddons:Dt.querySelectorAll(".frm-card-item:not(.frm-locked-item)"),addonsToggle:Dt.querySelectorAll(".frm_toggle_block"),bodyContentChildren:null==Dt?void 0:Dt.children});var qt={};qt[Pt]=[],qt[kt]=[];var Rt,Nt=".".concat(h,"-cat-count");function zt(){var t=ft(),e=t.activeCategory,n=t.availableCategory,r=t.categoriesTopDivider,o=document.querySelectorAll(".frm-addon-active:not(.frm-locked-item)");0!==o.length?(qt[kt]=o,e.querySelector(Nt).textContent=o.length):m([e,n,r])}function Bt(){var t=gt().selectedCategory,e=ft(),n=e.emptyState,r=e.emptyStateButton,o=e.emptyStateTitle,i=e.emptyStateText;n.setAttribute("data-view",t),o.textContent=H("No add-ons found","formidable"),i.textContent=H("Sorry, we didn't find any add-ons that match your criteria.","formidable"),r.textContent=H("Request Add-On","formidable"),r.href=jt,r.setAttribute("target","_blank"),y([n,r])}function Mt(t,e){if(t){if("string"==typeof t)return $t(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$t(t,e):void 0}}function $t(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==e.return||e.return()}finally{if(a)throw o}}}}(new Map([["frm-addon-not-installed",".frm-install-addon"],["frm-addon-installed",".frm-activate-addon"],["frm-addon-active",".frm-deactivate-addon"]]).entries());try{for(a.s();!(o=a.n()).done;){var c=(n=o.value,r=2,function(t){if(Array.isArray(t))return t}(n)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,s=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(t){s=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(n,r)||Mt(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=c[0],s=c[1];if(i.classList.contains(l)){(Rt=i.querySelector(s)).click();break}}}catch(t){a.e(t)}finally{a.f()}}};var Zt=window.frmDom.search.init;function Kt(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=gt(),a=ft().allItemsCategory;xt("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ft(),n=e.bodyContent,r=e.bodyContentChildren,o=e.addonsList;t&&St("selectedCategoryEl").classList.remove(i),m(r),v(o),new s(n).fadeIn()}(r),r&&xt("selectedCategory","")),function(t){if(t){var e,n=ft().emptyState;e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")&&b(n)}else Bt()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}function Xt(){var t;ft().categoryItems.forEach((function(t){p(t,Ot),t.addEventListener("keydown",_t)})),wp.hooks.addAction("frmPage.onCategoryClick","frmAddonsPage",(function(t){!function(t){var e=ft(),n=e.bodyContent,r=e.addons,o=e.emptyState,i=e.upgradeBanner;b(o),v(i),n.dataset.category=t,g!==t?(m(r),0===qt[t].length?(Bt(),b(i)):y(qt[t])):y(r)}(t)})),ft().addonsToggle.forEach((function(t){return t.addEventListener("click",Ut)})),wp.hooks.addAction("frm_update_addon_state","frmAddonPage",(function(){zt()})),t=ft().searchInput,Zt(t,"frm-card-item",{handleSearchResult:Kt})}var Jt;Jt=function(){(function(){var t,e,n,r,i,a,c,l,u,f,d=ft(),p=d.sidebar,y=d.searchInput,m=d.bodyContent,b=new s(m);y.value="",zt(),function(){var t=ft(),e=t.bodyContent,n=t.availableCategory,r=t.availableAddons;if(qt[Pt]=r,n){n.querySelector(Nt).textContent=r.length;var o=e.querySelector(".".concat(Et,"-available-count"));o&&(o.textContent=r.length)}}(),function(){var t=ft(),e=t.allItemsCategory,n=t.addons;e.querySelector(Nt).textContent=n.length}(),e=(t=ft()).basicPlanCategory,n=t.plusPlanCategory,r=t.businessPlanCategory,i=t.elitePlanCategory,c=(a=function(t){return parseInt(t.querySelector(Nt).textContent,10)||0})(e),l=a(n)-1,u=a(r)-1,f=a(i)-1,n.querySelector(Nt).textContent=c+l,r.querySelector(Nt).textContent=c+l+u,i.querySelector(Nt).textContent=c+l+u+f,m.classList.remove(o),p.classList.remove(o),b.fadeIn(),v(p)})(),ft().addons.forEach((function(t){var e=t.getAttribute("data-categories");e&&e.split(",").forEach((function(e){qt[e]||(qt[e]=[]),qt[e].push(t)}))})),Xt()},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",Jt):Jt())})()})(); \ No newline at end of file diff --git a/js/form-templates.js b/js/form-templates.js index a4aac50d21..6104b0fe5c 100644 --- a/js/form-templates.js +++ b/js/form-templates.js @@ -1,2 +1,2 @@ /*! For license information please see form-templates.js.LICENSE.txt */ -(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function a(){var a,i,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(i=0;i{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var n,r,i,c,l,u,s,m,f,p=1,d=t.length,y="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?y+=n:(!o.number.test(c.type)||m&&!c.sign?f="":(f=m?"+":"-",n=n.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",s=c.width-(f+n).length,l=c.width&&s>0?u.repeat(s):"",y+=c.align?f+n+l:"0"===u?f+l+n:l+f+n)}return y}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],a=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var i=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(i.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))i.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");i.push(u[1])}e[2]=i}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function i(t,e){return a.apply(null,[t].concat(e||[]))}var c=Object.create(null);e.sprintf=a,e.vsprintf=i,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=i,void 0===(r=function(){return{sprintf:a,vsprintf:i}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.canAccessApplicationDashboard,r=t.applicationsUrl,o=window.frmFormTemplatesVars,a=o.FEATURED_TEMPLATES_IDS,i=o.FREE_TEMPLATES_IDS,c=o.upgradeLink,l="frm-form-templates",u="available-templates",s="favorites",m="custom",f="search",p="440px",d="550px",y="frm-page-skeleton",v="all-items";function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function b(t){for(var e=1;e":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},T=["(","?"],_={")":["("],":":["?","?:"]},x=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var P={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var F={contextDelimiter:"",onMissingKey:null};function L(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},F)this.options[n]=void 0!==e&&n in e?e[n]:F[n]}function B(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function D(t){for(var e=1;e=0||S[o]3&&void 0!==arguments[3]?arguments[3]:10,i=t[e];if(G(n)&&N(r))if("function"==typeof o)if("number"==typeof a){var c={callback:o,priority:a,namespace:r};if(i[n]){var l,u=i[n].handlers;for(l=u.length;l>0&&!(a>=u[l-1].priority);l--);l===u.length?u[l]=c:u.splice(l,0,c),i.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else i[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var a=t[e];if(G(r)&&(n||N(o))){if(!a[r])return 0;var i=0;if(n)i=a[r].handlers.length,a[r]={runs:a[r].runs,handlers:[]};else for(var c=a[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),i++,a.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},u=c.length-1;u>=0;u--)l(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),i}}},V=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var a=o[r].handlers,i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=D(D(D({},M),r.data[e]),t),r.data[e][""]=D(D({},M[""]),r.data[e][""])},c=function(t,e){i(t,e),a()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return r.data[t]||i(void 0,t),r.dcnpgettext(t,e,n,o,a)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},s=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),o,t,e,r)):o};if(n){var m=function(t){q.test(t)&&a()};n.addAction("hookAdded","core/i18n",m),n.addAction("hookRemoved","core/i18n",m)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:s,_n:function(t,e,r,o){var a=l(o,void 0,t,e,r);return n?(a=n.applyFilters("i18n.ngettext",a,t,e,r,o),n.applyFilters("i18n.ngettext_"+u(o),a,t,e,r,o)):a},_nx:function(t,e,r,o,a){var i=l(a,o,t,e,r);return n?(i=n.applyFilters("i18n.ngettext_with_context",i,t,e,r,o,a),n.applyFilters("i18n.ngettext_with_context_"+u(a),i,t,e,r,o,a)):i},isRTL:function(){return"rtl"===s("ltr","text direction")},hasTranslation:function(t,e,o){var a,i,c=e?e+""+t:t,l=!(null===(a=r.data)||void 0===a||null===(i=a[null!=o?o:"default"])||void 0===i||!i[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+u(o),l,t,e,o)),l}}}(0,0,Y));K.getLocaleData.bind(K),K.setLocaleData.bind(K),K.resetLocaleData.bind(K),K.subscribe.bind(K);var X=K.__.bind(K),W=(K._x.bind(K),K._n.bind(K),K._nx.bind(K),K.isRTL.bind(K),K.hasTranslation.bind(K),window.frmGlobal),Q=W.url,tt=(W.nonce,"frm_hidden"),et="frm-hide-js",nt="frm-current",rt=window.frmDom,ot=rt.tag,at=rt.div,it=rt.a,ct=rt.img;function lt(t){return lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(t)}function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function st(t,e,n){return(e=function(t){var e=function(t){if("object"!=lt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=lt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==lt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var mt,ft=document.getElementById("post-body-content"),pt=document.getElementById("".concat(y,"-sidebar")),dt=((mt=it({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),at({id:"".concat(y,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(tt),children:[ct({src:"".concat(Q,"/images/page-skeleton/empty-state.svg"),alt:X("Empty State","formidable")}),at({className:"frmcenter",children:[ot("h2",{className:"".concat(y,"-title frm-mb-0")}),ot("p",{className:"".concat(y,"-text frm-mb-0")})]}),mt]}));null==ft||ft.appendChild(dt);var yt=function(){var t=document.querySelector("#".concat(y,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(y,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(y,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),vt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==w(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==w(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=b(b({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==Tt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==Tt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=wt(wt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:v,selectedCategoryEl:_t}),Et=xt.getState,Ot=xt.getSingleState,jt=xt.setState,It=xt.setSingleState;function kt(t){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(t)}function Ct(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):02&&void 0!==arguments[2]?arguments[2]:"pushState";if(zt.set(t,e),Rt.search=zt.toString(),["pushState","replaceState"].includes(a)){var i=(n={},o=e,(r=function(t){var e=function(t){if("object"!=qt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=qt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==qt(e)?e:e+""}(r=t))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n);window.history[a](i,"",Rt)}return Rt.toString()},Ut=function(t){return zt.has(t)},Ht=function(t){return"string"==typeof t&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(t)},Zt=function(t){return t instanceof HTMLElement||console.warn("Invalid argument: Element must be an instance of HTMLElement")||!1},Jt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Kt(t)})},Yt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Xt(t)})},Kt=function(t){return null==t?void 0:t.classList.remove(tt)},Xt=function(t){return null==t?void 0:t.classList.add(tt)},Wt=function(t){var e=t.currentTarget,n=e.getAttribute("data-category"),r=Et(),o=r.selectedCategory,a=r.selectedCategoryEl,i=r.notEmptySearchText;if(o!==n){o=wp.hooks.applyFilters("frmPage.selectedCategory",n),a.classList.remove(nt),(a=e).classList.add(nt),jt({selectedCategory:o,selectedCategoryEl:a}),i&&te(),wp.hooks.doAction("frmPage.onCategoryClick",o);var c=ht().bodyContent;new Pt(c).fadeIn()}};function Qt(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Wt(t))}function te(){var t=ht().searchInput;t.value="",t.dispatchEvent(new Event("input",{bubbles:!0}))}var ee=ht().bodyContent,ne=document.getElementById("".concat(l,"-list")),re=document.getElementById("".concat(l,"-custom-list-section")),oe=document.querySelector(".".concat(y,'-cat[data-category="').concat(s,'"]')),ae=document.getElementById("".concat(l,"-modal"));bt({headerCancelButton:null===(Nt=document.getElementById("frm-publishing"))||void 0===Nt?void 0:Nt.querySelector("a"),createFormButton:document.getElementById("".concat(l,"-create-form")),pageTitle:document.getElementById("".concat(l,"-page-title")),pageTitleText:document.getElementById("".concat(l,"-page-title-text")),pageTitleDivider:document.getElementById("".concat(l,"-page-title-divider")),upsellBanner:null!==(Gt=document.getElementById("frm-renew-subscription-banner"))&&void 0!==Gt?Gt:document.getElementById("frm-upgrade-banner"),extraTemplateCountElements:document.querySelectorAll(".".concat(l,"-extra-templates-count")),templatesList:ne,templateItems:ne.querySelectorAll(".frm-card-item"),availableTemplateItems:ne.querySelectorAll(".frm-card-item:not(.".concat(l,"-locked-item)")),twinFeaturedTemplateItems:ne.querySelectorAll(".".concat(l,"-featured-item")),featuredTemplatesList:document.getElementById("".concat(l,"-featured-list")),customTemplatesSection:re,customTemplateItems:re.querySelectorAll(".frm-card-item"),customTemplatesTitle:document.getElementById("".concat(l,"-custom-list-title")),customTemplatesList:document.getElementById("".concat(l,"-custom-list")),favoritesCategory:oe,favoritesCategoryCountEl:null==oe?void 0:oe.querySelector(".".concat(y,"-cat-count")),availableTemplatesCategory:document.querySelector(".".concat(y,'-cat[data-category="').concat(u,'"]')),getFreeTemplatesBannerButton:document.querySelector(".frm-get-free-templates-banner .button"),modal:ae,modalItems:null==ae?void 0:ae.querySelectorAll(".".concat(l,"-modal-item")),showCreateTemplateModalButton:document.getElementById("frm-show-create-template-modal"),createTemplateModal:document.getElementById("frm-create-template-modal"),createTemplateFormsDropdown:document.getElementById("frm-create-template-modal-forms-select"),createTemplateName:document.getElementById("frm_create_template_name"),createTemplateDescription:document.getElementById("frm_create_template_description"),createTemplateButton:document.getElementById("frm-create-template-button"),renewAccountModal:document.getElementById("frm-renew-modal"),leaveEmailModal:document.getElementById("frm-leave-email-modal"),leaveEmailModalInput:document.getElementById("frm_leave_email"),leaveEmailModalButton:document.getElementById("frm-get-code-button"),upgradeModal:document.getElementById("frm-form-upgrade-modal"),upgradeModalTemplateNames:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-template-name"),upgradeModalPlansIcons:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-plan-icon"),upgradeModalLink:document.getElementById("frm-upgrade-modal-link"),newTemplateForm:document.getElementById("frm-new-template"),newTemplateNameInput:document.getElementById("frm_template_name"),newTemplateDescriptionInput:document.getElementById("frm_template_desc"),newTemplateLinkInput:document.getElementById("frm_link"),newTemplateActionInput:document.getElementById("frm_action_type"),bodyContentChildren:null==ee?void 0:ee.children});var ie,ce=window.frmDom,le=ce.tag,ue=ce.div,se=ce.span,me=ce.a,fe=ce.img,pe="".concat(Q,"/images/applications/thumbnails");var de=window.frmFormTemplatesVars,ye=de.templatesCount,ve=de.favoritesCount,he=de.customCount,be=ht().availableTemplateItems.length;jt({availableTemplatesCount:be,customCount:Number(he),extraTemplatesCount:ye-be,favoritesCount:ve}),window.frmDom.span;var ge=function(t,e){return t.textContent=String(e),t},we=function(t,e,n,r,o,a,i){e._counterStartTime||(e._counterStartTime=t,e._counterLastTimestamp=t,e._counterFrameDropCount=0,e._counterLastValue=n);var c=t-e._counterLastTimestamp,l=t-e._counterStartTime;if(c>50&&null!==e._counterLastTimestamp&&(e._counterFrameDropCount++,e._counterFrameDropCount>3))return e.style.transition="opacity ".concat(Math.max(o-l,100),"ms ease-out"),e.textContent=String(r),void delete e._counterAnimation;var u=Math.min(l/o,1),s=i(u),m=Math.round(n+a*s);m!==e._counterLastValue&&(e.textContent=String(m),e._counterLastValue=m),e._counterLastTimestamp=t,u<1?e._counterAnimation=requestAnimationFrame(function(t){return we(t,e,n,r,o,a,i)}):(e.textContent=String(r),["_counterAnimation","_counterStartTime","_counterLastTimestamp","_counterFrameDropCount","_counterLastValue"].forEach(function(t){return delete e[t]}),e.style.removeProperty("transition"))},Se=function(t){return 1-Math.pow(1-t,4)};const Te=function(){var t,e=ht(),n=e.sidebar,r=e.searchInput,o=e.bodyContent,a=e.twinFeaturedTemplateItems,c=e.availableTemplatesCategory,l=e.extraTemplateCountElements,u=new Pt(o);r.value="",Yt(a),function(t){if(t){var e,n,r=Ot("availableTemplatesCount");if(Ut("registered-for-free-templates"))history.replaceState({},"",Vt("registered-for-free-templates")),e=t,n=r,setTimeout(function(){e.dispatchEvent(new Event("click",{bubbles:!0}))},0),setTimeout(function(){!function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r="string"==typeof t?document.querySelector(t):t;if(!(r&&r instanceof HTMLElement))return null;var o="number"==typeof e?e:parseInt(e,10);if(isNaN(o))return console.warn("Counter: Invalid value provided, defaulting to 0"),ge(r,"0");if(0===o)return ge(r,"0");var a=n.duration,i=void 0===a?3e3:a,c=n.easing,l=void 0===c?Se:c,u=parseInt(r.textContent,10)||0,s=o-u;0===s||(r._counterAnimation&&cancelAnimationFrame(r._counterAnimation),r.classList.add("frm-fadein"),r._counterAnimation=requestAnimationFrame(function(t){return we(t,r,u,o,i,s,l)}))}(e.querySelector(".".concat(y,"-cat-count")),n)},150),setTimeout(function(){ht().availableTemplateItems.forEach(function(t){i.includes(Number(t.dataset.id))||(t.classList.add("frm-background-highlight"),t.addEventListener("animationend",function t(e){"backgroundHighlight"===e.animationName&&(this.classList.remove("frm-background-highlight"),this.removeEventListener("animationend",t))}))})},750);else t.querySelector(".".concat(y,"-cat-count")).textContent=r}}(c),l.forEach(function(t){return t.textContent=Ot("extraTemplatesCount")}),o.classList.remove(et),n.classList.remove(et),u.fadeIn(),Ut("return_page")&&(t=ht().headerCancelButton,new Pt(t).fadeIn())};function _e(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return xe(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(xe(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,xe(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,xe(m,"constructor",u),xe(u,"constructor",l),l.displayName="GeneratorFunction",xe(u,o,"GeneratorFunction"),xe(m),xe(m,o,"Generator"),xe(m,r,function(){return this}),xe(m,"toString",function(){return"[object Generator]"}),(_e=function(){return{w:a,m:f}})()}function xe(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}xe=function(t,e,n,r){function a(e,n){xe(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},xe(t,e,n,r)}function Ee(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Oe=null;function je(){var t;return t=_e().m(function t(){var e,n,r;return _e().w(function(t){for(;;)switch(t.n){case 0:e=window.frmAdminBuild,n=e.initModal,r=e.offsetModalY,(Oe=n("#frm-form-templates-modal",p))&&r(Oe,"103px"),Ut("free-templates")&&ht().leaveEmailModal&&dn(),wp.hooks.addAction("frmAdmin.beforeOpenConfirmModal","frmFormTemplates",function(t){var e=t.$info;e.dialog("option","width",d),r(e,"103px")});case 1:return t.a(2)}},t)}),je=function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){Ee(a,r,o,i,c,"next",t)}function c(t){Ee(a,r,o,i,c,"throw",t)}i(void 0)})},je.apply(this,arguments)}function Ie(){return Oe}function ke(t){var e=ht().pageTitleText,n=t||Ot("selectedCategoryEl").querySelector(".".concat(y,"-cat-text")).textContent;e.textContent=n}var Ce=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-favorite-item"))},Ae=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-custom-item"))},Pe={},Fe=function(){var t=ht(),e=t.createFormButton,n=t.newTemplateForm,r=t.newTemplateNameInput,o=t.newTemplateActionInput,a=window.frmAdminBuild.installNewForm;r.value="",o.value="frm_install_form",a(n,"frm_install_form",e)};var Le=".".concat(l,"-item-favorite-button"),Be="".concat(Le," use"),De="#frm_heart_solid_icon",Me="#frm_heart_icon",qe=function(t){var e,n=t.currentTarget,r=ht(),o=r.templatesList,i=r.featuredTemplatesList,c=r.favoritesCategoryCountEl,u=r.customTemplatesTitle,m=n.closest(".frm-card-item"),f=m.dataset.id,p=Ce(m),d=Ae(m),y=function(t){return!!Zt(t)&&a.includes(Number(t.dataset.id))}(m),v=null;if(m.classList.toggle("".concat(l,"-favorite-item"),!p),y){var h=m.closest("#".concat(l,"-list"))?i:o;h&&(v=h.querySelector('.frm-card-item[data-id="'.concat(f,'"]'))).classList.toggle("".concat(l,"-favorite-item"),!p)}var b,g=Et(),w=g.selectedCategory,S=g.favoritesCount,T=p?"remove":"add",_=m.querySelector(Be),x=null===(e=v)||void 0===e?void 0:e.querySelector(Be);"add"===T?(++S.total,d?++S.custom:++S.default,_.setAttribute("xlink:href",De),null==x||x.setAttribute("xlink:href",De)):(--S.total,d?--S.custom:--S.default,_.setAttribute("xlink:href",Me),null==x||x.setAttribute("xlink:href",Me)),c.textContent=S.total,It("favoritesCount",S),s===w&&(0===S.total&&on(),Xt(m),0===S.default&&Xt(o),0!==S.custom&&0!==S.default||Xt(u)),b=function(){return t=f,e=T,n=d,r=new FormData,o=frmDom.ajax.doJsonPost,r.append("template_id",t),r.append("operation",e),r.append("is_custom_template",n),o("add_or_remove_favorite_template",r);var t,e,n,r,o},Ft=Ft.then(b).catch(b)};var Ne=function(t){var e=t.currentTarget,n=e.closest(".frm-card-item"),r=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-locked-item"))}(n),o=Ae(n);if(r||!o)if(t.preventDefault(),r)!function(t){var e=t.dataset.requiredPlan;switch(e){case"basic":case"plus":case"business":case"elite":fn(e,t);break;case"renew":pn();break;case"free":dn()}}(n);else{var a=ht(),i=a.newTemplateForm,c=a.newTemplateNameInput,u=a.newTemplateDescriptionInput,s=a.newTemplateLinkInput,m=a.newTemplateActionInput,f=window.frmAdminBuild.installNewForm,p=n.querySelector(".frm-form-template-name").textContent.trim(),d=n.querySelector(".frm-form-templates-item-description").textContent.trim(),y="frm_install_template";c.value=p,u.value=d,m.value=y,s.value=e.href,f(i,y,e)}};var Ge=window.frmDom.search.init;function Re(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=Et(),a=ht().allItemsCategory;It("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ht(),n=e.bodyContent,r=e.bodyContentChildren,o=e.pageTitle,a=e.templatesList,i=e.applicationTemplates,c=new Pt(n);t&&Ot("selectedCategoryEl").classList.remove(nt),Yt(r),ke(X("Search Result","formidable")),Jt([o,a,i]),c.fadeIn()}(r),r&&It("selectedCategory","")),function(t){if(t){var e,n=ht().emptyState;if(e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")){var r=ht().pageTitle;Xt(n),Kt(r)}var o=ht(),a=o.templatesList,i=o.applicationTemplates,c=o.applicationTemplatesTitle,l=o.applicationTemplatesList;Jt([a,i,c]),0===a.offsetHeight&&Yt([a,c]),0===(null==l?void 0:l.offsetHeight)&&Xt(i)}else!function(){var t,e=Et().notEmptySearchText,n=ht(),r=n.pageTitle,o=n.emptyState,a=n.emptyStateButton,i=n.applicationTemplates;if(f!==(null===(t=o.dataset)||void 0===t?void 0:t.view)){o.setAttribute("data-view",f);var c=ht(),l=c.emptyStateTitle,u=c.emptyStateText;l.textContent=X("No templates found","formidable"),u.textContent=X("Sorry, we didn't find any templates that match your criteria.","formidable"),a.textContent=X("Start from Scratch","formidable"),Yt([r,i]),Jt([o,a])}else e?(Kt(o),Yt([r,i])):(Xt(o),o.removeAttribute("data-view"))}()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}var ze=function(){var t,e=ht().emptyState;f===(null===(t=e.dataset)||void 0===t?void 0:t.view)&&(It("selectedCategory",""),te(),ht().searchInput.focus())};var Ve=function(){var t=Et().selectedCategory;m===t&&yn()},$e=function(){var t=ht().createTemplateFormsDropdown,e=t.value;if(e&&"no-forms"!==e){Ue(!1);var n=t.options[t.selectedIndex],r=n.dataset.description.trim(),o=n.dataset.name.trim(),a=" ".concat(X("Template","formidable"));o.endsWith(a)||(o+=a);var i=ht(),c=i.createTemplateName,l=i.createTemplateDescription;c.value=o,l.value=r}else Ue(!0)},Ue=function(t){var e=ht(),n=e.createTemplateName,r=e.createTemplateDescription,o=e.createTemplateButton;[n,r].forEach(function(e){e.disabled=t,t&&(e.value="")}),o.classList.toggle("disabled",t)},He=function(){var t=window.frmAdminBuild.installNewForm,e="frm_create_template",n=ht(),r=n.newTemplateForm,o=n.newTemplateActionInput,a=n.newTemplateNameInput,i=n.newTemplateDescriptionInput,c=n.newTemplateLinkInput,l=n.createTemplateName,u=n.createTemplateDescription,s=n.createTemplateFormsDropdown,m=n.createTemplateButton;o.value=e,a.value=l.value.trim(),i.value=u.value.trim(),c.value=s.value,t(r,e,m)};function Ze(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return Je(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(Je(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,Je(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,Je(m,"constructor",u),Je(u,"constructor",l),l.displayName="GeneratorFunction",Je(u,o,"GeneratorFunction"),Je(m),Je(m,o,"Generator"),Je(m,r,function(){return this}),Je(m,"toString",function(){return"[object Generator]"}),(Ze=function(){return{w:a,m:f}})()}function Je(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Je=function(t,e,n,r){function a(e,n){Je(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},Je(t,e,n,r)}function Ye(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Ke=window.frmDom.tag,Xe=function(){var t,e=(t=Ze().m(function t(){var e,n,r,o,a,i,c,l,u;return Ze().w(function(t){for(;;)switch(t.p=t.n){case 0:if(e=ht(),n=e.leaveEmailModalInput,r=n.value.trim()){t.n=1;break}return vn("empty"),t.a(2);case 1:if(Ht(r)){t.n=2;break}return vn("invalid"),t.a(2);case 2:return o=ht(),(a=o.leaveEmailModalButton).style.setProperty("cursor","not-allowed"),a.classList.add("frm_loading_button"),(i=new FormData).append("email",r),l=frmDom.ajax.doJsonPost,t.p=3,t.n=4,l("get_free_templates",i);case 4:c=t.v,t.n=6;break;case 5:return t.p=5,u=t.v,console.error("An error occurred:",u),We(),t.a(2);case 6:if(c.success){t.n=7;break}return We(),t.a(2);case 7:Ut("free-templates")&&Vt("free-templates"),$t("registered-for-free-templates","1"),window.location.reload();case 8:return t.a(2)}},t,null,[[3,5]])}),function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){Ye(a,r,o,i,c,"next",t)}function c(t){Ye(a,r,o,i,c,"throw",t)}i(void 0)})});return function(){return e.apply(this,arguments)}}();function We(){var t=ht().leaveEmailModal;t.querySelector(".inside").replaceChildren(Ke("p",X("Failed to get templates, please try again later.","formidable"))),t.querySelector(".frm_modal_footer").classList.add("frm_hidden")}var Qe=function(t){if(!t.target.closest("a")){var e=t.currentTarget;window.location.href=e.dataset.href}};function tn(){var t,e,n,r;ht().categoryItems.forEach(function(t){Mt(t,Wt),t.addEventListener("keydown",Qt)}),wp.hooks.addAction("frmPage.onCategoryClick","frmFormTemplates",function(t){!function(t){var e=ht(),n=e.bodyContentChildren,r=e.pageTitle,o=e.showCreateTemplateModalButton,a=e.templatesList,i=e.templateItems,c=e.upsellBanner;switch(v!==t&&Yt(n),ke(),Xt(o),Kt(r),t){case v:!function(){var t=ht(),e=t.bodyContentChildren,n=t.pageTitleDivider,r=t.templateItems,o=t.twinFeaturedTemplateItems,a=t.customTemplatesSection,i=t.emptyState,c=t.applicationTemplates;Jt([].concat(nn(e),nn(r))),Yt([n].concat(nn(o),[a,i,c]))}();break;case u:!function(){if(0!==Et().availableTemplatesCount){var t=ht(),e=t.templatesList,n=t.templateItems,r=t.availableTemplateItems,o=t.upsellBanner;Yt(n),Jt([o,e].concat(nn(r)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",u);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText,c=Et().extraTemplatesCount;a.textContent=X("No Templates Available","formidable"),i.textContent=function(t){try{for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&s.push(r),t.custom>0){var f=Array.from(u).filter(function(t){return!Ce(t)});Yt(f),s.push(a),s.push(c),0===t.default?Xt(i):s.push(i)}Jt(s)}else on()}();break;case m:!function(){if(0!==Et().customCount){var t=ht(),e=t.showCreateTemplateModalButton,n=t.pageTitleDivider,r=t.customTemplatesSection,o=t.customTemplatesList,a=t.customTemplatesTitle,i=t.customTemplateItems;Xt(a),Jt([e,n,r,o].concat(nn(i)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",m);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText;a.textContent=X("You currently have no templates.","formidable"),i.textContent=X("You haven't created any form templates. Begin now to simplify your workflow and save time.","formidable"),r.textContent=X("Create Template","formidable"),Xt(e),Jt([n,r])}()}();break;default:Yt(i),Jt([c,a].concat(nn(Pe[t])))}}(t)}),r=ht().createFormButton,Mt(r,Fe),document.querySelectorAll(Le).forEach(function(t){return Mt(t,qe)}),document.querySelectorAll(".".concat(l,"-use-template-button")).forEach(function(t){return t.addEventListener("click",Ne)}),t=ht(),e=t.searchInput,n=t.emptyStateButton,Ge(e,"frm-card-item",{handleSearchResult:Re}),Mt(n,ze),function(){var t=ht(),e=t.createTemplateFormsDropdown,n=t.createTemplateButton,r=t.showCreateTemplateModalButton,o=t.emptyStateButton;Mt(r,Ve),Mt(o,Ve),e.addEventListener("change",$e),Mt(n,He)}(),function(){var t=ht(),e=t.leaveEmailModalButton,n=t.getFreeTemplatesBannerButton;Mt(e,Xe),Mt(n,dn)}()}function en(t){var e,n;(function(t){if(t&&t.length){var e=t.map(function(t){return function(t){var e=t.name,n=t.key,o=t.hasLiteThumbnail,a=t.isWebp,i=o?a?"".concat(pe,"/").concat(n,".webp"):"".concat(pe,"/").concat(n,".png"):"".concat(pe,"/placeholder.svg");return le("li",{className:"frm-card-item",data:{href:"".concat(r,"&triggerViewApplicationModal=1&template=").concat(n),"frm-search-text":e.toLowerCase()},children:[ue({className:"".concat(l,"-item-icon"),child:fe({src:i})}),ue({className:"".concat(l,"-item-body"),children:[se({text:X("Ready Made Solution","formidable"),className:"frm-meta-tag frm-orange-tag frm-text-xs"}),le("h3",{text:e,className:"frm-text-sm frm-font-medium frm-m-0"}),me({text:X("See all applications","formidable"),className:"frm-text-xs frm-font-semibold",href:r})]})]})}(t)});ie=ue({id:"".concat(l,"-applications"),className:tt,children:[le("h2",{text:X("Application Templates"),className:"frm-text-sm frm-mb-sm"}),le("ul",{className:"".concat(l,"-list frm-list-grid-layout"),children:e})]})}})(t.templates),(e=ht()).applicationTemplates||void 0===ie||(e.bodyContent.appendChild(ie),bt({applicationTemplates:ie,applicationTemplatesTitle:ie.querySelector("h2"),applicationTemplatesList:ie.querySelector(".".concat(l,"-list")),applicationTemplateItems:ie.querySelectorAll(".frm-card-item")})),void 0!==(n=ht().applicationTemplateItems)&&n.forEach(function(t){t.addEventListener("click",Qe)})}function nn(t){return function(t){if(Array.isArray(t))return rn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return rn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rn(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(cn(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,cn(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,cn(m,"constructor",u),cn(u,"constructor",l),l.displayName="GeneratorFunction",cn(u,o,"GeneratorFunction"),cn(m),cn(m,o,"Generator"),cn(m,r,function(){return this}),cn(m,"toString",function(){return"[object Generator]"}),(an=function(){return{w:a,m:f}})()}function cn(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}cn=function(t,e,n,r){function a(e,n){cn(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},cn(t,e,n,r)}function ln(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}function un(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){ln(a,r,o,i,c,"next",t)}function c(t){ln(a,r,o,i,c,"throw",t)}i(void 0)})}}var sn=function(t){return un(an().m(function e(){var n,r,o,a,i,c,l=arguments;return an().w(function(e){for(;;)switch(e.n){case 0:if(n=Ie()){e.n=1;break}return e.a(2);case 1:for(r=ht(),o=r.modalItems,Yt(o),n.dialog("option","width",p),a=l.length,i=new Array(a),c=0;c use").setAttribute("xlink:href",r?"#frm_checkmark_icon":"#frm_close_icon")});var u=e.dataset.slug?"-".concat(e.dataset.slug):"";l.href=c+u,Kt(o)}),pn=sn(function(){var t=ht().renewAccountModal;Kt(t)}),dn=sn(function(){var t=ht().leaveEmailModal;Kt(t)}),yn=sn(function(){Ie().dialog("option","width",d);var t=ht().createTemplateModal;Kt(t)}),vn=function(t){!function(t,e,n){var r=document.querySelector("#frm_leave_email"),o=document.querySelector("#frm_leave_email_error");r&&o?(o.setAttribute("frm-error",n),Kt(o),r.addEventListener("keyup",function(){Xt(o)},{once:!0})):console.warn("showFormError: Unable to find input or error element.")}(0,0,t)};var hn;hn=function(){wp.hooks.doAction("frmFormTemplates.beforeInitialize",{getState:Et,setState:jt}),e&&(0,frmDom.ajax.doJsonFetch)("get_applications_data&view=templates").then(en),function(){je.apply(this,arguments)}(),ht().templateItems.forEach(function(t){t.getAttribute("data-categories").split(",").forEach(function(e){Pe[e]||(Pe[e]=[]),Pe[e].push(t)})}),Te(),tn(),wp.hooks.doAction("frmFormTemplates.afterInitialize",{getState:Et,setState:jt}),wp.hooks.doAction("frm_new_form_modal_form",jQuery("#frm-new-template"))},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",hn):hn())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var r,n,o=0;function a(){var a,i,c=r,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(i=0;i{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,i,c,l,u,s,f,m,p=1,d=t.length,h="";for(n=0;n=0),c.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c.width?parseInt(c.width):0);break;case"e":r=c.precision?parseFloat(r).toExponential(c.precision):parseFloat(r).toExponential();break;case"f":r=c.precision?parseFloat(r).toFixed(c.precision):parseFloat(r);break;case"g":r=c.precision?String(Number(r.toPrecision(c.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=c.precision?r.substring(0,c.precision):r;break;case"t":r=String(!!r),r=c.precision?r.substring(0,c.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=c.precision?r.substring(0,c.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=c.precision?r.substring(0,c.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?h+=r:(!o.number.test(c.type)||f&&!c.sign?m="":(m=f?"+":"-",r=r.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",s=c.width-(m+r).length,l=c.width&&s>0?u.repeat(s):"",h+=c.align?m+r+l:"0"===u?m+l+r:l+m+r)}return h}(function(t){if(c[t])return c[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var i=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(i.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))i.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");i.push(u[1])}e[2]=i}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return c[t]=n}(t),arguments)}function i(t,e){return a.apply(null,[t].concat(e||[]))}var c=Object.create(null);e.sprintf=a,e.vsprintf=i,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=i,void 0===(n=function(){return{sprintf:a,vsprintf:i}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.canAccessApplicationDashboard,n=t.applicationsUrl,o=window.frmFormTemplatesVars,a=o.FEATURED_TEMPLATES_IDS,i=o.FREE_TEMPLATES_IDS,c=o.upgradeLink,l="frm-form-templates",u="available-templates",s="favorites",f="custom",m="search",p="440px",d="550px",h="frm-page-skeleton",y="all-items";function v(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function g(t){for(var e=1;e":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},x=["(","?"],E={")":["("],":":["?","?:"]},_=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var C={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};var P={contextDelimiter:"",onMissingKey:null};function F(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},P)this.options[r]=void 0!==e&&r in e?e[r]:P[r]}function B(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function D(t){for(var e=1;e=0||S[o]3&&void 0!==arguments[3]?arguments[3]:10,i=t[e];if(G(r)&&q(n))if("function"==typeof o)if("number"==typeof a){var c={callback:o,priority:a,namespace:n};if(i[r]){var l,u=i[r].handlers;for(l=u.length;l>0&&!(a>=u[l-1].priority);l--);l===u.length?u[l]=c:u.splice(l,0,c),i.__current.forEach((function(t){t.name===r&&t.currentIndex>=l&&t.currentIndex++}))}else i[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,n,o,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},z=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,o){var a=t[e];if(G(n)&&(r||q(o))){if(!a[n])return 0;var i=0;if(r)i=a[n].handlers.length,a[n]={runs:a[n].runs,handlers:[]};else for(var c=a[n].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),i++,a.__current.forEach((function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--})))},u=c.length-1;u>=0;u--)l(u);return"hookRemoved"!==n&&t.doAction("hookRemoved",n,o),i}}},Y=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some((function(t){return t.namespace===n})):r in o}},V=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var a=o[n].handlers,i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=D(D(D({},N),n.data[e]),t),n.data[e][""]=D(D({},N[""]),n.data[e][""])},c=function(t,e){i(t,e),a()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return n.data[t]||i(void 0,t),n.dcnpgettext(t,e,r,o,a)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},s=function(t,e,n){var o=l(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+u(n),o,t,e,n)):o};if(r){var f=function(t){M.test(t)&&a()};r.addAction("hookAdded","core/i18n",f),r.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:c,resetLocaleData:function(t,e){n.data={},n.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var n=l(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+u(e),n,t,e)):n},_x:s,_n:function(t,e,n,o){var a=l(o,void 0,t,e,n);return r?(a=r.applyFilters("i18n.ngettext",a,t,e,n,o),r.applyFilters("i18n.ngettext_"+u(o),a,t,e,n,o)):a},_nx:function(t,e,n,o,a){var i=l(a,o,t,e,n);return r?(i=r.applyFilters("i18n.ngettext_with_context",i,t,e,n,o,a),r.applyFilters("i18n.ngettext_with_context_"+u(a),i,t,e,n,o,a)):i},isRTL:function(){return"rtl"===s("ltr","text direction")},hasTranslation:function(t,e,o){var a,i,c=e?e+""+t:t,l=!(null===(a=n.data)||void 0===a||null===(i=a[null!=o?o:"default"])||void 0===i||!i[c]);return r&&(l=r.applyFilters("i18n.has_translation",l,t,e,o),l=r.applyFilters("i18n.has_translation_"+u(o),l,t,e,o)),l}}}(0,0,J));K.getLocaleData.bind(K),K.setLocaleData.bind(K),K.resetLocaleData.bind(K),K.subscribe.bind(K);var X=K.__.bind(K),W=(K._x.bind(K),K._n.bind(K),K._nx.bind(K),K.isRTL.bind(K),K.hasTranslation.bind(K),window.frmGlobal),Q=W.url,tt=(W.nonce,"frm_hidden"),et="frm-hide-js",rt="frm-current",nt=window.frmDom,ot=nt.tag,at=nt.div,it=nt.a,ct=nt.img;function lt(t){return lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(t)}function ut(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function st(t,e,r){return(e=function(t){var e=function(t){if("object"!=lt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=lt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==lt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var ft,mt=document.getElementById("post-body-content"),pt=document.getElementById("".concat(h,"-sidebar")),dt=((ft=it({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),at({id:"".concat(h,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(tt),children:[ct({src:"".concat(Q,"/images/page-skeleton/empty-state.svg"),alt:X("Empty State","formidable")}),at({className:"frmcenter",children:[ot("h2",{className:"".concat(h,"-title frm-mb-0")}),ot("p",{className:"".concat(h,"-text frm-mb-0")})]}),ft]}));null==mt||mt.appendChild(dt);var ht=function(){var t=document.querySelector("#".concat(h,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(h,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(h,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),yt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==w(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==w(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=g(g({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==xt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var r=Reflect.get(e,t);return void 0===r?null:r},setState:function(t){if("object"!==xt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=wt(wt({},e),t)},setSingleState:function(t,r){Reflect.has(e,t)&&Reflect.set(e,t,r)}}}({notEmptySearchText:!1,selectedCategory:y,selectedCategoryEl:Et}),Tt=_t.getState,Lt=_t.getSingleState,Ot=_t.setState,jt=_t.setSingleState;function kt(t){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(t)}function It(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=r,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements((function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",(function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){t.applyStyleToElements((function(t,r){t.classList.remove("frm-animate"),t.style.transitionDelay=(r+1)*e+"s"}))}),200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements((function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(t){return t.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):02&&void 0!==arguments[2]?arguments[2]:"pushState";if(zt.set(t,e),Rt.search=zt.toString(),["pushState","replaceState"].includes(a)){var i=(r={},o=e,(n=function(t){var e=function(t){if("object"!=Mt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Mt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Mt(e)?e:e+""}(n=t))in r?Object.defineProperty(r,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[n]=o,r);window.history[a](i,"",Rt)}return Rt.toString()},$t=function(t){return zt.has(t)},Ut=function(t){return"string"==typeof t&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(t)},Ht=function(t){return t instanceof HTMLElement||console.warn("Invalid argument: Element must be an instance of HTMLElement")||!1},Zt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach((function(t){return Kt(t)}))},Jt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach((function(t){return Xt(t)}))},Kt=function(t){return null==t?void 0:t.classList.remove(tt)},Xt=function(t){return null==t?void 0:t.classList.add(tt)},Wt=function(t){var e=t.currentTarget,r=e.getAttribute("data-category"),n=Tt(),o=n.selectedCategory,a=n.selectedCategoryEl,i=n.notEmptySearchText;if(o!==r){o=wp.hooks.applyFilters("frmPage.selectedCategory",r),a.classList.remove(rt),(a=e).classList.add(rt),Ot({selectedCategory:o,selectedCategoryEl:a}),i&&te(),wp.hooks.doAction("frmPage.onCategoryClick",o);var c=vt().bodyContent;new Ct(c).fadeIn()}};function Qt(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Wt(t))}function te(){var t=vt().searchInput;t.value="",t.dispatchEvent(new Event("input",{bubbles:!0}))}var ee=vt().bodyContent,re=document.getElementById("".concat(l,"-list")),ne=document.getElementById("".concat(l,"-custom-list-section")),oe=document.querySelector(".".concat(h,'-cat[data-category="').concat(s,'"]')),ae=document.getElementById("".concat(l,"-modal"));gt({headerCancelButton:null===(qt=document.getElementById("frm-publishing"))||void 0===qt?void 0:qt.querySelector("a"),createFormButton:document.getElementById("".concat(l,"-create-form")),pageTitle:document.getElementById("".concat(l,"-page-title")),pageTitleText:document.getElementById("".concat(l,"-page-title-text")),pageTitleDivider:document.getElementById("".concat(l,"-page-title-divider")),upsellBanner:null!==(Gt=document.getElementById("frm-renew-subscription-banner"))&&void 0!==Gt?Gt:document.getElementById("frm-upgrade-banner"),extraTemplateCountElements:document.querySelectorAll(".".concat(l,"-extra-templates-count")),templatesList:re,templateItems:re.querySelectorAll(".frm-card-item"),availableTemplateItems:re.querySelectorAll(".frm-card-item:not(.".concat(l,"-locked-item)")),twinFeaturedTemplateItems:re.querySelectorAll(".".concat(l,"-featured-item")),featuredTemplatesList:document.getElementById("".concat(l,"-featured-list")),customTemplatesSection:ne,customTemplateItems:ne.querySelectorAll(".frm-card-item"),customTemplatesTitle:document.getElementById("".concat(l,"-custom-list-title")),customTemplatesList:document.getElementById("".concat(l,"-custom-list")),favoritesCategory:oe,favoritesCategoryCountEl:null==oe?void 0:oe.querySelector(".".concat(h,"-cat-count")),availableTemplatesCategory:document.querySelector(".".concat(h,'-cat[data-category="').concat(u,'"]')),getFreeTemplatesBannerButton:document.querySelector(".frm-get-free-templates-banner .button"),modal:ae,modalItems:null==ae?void 0:ae.querySelectorAll(".".concat(l,"-modal-item")),showCreateTemplateModalButton:document.getElementById("frm-show-create-template-modal"),createTemplateModal:document.getElementById("frm-create-template-modal"),createTemplateFormsDropdown:document.getElementById("frm-create-template-modal-forms-select"),createTemplateName:document.getElementById("frm_create_template_name"),createTemplateDescription:document.getElementById("frm_create_template_description"),createTemplateButton:document.getElementById("frm-create-template-button"),renewAccountModal:document.getElementById("frm-renew-modal"),leaveEmailModal:document.getElementById("frm-leave-email-modal"),leaveEmailModalInput:document.getElementById("frm_leave_email"),leaveEmailModalButton:document.getElementById("frm-get-code-button"),upgradeModal:document.getElementById("frm-form-upgrade-modal"),upgradeModalTemplateNames:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-template-name"),upgradeModalPlansIcons:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-plan-icon"),upgradeModalLink:document.getElementById("frm-upgrade-modal-link"),newTemplateForm:document.getElementById("frm-new-template"),newTemplateNameInput:document.getElementById("frm_template_name"),newTemplateDescriptionInput:document.getElementById("frm_template_desc"),newTemplateLinkInput:document.getElementById("frm_link"),newTemplateActionInput:document.getElementById("frm_action_type"),bodyContentChildren:null==ee?void 0:ee.children});var ie,ce=window.frmDom,le=ce.tag,ue=ce.div,se=ce.span,fe=ce.a,me=ce.img,pe="".concat(Q,"/images/applications/thumbnails");var de=window.frmFormTemplatesVars,he=de.templatesCount,ye=de.favoritesCount,ve=de.customCount,ge=vt().availableTemplateItems.length;Ot({availableTemplatesCount:ge,customCount:Number(ve),extraTemplatesCount:he-ge,favoritesCount:ye}),window.frmDom.span;var be=function(t,e){return t.textContent=String(e),t},we=function(t,e,r,n,o,a,i){e._counterStartTime||(e._counterStartTime=t,e._counterLastTimestamp=t,e._counterFrameDropCount=0,e._counterLastValue=r);var c=t-e._counterLastTimestamp,l=t-e._counterStartTime;if(c>50&&null!==e._counterLastTimestamp&&(e._counterFrameDropCount++,e._counterFrameDropCount>3))return e.style.transition="opacity ".concat(Math.max(o-l,100),"ms ease-out"),e.textContent=String(n),void delete e._counterAnimation;var u=Math.min(l/o,1),s=i(u),f=Math.round(r+a*s);f!==e._counterLastValue&&(e.textContent=String(f),e._counterLastValue=f),e._counterLastTimestamp=t,u<1?e._counterAnimation=requestAnimationFrame((function(t){return we(t,e,r,n,o,a,i)})):(e.textContent=String(n),["_counterAnimation","_counterStartTime","_counterLastTimestamp","_counterFrameDropCount","_counterLastValue"].forEach((function(t){return delete e[t]})),e.style.removeProperty("transition"))},Se=function(t){return 1-Math.pow(1-t,4)};const xe=function(){var t,e=vt(),r=e.sidebar,n=e.searchInput,o=e.bodyContent,a=e.twinFeaturedTemplateItems,c=e.availableTemplatesCategory,l=e.extraTemplateCountElements,u=new Ct(o);n.value="",Jt(a),function(t){if(t){var e,r,n=Lt("availableTemplatesCount");if($t("registered-for-free-templates"))history.replaceState({},"",Yt("registered-for-free-templates")),e=t,r=n,setTimeout((function(){e.dispatchEvent(new Event("click",{bubbles:!0}))}),0),setTimeout((function(){!function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n="string"==typeof t?document.querySelector(t):t;if(!(n&&n instanceof HTMLElement))return null;var o="number"==typeof e?e:parseInt(e,10);if(isNaN(o))return console.warn("Counter: Invalid value provided, defaulting to 0"),be(n,"0");if(0===o)return be(n,"0");var a=r.duration,i=void 0===a?3e3:a,c=r.easing,l=void 0===c?Se:c,u=parseInt(n.textContent,10)||0,s=o-u;0===s||(n._counterAnimation&&cancelAnimationFrame(n._counterAnimation),n.classList.add("frm-fadein"),n._counterAnimation=requestAnimationFrame((function(t){return we(t,n,u,o,i,s,l)})))}(e.querySelector(".".concat(h,"-cat-count")),r)}),150),setTimeout((function(){vt().availableTemplateItems.forEach((function(t){i.includes(Number(t.dataset.id))||(t.classList.add("frm-background-highlight"),t.addEventListener("animationend",(function t(e){"backgroundHighlight"===e.animationName&&(this.classList.remove("frm-background-highlight"),this.removeEventListener("animationend",t))})))}))}),750);else t.querySelector(".".concat(h,"-cat-count")).textContent=n}}(c),l.forEach((function(t){return t.textContent=Lt("extraTemplatesCount")})),o.classList.remove(et),r.classList.remove(et),u.fadeIn(),$t("return_page")&&(t=vt().headerCancelButton,new Ct(t).fadeIn())};function Ee(t){return Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ee(t)}function _e(){_e=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var a=e&&e.prototype instanceof v?e:v,i=Object.create(a.prototype),c=new I(n||[]);return o(i,"_invoke",{value:L(t,r,c)}),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var m="suspendedStart",p="suspendedYield",d="executing",h="completed",y={};function v(){}function g(){}function b(){}var w={};u(w,i,(function(){return this}));var S=Object.getPrototypeOf,x=S&&S(S(A([])));x&&x!==r&&n.call(x,i)&&(w=x);var E=b.prototype=v.prototype=Object.create(w);function _(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function T(t,e){function r(o,a,i,c){var l=f(t[o],t,a);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==Ee(s)&&n.call(s,"__await")?e.resolve(s.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(s).then((function(t){u.value=t,i(u)}),(function(t){return r("throw",t,i,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return a=a?a.then(o,o):o()}})}function L(e,r,n){var o=m;return function(a,i){if(o===d)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var l=O(c,n);if(l){if(l===y)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===m)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?h:p,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=h,n.method="throw",n.arg=u.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function Te(t,e,r,n,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(n,o)}var Le=null;function Oe(){var t;return t=_e().mark((function t(){var e,r,n;return _e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=window.frmAdminBuild,r=e.initModal,n=e.offsetModalY,(Le=r("#frm-form-templates-modal",p))&&n(Le,"103px"),$t("free-templates")&&vt().leaveEmailModal&&pr(),wp.hooks.addAction("frmAdmin.beforeOpenConfirmModal","frmFormTemplates",(function(t){var e=t.$info;e.dialog("option","width",d),n(e,"103px")}));case 5:case"end":return t.stop()}}),t)})),Oe=function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){Te(a,n,o,i,c,"next",t)}function c(t){Te(a,n,o,i,c,"throw",t)}i(void 0)}))},Oe.apply(this,arguments)}function je(){return Le}function ke(t){var e=vt().pageTitleText,r=t||Lt("selectedCategoryEl").querySelector(".".concat(h,"-cat-text")).textContent;e.textContent=r}var Ie=function(t){return!!Ht(t)&&t.classList.contains("".concat(l,"-favorite-item"))},Ae=function(t){return!!Ht(t)&&t.classList.contains("".concat(l,"-custom-item"))},Ce={},Pe=function(){var t=vt(),e=t.createFormButton,r=t.newTemplateForm,n=t.newTemplateNameInput,o=t.newTemplateActionInput,a=window.frmAdminBuild.installNewForm;n.value="",o.value="frm_install_form",a(r,"frm_install_form",e)};var Fe=".".concat(l,"-item-favorite-button"),Be="".concat(Fe," use"),De="#frm_heart_solid_icon",Ne="#frm_heart_icon",Me=function(t){var e,r=t.currentTarget,n=vt(),o=n.templatesList,i=n.featuredTemplatesList,c=n.favoritesCategoryCountEl,u=n.customTemplatesTitle,f=r.closest(".frm-card-item"),m=f.dataset.id,p=Ie(f),d=Ae(f),h=function(t){return!!Ht(t)&&a.includes(Number(t.dataset.id))}(f),y=null;if(f.classList.toggle("".concat(l,"-favorite-item"),!p),h){var v=f.closest("#".concat(l,"-list"))?i:o;v&&(y=v.querySelector('.frm-card-item[data-id="'.concat(m,'"]'))).classList.toggle("".concat(l,"-favorite-item"),!p)}var g,b=Tt(),w=b.selectedCategory,S=b.favoritesCount,x=p?"remove":"add",E=f.querySelector(Be),_=null===(e=y)||void 0===e?void 0:e.querySelector(Be);"add"===x?(++S.total,d?++S.custom:++S.default,E.setAttribute("xlink:href",De),null==_||_.setAttribute("xlink:href",De)):(--S.total,d?--S.custom:--S.default,E.setAttribute("xlink:href",Ne),null==_||_.setAttribute("xlink:href",Ne)),c.textContent=S.total,jt("favoritesCount",S),s===w&&(0===S.total&&or(),Xt(f),0===S.default&&Xt(o),0!==S.custom&&0!==S.default||Xt(u)),g=function(){return t=m,e=x,r=d,n=new FormData,o=frmDom.ajax.doJsonPost,n.append("template_id",t),n.append("operation",e),n.append("is_custom_template",r),o("add_or_remove_favorite_template",n);var t,e,r,n,o},Pt=Pt.then(g).catch(g)};var qe=function(t){var e=t.currentTarget,r=e.closest(".frm-card-item"),n=function(t){return!!Ht(t)&&t.classList.contains("".concat(l,"-locked-item"))}(r),o=Ae(r);if(n||!o)if(t.preventDefault(),n)!function(t){var e=t.dataset.requiredPlan;switch(e){case"basic":case"plus":case"business":case"elite":fr(e,t);break;case"renew":mr();break;case"free":pr()}}(r);else{var a=vt(),i=a.newTemplateForm,c=a.newTemplateNameInput,u=a.newTemplateDescriptionInput,s=a.newTemplateLinkInput,f=a.newTemplateActionInput,m=window.frmAdminBuild.installNewForm,p=r.querySelector(".frm-form-template-name").textContent.trim(),d=r.querySelector(".frm-form-templates-item-description").textContent.trim(),h="frm_install_template";c.value=p,u.value=d,f.value=h,s.value=e.href,m(i,h,e)}};var Ge=window.frmDom.search.init;function Re(t,e){var r=t.foundSomething,n=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=Tt(),a=vt().allItemsCategory;jt("notEmptySearchText",n),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=vt(),r=e.bodyContent,n=e.bodyContentChildren,o=e.pageTitle,a=e.templatesList,i=e.applicationTemplates,c=new Ct(r);t&&Lt("selectedCategoryEl").classList.remove(rt),Jt(n),ke(X("Search Result","formidable")),Zt([o,a,i]),c.fadeIn()}(n),n&&jt("selectedCategory","")),function(t){if(t){var e,r=vt().emptyState;if(e=r,"none"!==window.getComputedStyle(e).getPropertyValue("display")){var n=vt().pageTitle;Xt(r),Kt(n)}var o=vt(),a=o.templatesList,i=o.applicationTemplates,c=o.applicationTemplatesTitle,l=o.applicationTemplatesList;Zt([a,i,c]),0===a.offsetHeight&&Jt([a,c]),0===(null==l?void 0:l.offsetHeight)&&Xt(i)}else!function(){var t,e=Tt().notEmptySearchText,r=vt(),n=r.pageTitle,o=r.emptyState,a=r.emptyStateButton,i=r.applicationTemplates;if(m!==(null===(t=o.dataset)||void 0===t?void 0:t.view)){o.setAttribute("data-view",m);var c=vt(),l=c.emptyStateTitle,u=c.emptyStateText;l.textContent=X("No templates found","formidable"),u.textContent=X("Sorry, we didn't find any templates that match your criteria.","formidable"),a.textContent=X("Start from Scratch","formidable"),Jt([n,i]),Zt([o,a])}else e?(Kt(o),Jt([n,i])):(Xt(o),o.removeAttribute("data-view"))}()}(r)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}var ze=function(){var t,e=vt().emptyState;m===(null===(t=e.dataset)||void 0===t?void 0:t.view)&&(jt("selectedCategory",""),te(),vt().searchInput.focus())};var Ye=function(){var t=Tt().selectedCategory;f===t&&dr()},Ve=function(){var t=vt().createTemplateFormsDropdown,e=t.value;if(e&&"no-forms"!==e){$e(!1);var r=t.options[t.selectedIndex],n=r.dataset.description.trim(),o=r.dataset.name.trim(),a=" ".concat(X("Template","formidable"));o.endsWith(a)||(o+=a);var i=vt(),c=i.createTemplateName,l=i.createTemplateDescription;c.value=o,l.value=n}else $e(!0)},$e=function(t){var e=vt(),r=e.createTemplateName,n=e.createTemplateDescription,o=e.createTemplateButton;[r,n].forEach((function(e){e.disabled=t,t&&(e.value="")})),o.classList.toggle("disabled",t)},Ue=function(){var t=window.frmAdminBuild.installNewForm,e="frm_create_template",r=vt(),n=r.newTemplateForm,o=r.newTemplateActionInput,a=r.newTemplateNameInput,i=r.newTemplateDescriptionInput,c=r.newTemplateLinkInput,l=r.createTemplateName,u=r.createTemplateDescription,s=r.createTemplateFormsDropdown,f=r.createTemplateButton;o.value=e,a.value=l.value.trim(),i.value=u.value.trim(),c.value=s.value,t(n,e,f)};function He(t){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},He(t)}function Ze(){Ze=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var a=e&&e.prototype instanceof v?e:v,i=Object.create(a.prototype),c=new I(n||[]);return o(i,"_invoke",{value:L(t,r,c)}),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var m="suspendedStart",p="suspendedYield",d="executing",h="completed",y={};function v(){}function g(){}function b(){}var w={};u(w,i,(function(){return this}));var S=Object.getPrototypeOf,x=S&&S(S(A([])));x&&x!==r&&n.call(x,i)&&(w=x);var E=b.prototype=v.prototype=Object.create(w);function _(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function T(t,e){function r(o,a,i,c){var l=f(t[o],t,a);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==He(s)&&n.call(s,"__await")?e.resolve(s.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(s).then((function(t){u.value=t,i(u)}),(function(t){return r("throw",t,i,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return a=a?a.then(o,o):o()}})}function L(e,r,n){var o=m;return function(a,i){if(o===d)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var l=O(c,n);if(l){if(l===y)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===m)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?h:p,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=h,n.method="throw",n.arg=u.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function Je(t,e,r,n,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(n,o)}var Ke=window.frmDom.tag,Xe=function(){var t,e=(t=Ze().mark((function t(){var e,r,n,o,a,i,c,l;return Ze().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=vt(),r=e.leaveEmailModalInput,n=r.value.trim()){t.next=5;break}return hr("empty"),t.abrupt("return");case 5:if(Ut(n)){t.next=8;break}return hr("invalid"),t.abrupt("return");case 8:return o=vt(),(a=o.leaveEmailModalButton).style.setProperty("cursor","not-allowed"),a.classList.add("frm_loading_button"),(i=new FormData).append("email",n),l=frmDom.ajax.doJsonPost,t.prev=14,t.next=17,l("get_free_templates",i);case 17:c=t.sent,t.next=25;break;case 20:return t.prev=20,t.t0=t.catch(14),console.error("An error occurred:",t.t0),We(),t.abrupt("return");case 25:if(c.success){t.next=28;break}return We(),t.abrupt("return");case 28:$t("free-templates")&&Yt("free-templates"),Vt("registered-for-free-templates","1"),window.location.reload();case 31:case"end":return t.stop()}}),t,null,[[14,20]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){Je(a,n,o,i,c,"next",t)}function c(t){Je(a,n,o,i,c,"throw",t)}i(void 0)}))});return function(){return e.apply(this,arguments)}}();function We(){var t=vt().leaveEmailModal;t.querySelector(".inside").replaceChildren(Ke("p",X("Failed to get templates, please try again later.","formidable"))),t.querySelector(".frm_modal_footer").classList.add("frm_hidden")}var Qe=function(t){if(!t.target.closest("a")){var e=t.currentTarget;window.location.href=e.dataset.href}};function tr(){var t,e,r,n;vt().categoryItems.forEach((function(t){Nt(t,Wt),t.addEventListener("keydown",Qt)})),wp.hooks.addAction("frmPage.onCategoryClick","frmFormTemplates",(function(t){!function(t){var e=vt(),r=e.bodyContentChildren,n=e.pageTitle,o=e.showCreateTemplateModalButton,a=e.templatesList,i=e.templateItems,c=e.upsellBanner;switch(y!==t&&Jt(r),ke(),Xt(o),Kt(n),t){case y:!function(){var t=vt(),e=t.bodyContentChildren,r=t.pageTitleDivider,n=t.templateItems,o=t.twinFeaturedTemplateItems,a=t.customTemplatesSection,i=t.emptyState,c=t.applicationTemplates;Zt([].concat(rr(e),rr(n))),Jt([r].concat(rr(o),[a,i,c]))}();break;case u:!function(){if(0!==Tt().availableTemplatesCount){var t=vt(),e=t.templatesList,r=t.templateItems,n=t.availableTemplateItems,o=t.upsellBanner;Jt(r),Zt([o,e].concat(rr(n)))}else!function(){var t=vt(),e=t.pageTitle,r=t.emptyState,n=t.emptyStateButton;r.setAttribute("data-view",u);var o=vt(),a=o.emptyStateTitle,i=o.emptyStateText,c=Tt().extraTemplatesCount;a.textContent=X("No Templates Available","formidable"),i.textContent=function(t){try{for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n0&&s.push(n),t.custom>0){var m=Array.from(u).filter((function(t){return!Ie(t)}));Jt(m),s.push(a),s.push(c),0===t.default?Xt(i):s.push(i)}Zt(s)}else or()}();break;case f:!function(){if(0!==Tt().customCount){var t=vt(),e=t.showCreateTemplateModalButton,r=t.pageTitleDivider,n=t.customTemplatesSection,o=t.customTemplatesList,a=t.customTemplatesTitle,i=t.customTemplateItems;Xt(a),Zt([e,r,n,o].concat(rr(i)))}else!function(){var t=vt(),e=t.pageTitle,r=t.emptyState,n=t.emptyStateButton;r.setAttribute("data-view",f);var o=vt(),a=o.emptyStateTitle,i=o.emptyStateText;a.textContent=X("You currently have no templates.","formidable"),i.textContent=X("You haven't created any form templates. Begin now to simplify your workflow and save time.","formidable"),n.textContent=X("Create Template","formidable"),Xt(e),Zt([r,n])}()}();break;default:Jt(i),Zt([c,a].concat(rr(Ce[t])))}}(t)})),n=vt().createFormButton,Nt(n,Pe),document.querySelectorAll(Fe).forEach((function(t){return Nt(t,Me)})),document.querySelectorAll(".".concat(l,"-use-template-button")).forEach((function(t){return t.addEventListener("click",qe)})),t=vt(),e=t.searchInput,r=t.emptyStateButton,Ge(e,"frm-card-item",{handleSearchResult:Re}),Nt(r,ze),function(){var t=vt(),e=t.createTemplateFormsDropdown,r=t.createTemplateButton,n=t.showCreateTemplateModalButton,o=t.emptyStateButton;Nt(n,Ye),Nt(o,Ye),e.addEventListener("change",Ve),Nt(r,Ue)}(),function(){var t=vt(),e=t.leaveEmailModalButton,r=t.getFreeTemplatesBannerButton;Nt(e,Xe),Nt(r,pr)}()}function er(t){var e,r;(function(t){if(t&&t.length){var e=t.map((function(t){return function(t){var e=t.name,r=t.key,o=t.hasLiteThumbnail,a=t.isWebp,i=o?a?"".concat(pe,"/").concat(r,".webp"):"".concat(pe,"/").concat(r,".png"):"".concat(pe,"/placeholder.svg");return le("li",{className:"frm-card-item",data:{href:"".concat(n,"&triggerViewApplicationModal=1&template=").concat(r),"frm-search-text":e.toLowerCase()},children:[ue({className:"".concat(l,"-item-icon"),child:me({src:i})}),ue({className:"".concat(l,"-item-body"),children:[se({text:X("Ready Made Solution","formidable"),className:"frm-meta-tag frm-orange-tag frm-text-xs"}),le("h3",{text:e,className:"frm-text-sm frm-font-medium frm-m-0"}),fe({text:X("See all applications","formidable"),className:"frm-text-xs frm-font-semibold",href:n})]})]})}(t)}));ie=ue({id:"".concat(l,"-applications"),className:tt,children:[le("h2",{text:X("Application Templates"),className:"frm-text-sm frm-mb-sm"}),le("ul",{className:"".concat(l,"-list frm-list-grid-layout"),children:e})]})}})(t.templates),(e=vt()).applicationTemplates||void 0===ie||(e.bodyContent.appendChild(ie),gt({applicationTemplates:ie,applicationTemplatesTitle:ie.querySelector("h2"),applicationTemplatesList:ie.querySelector(".".concat(l,"-list")),applicationTemplateItems:ie.querySelectorAll(".frm-card-item")})),void 0!==(r=vt().applicationTemplateItems)&&r.forEach((function(t){t.addEventListener("click",Qe)}))}function rr(t){return function(t){if(Array.isArray(t))return nr(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return nr(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?nr(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nr(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function cr(t,e,r,n,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(n,o)}function lr(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){cr(a,n,o,i,c,"next",t)}function c(t){cr(a,n,o,i,c,"throw",t)}i(void 0)}))}}var ur=function(t){return lr(ir().mark((function e(){var r,n,o,a,i,c,l=arguments;return ir().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=je()){e.next=3;break}return e.abrupt("return");case 3:for(n=vt(),o=n.modalItems,Jt(o),r.dialog("option","width",p),a=l.length,i=new Array(a),c=0;c use").setAttribute("xlink:href",n?"#frm_checkmark_icon":"#frm_close_icon")}));var u=e.dataset.slug?"-".concat(e.dataset.slug):"";l.href=c+u,Kt(o)})),mr=ur((function(){var t=vt().renewAccountModal;Kt(t)})),pr=ur((function(){var t=vt().leaveEmailModal;Kt(t)})),dr=ur((function(){je().dialog("option","width",d);var t=vt().createTemplateModal;Kt(t)})),hr=function(t){!function(t,e,r){var n=document.querySelector("#frm_leave_email"),o=document.querySelector("#frm_leave_email_error");n&&o?(o.setAttribute("frm-error",r),Kt(o),n.addEventListener("keyup",(function(){Xt(o)}),{once:!0})):console.warn("showFormError: Unable to find input or error element.")}(0,0,t)};var yr;yr=function(){wp.hooks.doAction("frmFormTemplates.beforeInitialize",{getState:Tt,setState:Ot}),e&&(0,frmDom.ajax.doJsonFetch)("get_applications_data&view=templates").then(er),function(){Oe.apply(this,arguments)}(),vt().templateItems.forEach((function(t){t.getAttribute("data-categories").split(",").forEach((function(e){Ce[e]||(Ce[e]=[]),Ce[e].push(t)}))})),xe(),tr(),wp.hooks.doAction("frmFormTemplates.afterInitialize",{getState:Tt,setState:Ot}),wp.hooks.doAction("frm_new_form_modal_form",jQuery("#frm-new-template"))},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",yr):yr())})()})(); \ No newline at end of file diff --git a/js/formidable-settings-components.js b/js/formidable-settings-components.js index 69c8f6a0d0..a91dd0add2 100644 --- a/js/formidable-settings-components.js +++ b/js/formidable-settings-components.js @@ -1 +1 @@ -(()=>{"use strict";var e=window.frmGlobal,t=(e.url,e.nonce,"frm_hidden"),n="frm_disabled",i=(Promise.resolve(),frmDom),r=(i.div,i.span,i.tag,i.a,i.img,i.svg,frmDom.modal),a=(r.maybeCreateModal,r.footerButton,frmDom.util),o=(a.onClickPreventDefault,a.documentOn);frmDom.ajax.doJsonPost;var l=(new URL(window.location.href).searchParams,function(e){return null==e?void 0:e.classList.remove(t)});function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function c(e,t){for(var n=0;n=r)){var a=i.querySelector("select").value,o=this.calculateValue(r,n,this.getMaxValue(a,t));i.querySelector('.frm-slider-value input[type="text"]').value=o,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=o,i.querySelector(".frm-slider-active-track").style.width="".concat(n,"px"),this.initChildSlidersWidth(i,n,t,o+a),this.options[t].translateX=n,this.options[t].value=o+a,this.options[t].fullValue=this.updateValue(i,this.options[t].value),this.valueChangeDebouncer(t)}}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e,t){!1!==this.options[e].dragging&&(t.target.classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var n=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');n instanceof NodeList?n.forEach(function(n){n.dispatchEvent(t.eventsChange[e])}):n.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"calculateValue",value:function(e,t,n){var i=Math.ceil(this.sliderBulletWidth*(t/e)),r=Math.ceil((t+i)/e*n);return Math.min(r,n)}},{key:"updateValue",value:function(e,t){var n=this;if(e.classList.contains("frm-base-font-size")){var i=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==i&&(i.value="true")}if(e.classList.contains("frm-has-multiple-values")){var r=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),a=r.value.split(" "),o=e.dataset.type;switch(a[2]||(a[2]="0px"),a[3]||(a[3]="0px"),o){case"vertical":a[0]=t,a[2]=t;break;case"horizontal":a[1]=t,a[3]=t;break;case"top":a[0]=t;break;case"bottom":a[2]=t;break;case"left":a[3]=t;break;case"right":a[1]=t}var l=a.join(" ");return r.value=l,this.getSliderGroupItems(e).forEach(function(e){var i=n.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=i}),l}if(e.classList.contains("frm-has-independent-fields")){var s=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),c=e.querySelectorAll('.frm-slider-value input[type="text"]');return s.forEach(function(e,n){e.value=t,c[n+1].value=parseInt(t,10)}),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find(function(t){return e.includes(t)})||""}}])&&y(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n}();function S(e){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S(e)}function k(e,t){for(var n=0;n li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,n){t.addEventListener("click",function(t){return e.onNavClick(t,n)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var n=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),n.classList.add("frm-active"),this.initSlideTrackUnderline(n,t),this.changeSlide(t);var i,r,a=n.querySelector("a");a&&"frm_insert_fields_tab"===a.id&&!a.closest("#frm_adv_info")&&(null===(i=window.frmAdminBuild)||void 0===i||null===(r=i.clearSettingsBox)||void 0===r||r.call(i))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var n=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(n)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var n=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(n,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&k(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function L(e){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(e)}function q(e,t){for(var n=0;n0))return e.style.paddingLeft="",e.style.paddingTop="",void(e.style.height="");var i=t.offsetHeight;if(Math.max(1,Math.ceil(i/36))>1){var r=function(e){if(!e.length)return 0;var t=0;return e.forEach(function(e){t+=e.offsetWidth}),(t+=4*(e.length-1))+4}(function(e){if(!e.length)return[];var t=Array.from(e),n=-1;t.forEach(function(e){var t=e.getBoundingClientRect().bottom;t>n&&(n=t)});return t.filter(function(e){var t=e.getBoundingClientRect();return Math.abs(t.bottom-n)<=2})}(n));e.style.height="".concat(i,"px"),e.style.paddingTop="".concat(i-36+4,"px"),e.style.paddingLeft=r?"".concat(r+8,"px"):""}else e.style.height="",e.style.paddingTop="",e.style.paddingLeft="".concat(t.offsetWidth-4,"px")}}function B(e,t,n){e&&n&&t&&(n.innerHTML="",N(e).forEach(function(e){return function(e,t){var n=j({className:O,children:[j({text:e,className:_}),j({className:P,child:D({href:"#frm_close_icon"})})]});t.appendChild(n)}(e,n)}),M(t,n),t.focus())}function F(e,t,n){if(!e||!t||!n)return!1;var i=N(t.value);return i.includes(e)?(z(n),!1):(i.push(e),U(t,i),z(n),!0)}function X(e,t,n){if(e&&t&&n){var i=e.querySelector(".".concat(_)).textContent;U(t,N(t.value).filter(function(e){return e!==i})),e.remove(),n.focus()}}function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(e=e.trim())?e.split(/\s+/).filter(Boolean):[]}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e&&(e.value=t.join(" "),jQuery(e).trigger("change"))}function z(e){e&&(e.value="",e.focus())}function G(e){var n=(e?document.getElementById("frm-single-settings-".concat(e)):document.body).querySelectorAll(".".concat("frm-token-input-field"));if(n.length){var i=new Set;n.forEach(function(e){i.has(e.id)||(function(e){var n=function(e){var n=e.closest(".".concat("frm-with-right-icon"));if(n.querySelector(".".concat(T)))return null;n.classList.add(A);var i=j({className:T});n.insertBefore(i,n.firstChild);var r=I("input",{className:V,id:"".concat(e.id,"-proxy-input")});return r.type="text",e.parentNode.insertBefore(r,e.nextSibling),e.classList.add(t),n}(e);if(n){var i=n.querySelector(".".concat(V)),r=n.querySelector(".".concat(T));B(e.value,i,r),function(e,t,n){jQuery(e).on("change",function(){return B(e.value,t,n)}),t.addEventListener("keydown",function(i){return function(e,t,n,i){var r=e.key,a=n.value.trim();switch(r){case"Backspace":a||(e.preventDefault(),X(i.querySelector(".".concat(O,":last-child")),t,n));break;case" ":case",":case"Enter":e.preventDefault(),F(a,t,n)}M(n,i)}(i,e,t,n)}),t.addEventListener("blur",function(){return F(t.value.trim(),e,t)}),n.addEventListener("click",function(n){return function(e,t,n){var i=e.target.closest(".".concat(P));if(i){var r=i.closest(".".concat(O));if(r){var a=r.parentElement;X(r,t,n),M(n,a)}}}(n,e,t)})}(e,i,r)}}(e),i.add(e.id))})}}var J,H="frm-toggle-group",Q="frm_toggle_block",K="data-group-name";function Y(e){var t=e.target,n=t.closest(".".concat(H));n&&Z(t,n)}function Z(e,i){var r,a=(null===(r=i.closest(".".concat("frm-single-settings")))||void 0===r?void 0:r.dataset.fid)||i.dataset.fid,o=e.checked,l=e.getAttribute("data-show");l&&document.querySelectorAll($(l,a)).forEach(function(e){return e.classList.toggle(t,!o)});var s=e.getAttribute("data-disable");s&&document.querySelectorAll($(s,a)).forEach(function(e){e.classList.toggle(n,o),e.querySelectorAll("input, select, textarea").forEach(function(e){return e.disabled=o}),e.querySelectorAll(".frm-show-inline-modal[tabindex]").forEach(function(e){return e.tabIndex=o?-1:0})});var c=e.getAttribute("data-enable");c&&document.querySelectorAll($(c,a)).forEach(function(e){return e.classList.toggle(n,!o)});var u=e.closest(".".concat(Q));Array.from(i.querySelectorAll(".".concat(Q))).filter(function(e){return e!==u}).forEach(function(e){e.classList.toggle(n,o);var t=e.querySelector(".frm_toggle");t.tabIndex=o?-1:0,t.setAttribute("aria-disabled",o)})}function $(e,t){return e.replace(/{id}/g,t)}function ee(e){var t=e.target.closest(".frm-unit-input"),n=t.querySelector(".frm-unit-input-control"),i=t.querySelector("select").value;e.target.matches("select")&&(n.type=""===i?"text":"number");var r=n.value.trim();t.querySelector('input[type="hidden"]').value=""!==r?r+i:""}J=function(){var e,t;new d,new b,new C,null===(t=document.getElementById("frm-form-add-field"))||void 0===t||t.addEventListener("click",function(e){var t;e.preventDefault(),null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click()}),G(),document.addEventListener("frm_added_field",function(e){return G(e.frmField.dataset.fid)}),document.addEventListener("frm_ajax_loaded_field",function(e){return e.frmFields.forEach(function(e){return G(e.id)})}),wp.hooks.addAction("frmShowedFieldSettings","formidable-token-input",R),(e=document.querySelectorAll(".".concat(H))).length&&e.forEach(function(e){var t=e.querySelector("[".concat(K,"]:checked"));t&&Z(t,e)}),o("change",".".concat(H," [").concat(K,"]"),Y),o("change",".frm-unit-input .frm-unit-input-control",ee),o("change",".frm-unit-input select",ee)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",J):J())})(); \ No newline at end of file +(()=>{"use strict";var e=window.frmGlobal,t=(e.url,e.nonce,"frm_hidden"),n="frm_disabled",i=(Promise.resolve(),frmDom),r=(i.div,i.span,i.tag,i.a,i.img,i.svg,frmDom.modal),a=(r.maybeCreateModal,r.footerButton,frmDom.util),o=(a.onClickPreventDefault,a.documentOn);frmDom.ajax.doJsonPost;var l=(new URL(window.location.href).searchParams,function(e){return null==e?void 0:e.classList.remove(t)});function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function c(e,t){for(var n=0;n=r)){var a=i.querySelector("select").value,o=this.calculateValue(r,n,this.getMaxValue(a,t));i.querySelector('.frm-slider-value input[type="text"]').value=o,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=o,i.querySelector(".frm-slider-active-track").style.width="".concat(n,"px"),this.initChildSlidersWidth(i,n,t,o+a),this.options[t].translateX=n,this.options[t].value=o+a,this.options[t].fullValue=this.updateValue(i,this.options[t].value),this.valueChangeDebouncer(t)}}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e,t){!1!==this.options[e].dragging&&(t.target.classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var n=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');n instanceof NodeList?n.forEach((function(n){n.dispatchEvent(t.eventsChange[e])})):n.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"calculateValue",value:function(e,t,n){var i=Math.ceil(this.sliderBulletWidth*(t/e)),r=Math.ceil((t+i)/e*n);return Math.min(r,n)}},{key:"updateValue",value:function(e,t){var n=this;if(e.classList.contains("frm-base-font-size")){var i=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==i&&(i.value="true")}if(e.classList.contains("frm-has-multiple-values")){var r=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),a=r.value.split(" "),o=e.dataset.type;switch(a[2]||(a[2]="0px"),a[3]||(a[3]="0px"),o){case"vertical":a[0]=t,a[2]=t;break;case"horizontal":a[1]=t,a[3]=t;break;case"top":a[0]=t;break;case"bottom":a[2]=t;break;case"left":a[3]=t;break;case"right":a[1]=t}var l=a.join(" ");return r.value=l,this.getSliderGroupItems(e).forEach((function(e){var i=n.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=i})),l}if(e.classList.contains("frm-has-independent-fields")){var s=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),c=e.querySelectorAll('.frm-slider-value input[type="text"]');return s.forEach((function(e,n){e.value=t,c[n+1].value=parseInt(t,10)})),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find((function(t){return e.includes(t)}))||""}}])&&y(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n}();function S(e){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S(e)}function k(e,t){for(var n=0;n li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach((function(t,n){t.addEventListener("click",(function(t){return e.onNavClick(t,n)}))})),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var n=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),n.classList.add("frm-active"),this.initSlideTrackUnderline(n,t),this.changeSlide(t);var i,r,a=n.querySelector("a");a&&"frm_insert_fields_tab"===a.id&&!a.closest("#frm_adv_info")&&(null===(i=window.frmAdminBuild)||void 0===i||null===(r=i.clearSettingsBox)||void 0===r||r.call(i))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var n=void 0!==e?e:this.navs.filter((function(e){return e.classList.contains("frm-active")}));this.positionUnderlineIndicator(n)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver((function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)})),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame((function(){var n=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(n,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"}))}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach((function(e){return e.classList.remove("frm-active")}))}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach((function(e){return e.classList.remove("frm-active")}))}}])&&k(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function L(e){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(e)}function q(e,t){for(var n=0;n0))return e.style.paddingLeft="",e.style.paddingTop="",void(e.style.height="");var i=t.offsetHeight;if(Math.max(1,Math.ceil(i/36))>1){var r=function(e){if(!e.length)return 0;var t=0;return e.forEach((function(e){t+=e.offsetWidth})),(t+=4*(e.length-1))+4}(function(e){if(!e.length)return[];var t=Array.from(e),n=-1;t.forEach((function(e){var t=e.getBoundingClientRect().bottom;t>n&&(n=t)}));return t.filter((function(e){var t=e.getBoundingClientRect();return Math.abs(t.bottom-n)<=2}))}(n));e.style.height="".concat(i,"px"),e.style.paddingTop="".concat(i-36+4,"px"),e.style.paddingLeft=r?"".concat(r+8,"px"):""}else e.style.height="",e.style.paddingTop="",e.style.paddingLeft="".concat(t.offsetWidth-4,"px")}}function B(e,t,n){e&&n&&t&&(n.innerHTML="",N(e).forEach((function(e){return function(e,t){var n=j({className:O,children:[j({text:e,className:_}),j({className:P,child:D({href:"#frm_close_icon"})})]});t.appendChild(n)}(e,n)})),M(t,n),t.focus())}function F(e,t,n){if(!e||!t||!n)return!1;var i=N(t.value);return i.includes(e)?(z(n),!1):(i.push(e),U(t,i),z(n),!0)}function X(e,t,n){if(e&&t&&n){var i=e.querySelector(".".concat(_)).textContent;U(t,N(t.value).filter((function(e){return e!==i}))),e.remove(),n.focus()}}function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(e=e.trim())?e.split(/\s+/).filter(Boolean):[]}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e&&(e.value=t.join(" "),jQuery(e).trigger("change"))}function z(e){e&&(e.value="",e.focus())}function G(e){var n=(e?document.getElementById("frm-single-settings-".concat(e)):document.body).querySelectorAll(".".concat("frm-token-input-field"));if(n.length){var i=new Set;n.forEach((function(e){i.has(e.id)||(function(e){var n=function(e){var n=e.closest(".".concat("frm-with-right-icon"));if(n.querySelector(".".concat(T)))return null;n.classList.add(A);var i=j({className:T});n.insertBefore(i,n.firstChild);var r=I("input",{className:V,id:"".concat(e.id,"-proxy-input")});return r.type="text",e.parentNode.insertBefore(r,e.nextSibling),e.classList.add(t),n}(e);if(n){var i=n.querySelector(".".concat(V)),r=n.querySelector(".".concat(T));B(e.value,i,r),function(e,t,n){jQuery(e).on("change",(function(){return B(e.value,t,n)})),t.addEventListener("keydown",(function(i){return function(e,t,n,i){var r=e.key,a=n.value.trim();switch(r){case"Backspace":a||(e.preventDefault(),X(i.querySelector(".".concat(O,":last-child")),t,n));break;case" ":case",":case"Enter":e.preventDefault(),F(a,t,n)}M(n,i)}(i,e,t,n)})),t.addEventListener("blur",(function(){return F(t.value.trim(),e,t)})),n.addEventListener("click",(function(n){return function(e,t,n){var i=e.target.closest(".".concat(P));if(i){var r=i.closest(".".concat(O));if(r){var a=r.parentElement;X(r,t,n),M(n,a)}}}(n,e,t)}))}(e,i,r)}}(e),i.add(e.id))}))}}var J,H="frm-toggle-group",Q="frm_toggle_block",K="data-group-name";function Y(e){var t=e.target,n=t.closest(".".concat(H));n&&Z(t,n)}function Z(e,i){var r,a=(null===(r=i.closest(".".concat("frm-single-settings")))||void 0===r?void 0:r.dataset.fid)||i.dataset.fid,o=e.checked,l=e.getAttribute("data-show");l&&document.querySelectorAll($(l,a)).forEach((function(e){return e.classList.toggle(t,!o)}));var s=e.getAttribute("data-disable");s&&document.querySelectorAll($(s,a)).forEach((function(e){e.classList.toggle(n,o),e.querySelectorAll("input, select, textarea").forEach((function(e){return e.disabled=o})),e.querySelectorAll(".frm-show-inline-modal[tabindex]").forEach((function(e){return e.tabIndex=o?-1:0}))}));var c=e.getAttribute("data-enable");c&&document.querySelectorAll($(c,a)).forEach((function(e){return e.classList.toggle(n,!o)}));var u=e.closest(".".concat(Q));Array.from(i.querySelectorAll(".".concat(Q))).filter((function(e){return e!==u})).forEach((function(e){e.classList.toggle(n,o);var t=e.querySelector(".frm_toggle");t.tabIndex=o?-1:0,t.setAttribute("aria-disabled",o)}))}function $(e,t){return e.replace(/{id}/g,t)}function ee(e){var t=e.target.closest(".frm-unit-input"),n=t.querySelector(".frm-unit-input-control"),i=t.querySelector("select").value;e.target.matches("select")&&(n.type=""===i?"text":"number");var r=n.value.trim();t.querySelector('input[type="hidden"]').value=""!==r?r+i:""}J=function(){var e,t;new d,new b,new C,null===(t=document.getElementById("frm-form-add-field"))||void 0===t||t.addEventListener("click",(function(e){var t;e.preventDefault(),null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click()})),G(),document.addEventListener("frm_added_field",(function(e){return G(e.frmField.dataset.fid)})),document.addEventListener("frm_ajax_loaded_field",(function(e){return e.frmFields.forEach((function(e){return G(e.id)}))})),wp.hooks.addAction("frmShowedFieldSettings","formidable-token-input",R),(e=document.querySelectorAll(".".concat(H))).length&&e.forEach((function(e){var t=e.querySelector("[".concat(K,"]:checked"));t&&Z(t,e)})),o("change",".".concat(H," [").concat(K,"]"),Y),o("change",".frm-unit-input .frm-unit-input-control",ee),o("change",".frm-unit-input select",ee)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",J):J())})(); \ No newline at end of file diff --git a/js/formidable.js b/js/formidable.js index 0434c5e6aa..db82b62df3 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1196,20 +1196,32 @@ function frmFrontFormJS() { } } + /** + * Updates the aria-describedby attribute of input elements to remove the error element ID. + * + * @since x.x + * + * @param {HTMLElement} el The error element. + * @return {void} + */ + function updateInputElementsAriaDescribedBy( el ) { + document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ).forEach( input => { + let ariaDescribedBy = input.getAttribute( 'aria-describedby' ).split( ' ' ); + ariaDescribedBy = ariaDescribedBy.filter( value => value !== el.id ); + + if ( ariaDescribedBy.length ) { + input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) ); + return; + } + input.removeAttribute( 'aria-describedby' ); + } ); + } + function removeAllErrors() { jQuery( '.form-field' ).removeClass( 'frm_blank_field has-error' ); jQuery( '.frm_error_style' ).remove(); document.querySelectorAll( '.form-field .frm_error' ).forEach( el => { - document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ).forEach( input => { - let ariaDescribedBy = input.getAttribute( 'aria-describedby' ).split( ' ' ); - ariaDescribedBy = ariaDescribedBy.filter( value => value !== el.id ); - - if ( ariaDescribedBy.length ) { - input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) ); - } else { - input.removeAttribute( 'aria-describedby' ); - } - } ); + updateInputElementsAriaDescribedBy( el ); el.remove(); } ); } diff --git a/js/formidable_admin.js b/js/formidable_admin.js index 515e03a2da..3f7e3a7112 100644 --- a/js/formidable_admin.js +++ b/js/formidable_admin.js @@ -1 +1 @@ -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))})}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                                '+e.message+"

                                                "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",h=o.querySelector(".frm-circled-icon");h&&(h.classList.remove("frm-circled-icon-green"),null===(a=h.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var y=o.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==l&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==h||h.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l.style.display=g,c.style.display="block"===g?"inline-block":g,s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,q=B.__,C=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){di(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function W(e,t){void 0===t&&(t=this),et(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Yn("#"+r.attr("id")),ho(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function U(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ui(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach(function(e){J(e),Array.from(e.children).forEach(function(e){return Z(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=q("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop(function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))})}),An(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.appendChild(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Kt(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=q("Set Row Layout","formidable");ce(t,n),Rt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=q("Move Field Group","formidable");ce(r,i),Rt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:q("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:q("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),Rt(t,q("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),so(),Fr(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),Ue(e,!0),t.each(function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")})}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}},0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=q(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=q(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach(function(e){r=r.add(jQuery("
                                              • ").addClass("frm_field_box").html(jQuery("
                                                  ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function We(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(nt(r),oi(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(Sn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&Sn(s)}Je(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function it(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=pn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function lt(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function st(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&ct(""!==r,".frm_invalid_msg"+t)}function dt(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(ct(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function ct(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(ct(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;mt(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),mt(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function mt(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function _t(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function pt(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function gt(){ht(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function ht(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");qo(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function vt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);xt(jQuery(this)),qo(jQuery(".field_"+n+"_image_id")),qo(jQuery(".frm_toggle_image_options_"+n)),qo(jQuery(".frm_image_size_"+n)),qo(jQuery(".frm_alignment_"+n)),qo(jQuery(".frm-add-other#frm_add_field_"+n)),(e=vn(n))?(jt(n,"inline"),bt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),bt(i),jt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function bt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function jt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function wt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function xt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){xt(jQuery(this))}function kt(e){var t,r=e.target.closest(".frm_image_preview_wrapper");if(null!==(t=wp)&&void 0!==t&&t.media&&(null==r||!r.dataset.upgrade)){e.preventDefault(),wp.media.model.settings.post.id=0;var n=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});n.on("select",function(){var e=n.state().get("selection").first().toJSON(),t=r.querySelector("img");t.setAttribute("src",e.url),t.classList.remove("frm_hidden"),t.removeAttribute("srcset"),r.querySelector(".frm_image_preview_frame").style.display="block",r.querySelector(".frm_image_preview_title").textContent=e.filename,r.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(r);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),n.open()}}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function At(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function St(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function Lt(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;h(n,i)}function It(e){e.preventDefault()}function Bt(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function qt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Nt(e){return C(q("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Ot(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Nt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ft(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Dt(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.appendChild($t(e,"even")),t):(5!==e&&t.appendChild($t(e,"even")),e%2==1&&t.appendChild($t(e,"middle")),e<6?(t.appendChild($t(e,"left")),t.appendChild($t(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Yt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?sr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Jt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Xt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Yt(){var e=c();return e.classList.add("frm_grid_container"),e}function Zt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),fr()}}function er(){var e,t;e=tr(),t=this.getAttribute("layout-type"),se(le(e).first(),t),yr()}function tr(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){le(jQuery(this)).each(function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),se(le(t).first()),t}function rr(){null===this.closest(".frm-merge-fields-into-row")&&nr(le(jQuery(".frm-field-group-hover-target")))}function nr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Kt(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=wr()>0&&ar(Kt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){pr(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=gr();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=gr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void hr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!br()),e;(e=c()).id="frm_field_multiselect_popup",br()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=q("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Gt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():vr(),De()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),vr()}function vr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function br(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function jr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=zt(wr(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function wr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=le(jQuery(this)).length}),e}function xr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){kr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Nt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){kr(this.getAttribute("data-deletefield"))}function kr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),An()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)})}(n),n.remove(),r.fadeOut("slow",function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Fr():"product"===n&&(Be(),it()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&Sn(t);G()}),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Sr(r,"frm_logic_"+e+"_"),fields:rt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")})}}),!1}function Sr(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Lr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Sr(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Ir(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Br(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Ir(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function qr(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Cr(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=qr(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Ir(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",kn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,vn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=bn(t),mn(t),gn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=vn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=To(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=an(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find(function(e){return e.value===l});if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}sn(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                                                  "+(s?a:"")+"
                                                  "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=To(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name$="[label]"], [name*="[other_"]'),c=To(e),u=bn(e),f=vn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=gn(i,u,_n(d[t]),mn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:hn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function _n(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function pn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?pn(t):t}function gn(e,t,r,n){var i,o,l,s=e;return s=pn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function hn(e){return field=jQuery("#"+e),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))}function yn(e){return jn("separate_value_"+e)}function vn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function qn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function Cn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Nn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=$i(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&et(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function On(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function Fn(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Zn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function ei(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),h.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ti(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&ho(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function ti(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ti(++t)),t}function ri(){var e,t=jQuery(this).data("actiontype");if(!ci(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.appendChild(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),di(t),Yn("#frm_form_action_"+r),so(),ho(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ni(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",Eo(t,"input")}function ii(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function oi(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===oi.prototype.endMarker&&(oi.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,oi.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ai(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function si(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function di(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ci(e)?(t=n,r=ui(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function ci(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ui(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ui(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function fi(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function mi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function _i(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1})}function pi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function gi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function hi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function xi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ki(){Wn()||(Kn(this),Rn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),Ai(jQuery(this),this.getAttribute("data-code")),!1}function Ai(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Si(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Si(o,t);return!1}function Si(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Li(t)){var r=e.value.split(" ").filter(Li);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Gn(e)}function Li(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ii(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),Eo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),Eo(e,"change"))}function Bi(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function qi(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ui(),"use"===(t=Wi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function Ci(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Oi()}}(e.target)}function Oi(e){var t;void 0===e&&(e=q("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:q("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:q("Save and Reload","formidable"),buttonType:"primary"});p(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:q("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ti(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=$i(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ui(n);else{if(Ti(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){E||(E=1,window.addEventListener("beforeunload",Ri))}function Pi(){E=0}function Hi(){E=0}function zi(){E=0}function Ri(e){E&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function $i(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=$i(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Wi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Wi(r);return r}function Ui(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                                                  ":'

                                                  Imported '+r.data.name+"

                                                  ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,function(e){return e!=t}),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),xo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function ho(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function yo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||Qo(l,n)?(s&&Di(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function Qo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function ko(e){e.stopPropagation()}function Eo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function qo(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Co(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Oo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function To(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(q("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ui(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){G()}),O={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",St),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){p(e,Lt)}),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:q("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),ho(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",W),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Jn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",U),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Xn(this),V(this),!1}),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Rn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",xo),jQuery(document).on("focusin click",".frm-auto-search",ko);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",Co),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),_&&p(_,function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",zn),jQuery(".frm_submit_no_ajax").on("click",$n),Un(),jQuery("a.edit-form-status").on("click",Ln),jQuery(".cancel-form-status").on("click",In),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Or),e.on("change",".frm_logic_field_opts",xn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Bn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",qe),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",st),e.on("change click","[data-changeme]",at),e.on("click","input.frm_req_field",dt),e.on("click",".frm_mark_unique",ut),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Tr),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",vt),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",kt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",wt),e.on("click",".frm_multiselect_opt",At),w.on("mousedown","input, textarea, select",It),w.on("click","input[type=radio], input[type=checkbox]",It),w.on("click",".frm_delete_field",Ot),w.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ft),jQuery(document).on("click",".frm_clone_field_group",Dt),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Mt),jQuery(document).on("click",".frm-row-layout-option",Zt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",er),jQuery(document).on("click",".frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",ir),jQuery(document).on("click",".frm-break-field-group",dr),w.on("click","#frm_field_group_popup .frm_grid_container input",cr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",ur),jQuery(document).on("click",".frm-save-custom-field-group-layout",mr),w.on("click","ul.frm_sorting",_r),jQuery(document).on("click",".frm-merge-fields-into-row",jr),jQuery(document).on("click",".frm-delete-field-groups",xr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",Bt),e.on("mousedown",".frm_single_option input[type=radio]",qt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",pt),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",gt),w.on("click",".frm_primary_label",Gr),w.on("click",".frm_description",$r),w.on("click","li.ui-state-default:not(.frm_noallow)",Ur),w.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Nn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Nn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",On),jQuery(document).on("change","[data-frmchange]",Fn),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",tt),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),it(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Oo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Cr),frmDom.util.documentOn("click",".frm-show-field-settings",Ur),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Vr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",_t),jQuery(x).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=To(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),Cn(),document.addEventListener("frm_added_field",Cn),Be(),Fo(),An(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Ti,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ai),i.on("click",".frm_remove_field",li),i.on("change",".frm_to_row, .frm_from_row",si),i.on("change",".frm_tax_selector",wi),i.on("change","select.frm_single_post_field",_i),i.on("change","select.frm_toggle_post_content",pi),i.on("change","select.frm_dyncontent_opt",gi),i.on("change",".frm_post_type",hi),i.on("click",".frm_add_postmeta_row",bi),i.on("click",".frm_add_posttax_row",vi),i.on("click",".frm_toggle_cf_opts",xi),i.on("click",".frm_duplicate_form_action",ei),jQuery(".frm_actions_list").on("click",".frm_active_action",ri),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ni),so(),jQuery("ul.frm_actions_list li").each(function(){di(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",ki),Un(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",mi),e.on("click",".frm_already_used",fi),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?kt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Zn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var o=document.getElementById("single_entry");jQuery(o).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Gn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Gn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Bn),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),ho(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){Ai(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ii),jQuery(document).on("keyup change",".frm-build-logic",Bi),Yn(),jQuery(document).on("frmElementAdded",function(e,t){Yn(t)}),jQuery(document).on("mousedown",".frm-show-box",Ci),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),qi(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){Vi("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){Vi("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(data,function(){if(!a)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.parentNode.removeChild(t)})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",kt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",yo),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return E=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=To(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),Ue(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:je})})},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:oi}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                                    ","")).replaceAll("
                                                  • ",'
                                                  • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); \ No newline at end of file +(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach((function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++}))}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some((function(e){return e.namespace===n})):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(2853),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach((function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--})))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(7203),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach((function(t){t.textContent=e,t.style.display="block"})),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(e){e.style.display="none"})),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach((function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))}))}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                                    '+e.message+"

                                                    "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",(function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()})),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",h=o.querySelector(".frm-circled-icon");h&&(h.classList.remove("frm-circled-icon-green"),null===(a=h.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var y=o.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==l&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==h||h.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l.style.display=g,c.style.display="block"===g?"inline-block":g,s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},7203:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7730);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},1127:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2716);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},7730:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2716),i=r(1127);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2716:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout((function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")}),1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout((function(){t.location.reload()}),1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach((function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")}))},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach((function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))}))},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,q=B.__,C=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Ao}):function(e){var t,r,n,i,o,a=Ao("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Ao("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,(function(){var r;a.remove(),Oi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){oi(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()})),void 0!==r&&(r=jQuery(r)).fadeOut(400,(function(){r.remove()})),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function W(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),io(),Vn("#"+r.attr("id")),mo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function U(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ri(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach((function(e){J(e),Array.from(e.children).forEach((function(e){return Z(e,".frm-move")}));var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)})),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),rn(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Oi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach((function(e){return e.classList.remove("frm-over-droppable")})),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=q("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),gr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach((function(e){[].slice.call(e.children).forEach((function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()}))})),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop((function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r}))}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach((function(e){e.childNodes.forEach((function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))}))})),Qn(),document.querySelectorAll(".edit_field_type_end_divider").forEach((function(e){return e.parentNode.appendChild(e)})),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach((function(e){return!e.children.length&&e.remove()})),xn();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach((function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}})),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Ut(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Wt(n,t,e)}:function(e){return ar(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=q("Set Row Layout","formidable");ce(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=q("Move Field Group","formidable");ce(r,i),zt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:q("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:q("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),zt(t,q("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",(function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()}))}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),io(),Or(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map((function(e){return JSON.parse(e)})),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),Ue(e,!0),t.each((function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")}))}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)}))}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}}),0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=q(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=q(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach((function(e){r=r.add(jQuery("
                                                  • ").addClass("frm_field_box").html(jQuery("
                                                      ").addClass("frm_grid_container frm_sorting").append(e)))})),r}function We(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Oi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(rt(r),ti(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(kn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Or(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout((function(){o.classList.remove("frm-newly-added")}),1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach((function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])}))),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&kn(s)}Je(),io(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach((function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})),o.querySelectorAll(".frm-dropdown-menu").forEach((function(e){return e.classList.add("dropdown-menu")}));var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||gr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r,n,i,o=!1,a=0;a"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function nt(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=mn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function at(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function lt(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach((function(e){var n=document.getElementById(e+t);n&&(r+=n.value)})),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&dt(""!==r,".frm_invalid_msg"+t)}function st(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(dt(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function dt(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ct(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(dt(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;ft(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),ft(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout((function(){r.removeClass("frm_conf_inline frm_conf_below")}),200)}function ft(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function mt(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function _t(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,(function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),rn(i)}))}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),No(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),rn(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach((function(e){return e.classList.remove("frm_disabled")})),Oi()}function pt(){gt(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function gt(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function ht(){var e=jQuery(this).closest(".frm-single-settings").data("fid");So(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function yt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);wt(jQuery(this)),So(jQuery(".field_"+n+"_image_id")),So(jQuery(".frm_toggle_image_options_"+n)),So(jQuery(".frm_image_size_"+n)),So(jQuery(".frm_alignment_"+n)),So(jQuery(".frm-add-other#frm_add_field_"+n)),(e=gn(n))?(bt(n,"inline"),vt(i),t=tn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),vt(i),bt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function vt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function bt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function jt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);xt(),gn(e)&&(vt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+tn(e)))}function wt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function xt(){wt(jQuery(this))}function Qt(e){var t,r=e.target.closest(".frm_image_preview_wrapper");if(null!==(t=wp)&&void 0!==t&&t.media&&(null==r||!r.dataset.upgrade)){e.preventDefault(),wp.media.model.settings.post.id=0;var n=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});n.on("select",(function(){var e=n.state().get("selection").first().toJSON(),t=r.querySelector("img");t.setAttribute("src",e.url),t.classList.remove("frm_hidden"),t.removeAttribute("srcset"),r.querySelector(".frm_image_preview_frame").style.display="block",r.querySelector(".frm_image_preview_title").textContent=e.filename,r.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(r);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0})),n.open()}}function kt(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function Et(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function At(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout((function(){e.focus()}),100)}function St(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,(function(){return r.remove()}));var n=t.dataset.action,i=new FormData;h(n,i)}function Lt(e){e.preventDefault()}function It(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find((function(e){return e!==t})).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",(function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))})),Oi()}function Bt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout((function(){e.prop("checked",!1)}),0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function qt(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Ct(e){return C(q("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Nt(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach((function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)})),l&&(e=Ct(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Ot(){this.closest("li.form-field").click()}function Tt(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Ft(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",(function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach((function(e){e.remove()}));for(var u=0;u6?(t.appendChild(Gt(e,"even")),t):(5!==e&&t.appendChild(Gt(e,"even")),e%2==1&&t.appendChild(Gt(e,"middle")),e<6?(t.appendChild(Gt(e,"left")),t.appendChild(Gt(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i,o,a;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Jt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?ar(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Vt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Kt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Jt(){var e=c();return e.classList.add("frm_grid_container"),e}function Xt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),cr()}}function Yt(){var e,t;e=Zt(),t=this.getAttribute("layout-type"),se(le(e).first(),t),gr()}function Zt(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each((function(){le(jQuery(this)).each((function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()}))})),xn(),se(le(t).first()),t}function er(){null===this.closest(".frm-merge-fields-into-row")&&tr(le(jQuery(".frm-field-group-hover-target")))}function tr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Ut(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=br()>0&&ir(Ut(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",(function(){mr(document.getElementById("frm-field-group-message"))}))}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=_r();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=_r();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void pr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!yr()),e;(e=c()).id="frm_field_multiselect_popup",yr()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=q("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Rt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():hr(),De()}function gr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",gr),hr()}function hr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function yr(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function vr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=Ht(br(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function br(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each((function(){e+=le(jQuery(this)).length})),e}function jr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each((function(){n.push(this.dataset.fid)})),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach((function(e){xr(e)}))}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Ct(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",(function(){jQuery(i).off("click",t)}))}function wr(){xr(this.getAttribute("data-deletefield"))}function xr(e){var t=jQuery("#frm_field_id_"+e);Qr(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each((function(){Qr(this.getAttribute("data-fid"))})),Qn()}function Qr(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach((function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)}))}(n),n.remove(),r.fadeOut("slow",(function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Or():"product"===n&&(Be(),nt()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&kn(t);G()})),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function kr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Er(r,"frm_logic_"+e+"_"),fields:tt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",(function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")}))}}),!1}function Er(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Er(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Sr(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Lr(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Sr(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function Ir(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Br(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=Ir(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Sr(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Jr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Xr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function Yr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",wn(t,e))}function Zr(){var e,t;(e=en(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=pn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return rn(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,gn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=hn(t),un(t),_n(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach((function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find((function(e){return e.checked&&"buttons"===e.value}));return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)}))}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function en(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function tn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function rn(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?sn(a[0],{sourceID:e}):sn(a[0],{sourceID:e,placeholder:i.value});else{r=cn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=en(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=gn(e),d=s?tn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=qo(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=nn(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find((function(e){return e.value===l}));if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}an(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function an(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function ln(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                                                      "+(s?a:"")+"
                                                      "},this.getSingle()}function sn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=qo(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=cn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],d=[],c=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name$="[label]"], [name*="[other_"]'),u=qo(e),f=hn(e),m=gn(e),_=pn(e);for(t=0;t0||(i=r=c[t].value,o=c[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),_&&(n=c[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),s&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),m&&(i=_n(i,f,fn(c[t]),un(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,c[t],m),checked:(l=c[t].id,field=jQuery("#"+l),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))),key:o},u&&(n=c[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),d.push(a));return d}function un(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function fn(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function mn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce((function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML}),"");return t!==e?mn(t):t}function _n(e,t,r,n){var i,o,l,s=e;return s=mn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function pn(e){return yn("separate_value_"+e)}function gn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Ln(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function In(){jQuery(".frm-hide-empty").each((function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()}))}function Bn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=Hi(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&Ze(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function qn(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Cn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")}))}function Nn(){var e,t,r,n,i,o,a,l=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Kn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function Jn(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",(function(){p.trigger("click"),g.removeClass("open"),h.hide()})),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach((function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)}));var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=Xn(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",(function(){return this.value})),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",(function(){return this.checked}));var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach((function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)})),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach((function(e){frmDom.wysiwyg.init(e)})),f.querySelectorAll(".wp-editor-area").forEach((function(e){frmDom.wysiwyg.init(e)}))),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&mo(f),io(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function Xn(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=Xn(++t)),t}function Yn(){var e,t=jQuery(this).data("actiontype");if(!ai(t)){var r=(e=Er(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Oi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach((function(e){return e.classList.remove("open")}));var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach((function(e){return o.appendChild(e)})),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),oi(t),Vn("#frm_form_action_"+r),io(),mo(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function Zn(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",wo(t,"input")}function ei(e){e.on("Change",(function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)}))}function ti(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===ti.prototype.endMarker&&(ti.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,ti.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ri(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function ni(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",(function(){jQuery(e).find(r+" input").val("")}))}function ii(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function oi(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ai(e)?(t=n,r=li(e)>0,t.forEach((function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")}))):n.forEach((function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))}))}function ai(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=li(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function li(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function si(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function di(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Er(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",(function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")}))}}),!1}function ci(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each((function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1}))}function ui(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function fi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function mi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function vi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function bi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ji(){zn()||($n(this),Mn(document.querySelector(".frm_form_settings")))}function wi(e){return e.preventDefault(),xi(jQuery(this),this.getAttribute("data-code")),!1}function xi(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Qi(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Qi(o,t);return!1}function Qi(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&ki(t)){var r=e.value.split(" ").filter(ki);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter((function(e){return(e=e.trim()).length&&!t.includes(e)}));return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Pn(e)}function ki(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ei(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),wo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),wo(e,"change"))}function Ai(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function Si(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ri(),"use"===(t=zi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Ci(t,"nofocus"):t.classList.contains("frm_close_icon")||Ci(t,"nofocus"))}function Li(e){e.preventDefault(),e.stopPropagation(),Ci(this)}function Ii(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Bi()}}(e.target)}function Bi(e){var t;void 0===e&&(e=q("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:q("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:q("Save and Reload","formidable"),buttonType:"primary"});p(e,(function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()}));var t=frmDom.modal.footerButton({text:q("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function qi(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find((function(e){return"#frm_close_icon"===e.getAttribute("href")}));if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Ci(e,t){var r=Hi(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ri(n);else{if(qi(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach((function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)}))}(r)}}function Ni(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Oi(){E||(E=1,window.addEventListener("beforeunload",Mi))}function Ti(){E=0}function Fi(){E=0}function Di(){E=0}function Mi(e){E&&(e.preventDefault(),e.returnValue="")}function Pi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function Hi(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=Hi(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function zi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=zi(r);return r}function Ri(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                                                      ":'

                                                      Imported '+r.data.name+"

                                                      ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,(function(e){return e!=t})),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Ki(e)))}))}function Ji(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function Xi(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function Yi(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function Zi(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function eo(e){var t,r,n=e.target.value;ro(n),to.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function to(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each((function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0})),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ro(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach((function(e){e.classList.remove("frm_hidden")})):t.forEach((function(e){e.classList.add("frm_hidden")})),vo.call(document.querySelector(".frm-auto-search")))}}function no(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function io(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function oo(e){e.preventDefault(),so(this,"frm_multiple_addons")}function ao(e){e.preventDefault(),so(this,"frm_activate_addon")}function lo(e){e.preventDefault(),so(this,"frm_install_addon")}function so(e,t){r(1105).toggleAddonState(e,t)}function co(){fo()}function uo(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",(function(){n.addClass("frm_hidden")}))}(0,0,e)}function fo(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function mo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function _o(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),go(t,r,this)}function po(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),go(this,t,r)}function go(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||bo(l,n)?(s&&Ni(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach((function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every((function(e){return e.classList.contains("frm_hidden")}));e.classList.toggle("frm_hidden",n)}})),jQuery(this).trigger("frmAfterSearch")}function bo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function jo(e){e.stopPropagation()}function wo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function xo(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function Qo(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function ko(e){jQuery(e).css("visibility","hidden")}function Eo(e){jQuery(e).css("visibility","visible")}function Ao(e,t){return r(4260).initModal(e,t)}function So(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Lo(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function Io(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Bo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function qo(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Co(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map((function(e){return"frm"+e})),i=["first","middle","last"];document.addEventListener("change",(function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach((function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))})),l.forEach((function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))})),i.forEach((function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))})),l.forEach((function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")}))}(o)}),!1)}function No(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach((function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))})),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Oo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done((function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(q("Thank you for signing up!","formidable")))}else uo("invalid")}))}}else uo("invalid");else uo("empty")}function To(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ri(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",(function(e){e.preventDefault(),Oo()}));var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",(function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}}))}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",(function(){G()})),O={},jQuery(".wp-admin").on("click",(function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")})),jQuery("#frm_bs_dropdown:not(.open) a").on("click",At),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach((function(e){p(e,St)})),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:q("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce((function(e,t){return t.checked?e+1:e}),0)>=10?(t.classList.remove("frm_hidden"),n.forEach((function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)}))):t.classList.add("frm_hidden")};i(),n.forEach((function(e){e.addEventListener("change",(function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach((function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1})))}))}))}}}(),mo(),jQuery("[data-frmprint]").on("click",(function(){return window.print(),!1}))),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",bi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach((function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)}))}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",(function(t){return e(t.target)}))}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",wr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",yo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",W),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",(function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)})),jQuery(document).on("click","#doaction, #doaction2",(function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1})),jQuery(document).on("click","#frm-confirmed-click",(function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0})),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Wn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",(function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1})),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",(function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1}))),jQuery(document).on("click","#frm-nav-tabs a",U),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",(function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Un(this),V(this),!1})),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",(function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Mn(document.getElementById("posts-filter")),!1})),jQuery(".frm_select_box").on("click focus",(function(){this.select()})),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",vo),jQuery(document).on("focusin click",".frm-auto-search",jo);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",lo),jQuery(document).on("click",".frm-activate-addon",ao),jQuery(document).on("click",".frm-solution-multiple",oo),jQuery("button, input[type=submit]").on("click",Lo),document.addEventListener("click",(function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout((function(){return n.click()}),0)}}}})),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",(function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]})),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach((function(e,t){e.addEventListener("click",(function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach((function(e,r){e.classList.contains("frm_other_option")||No(t,e)}))}))}));var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,(function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)}));var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,(function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))})),_&&p(_,(function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)})))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",To),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",Dn),jQuery(".frm_submit_no_ajax").on("click",Hn),Rn(),jQuery("a.edit-form-status").on("click",En),jQuery(".cancel-form-status").on("click",An),jQuery(".save-form-status").on("click",(function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1})),jQuery(".frm_form_builder form").first().on("submit",(function(){jQuery(".inplace_field").trigger("blur")})),io(),Or(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",kr),e.on("click",".frm_add_watch_lookup_row",Ar),e.on("change",".frm_get_values_form",Cr),e.on("change",".frm_logic_field_opts",bn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Sn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",qe),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",lt),e.on("change click","[data-changeme]",ot),e.on("click","input.frm_req_field",st),e.on("click",".frm_mark_unique",ct),e.on("change",".frm_repeat_format",Vr),e.on("change",".frm_repeat_limit",Kr),e.on("change",".frm_js_checkbox_limit",Jr),e.on("input",'input[name^="field_options[add_label_"]',(function(){Xr(this,"add")})),e.on("input",'input[name^="field_options[remove_label_"]',(function(){Xr(this,"remove")})),e.on("change",'select[name^="field_options[data_type_"]',Nr),jQuery(t).on("click",".frm-collapse-page",Tr),jQuery(t).on("click",".frm-collapse-section",Mr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",Pr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",(function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),Pr.call(this,e))})),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",ht),e.on("click",".frm_toggle_image_options",yt),e.on("click",".frm_remove_image_option",kt),e.on("click",".frm_choose_image_box",Qt),e.on("change",".frm_hide_image_text",xt),e.on("change",".frm_field_options_image_size",jt),e.on("click",".frm_multiselect_opt",Et),w.on("mousedown","input, textarea, select",Lt),w.on("click","input[type=radio], input[type=checkbox]",Lt),w.on("click",".frm_delete_field",Nt),w.on("click",".frm_select_field",Ot),jQuery(document).on("click",".frm_delete_field_group",Tt),jQuery(document).on("click",".frm_clone_field_group",Ft),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Dt),jQuery(document).on("click",".frm-row-layout-option",Xt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",Yt),jQuery(document).on("click",".frm-custom-field-group-layout",er),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-break-field-group",lr),w.on("click","#frm_field_group_popup .frm_grid_container input",sr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",dr),jQuery(document).on("click",".frm-save-custom-field-group-layout",ur),w.on("click","ul.frm_sorting",fr),jQuery(document).on("click",".frm-merge-fields-into-row",vr),jQuery(document).on("click",".frm-delete-field-groups",jr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',(function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)})),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",It),e.on("mousedown",".frm_single_option input[type=radio]",Bt),e.on("focusin",".frm_single_option input[type=text]",qt),e.on("click",".frm_add_opt",_t),e.on("change",".frm_single_option input",Zr),e.on("change",".frm_image_id",Zr),e.on("change",".frm_toggle_mult_sel",pt),w.on("click",".frm_primary_label",zr),w.on("click",".frm_description",Rr),w.on("click","li.ui-state-default:not(.frm_noallow)",$r),w.on("dblclick","li.ui-state-default",Ur),e.on("change",".frm_tax_form_select",Yr),e.on("change","select.conf_field",ut),e.on("change",".frm_get_field_selection",jn),e.on("click",".frm-show-inline-modal",Bn),e.on("keydown",".frm-show-inline-modal",(function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Bn.call(this,e))})),e.on("click",".frm-inline-modal .dismiss",qn),jQuery(document).on("change","[data-frmchange]",Nn),document.addEventListener("click",Cn),e.on("change",".frm_include_extras_field",et),e.on("change",'select[name^="field_options[form_select_"]',Io),jQuery(document).on("submit","#frm_js_build_form",Ti),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Oi),nt(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Bo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Lr),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),frmDom.util.documentOn("click",".frm-show-field-settings",$r),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Wr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',(function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find((function(e){return null!==e.offsetParent}));if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)})),!1!==(r=Ao("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",mt),jQuery(x).on("click","a.frm-bulk-edit-link",(function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=pn(s),c=qo(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}})),jQuery("#frm-update-bulk-opts").on("click",(function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Oi())}))),In(),document.addEventListener("frm_added_field",In),Be(),Co(),Qn(),frmDom.util.documentOn("change",".frm_show_password_setting_input",(function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)})),document.addEventListener("scroll",qi,!0),document.addEventListener("change",Ii),document.querySelector(".frm_form_builder").addEventListener("mousedown",(function(e){e.shiftKey&&e.preventDefault()})),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",(function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Hr)}),9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ri),i.on("click",".frm_remove_field",ni),i.on("change",".frm_to_row, .frm_from_row",ii),i.on("change",".frm_tax_selector",yi),i.on("change","select.frm_single_post_field",ci),i.on("change","select.frm_toggle_post_content",ui),i.on("change","select.frm_dyncontent_opt",fi),i.on("change",".frm_post_type",mi),i.on("click",".frm_add_postmeta_row",gi),i.on("click",".frm_add_posttax_row",pi),i.on("click",".frm_toggle_cf_opts",vi),i.on("click",".frm_duplicate_form_action",Jn),jQuery(".frm_actions_list").on("click",".frm_active_action",Yn),jQuery("#frm-show-groups, #frm-hide-groups").on("click",Zn),io(),jQuery("ul.frm_actions_list li").each((function(){oi(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")})),jQuery(".frm_submit_settings_btn").on("click",ji),Rn(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",di),e.on("click",".frm_already_used",si),document.addEventListener("click",(function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?Qt.bind(t)(e):t.closest(".frm_remove_image_option")&&kt.bind(t)(e))})),e.on("mouseup","*:not(.frm-show-box)",To),jQuery(document.getElementById("no_save")).on("change",(function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)})),jQuery('select[name="options[edit_action]"]').on("change",Kn),t=document.getElementById("logged_in"),jQuery(t).on("change",(function(){this.checked?Eo(".hide_logged_in"):ko(".hide_logged_in")})),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",(function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")}));var o=document.getElementById("single_entry");jQuery(o).on("change",(function(){this.checked?Eo(".hide_single_entry"):ko(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")})),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",(function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")})),Pn(l),n=document.getElementById("editable"),jQuery(n).on("change",(function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Pn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))})),jQuery(document).on("change","#protect_files",(function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")})),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Sn),jQuery(document).on("submit",".frm_form_settings",Fi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Oi),mo(),jQuery(document).on("frm-action-loaded",$i),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',(function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach((function(e){e.classList.add("frm_hidden")})),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach((function(e){e.classList.remove("frm_hidden")})),t.setAttribute("data-on-submit-type",e.target.value)}})),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",Di)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",wi),jQuery(document).on("change",".frm_insert_val",(function(){xi(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")})),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ei),jQuery(document).on("keyup change",".frm-build-logic",Ai),Vn(),jQuery(document).on("frmElementAdded",(function(e,t){Vn(t)})),jQuery(document).on("mousedown",".frm-show-box",Li),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",(function(e){var i,o,a,l;if(e.stopPropagation(),Si(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}})),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",(function(e){e.preventDefault()})),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",(function(e){Gi("frmids",e)})),e.on("click",".subsubsub a.frmkeys",(function(e){Gi("frmkeys",e)}))},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",(function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",(function(){return t.remove()}),{once:!0})),xo(data,(function(){if(!a)return"#"!==n?(window.location=n,!0):void Qo(t,(function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),co()),t.parentNode.removeChild(t)}))}))}})),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&co()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",po)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",Qt),e.on("click",".frm_remove_image_option",kt),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Wi),io(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Ui),jQuery(document).on("click","#frm-new-template button",_o),jQuery("#frm-dismissable-cta .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()}));var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",ho),document.querySelector(".frm_captchas").addEventListener("change",(function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)})),frmDom.util.documentOn("submit",".frm_settings_form",(function(){return E=0}));var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",(function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)}));var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach((function(e){e.addEventListener("change",(function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach((function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}}))}}))}))},exportInit:function(){jQuery(".frm_form_importer").on("submit",Vi),jQuery(document.getElementById("frm_export_xml")).on("submit",Ji),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",Xi),jQuery('input[name="frm_import_file"]').on("change",Yi),document.querySelector('select[name="format"]').addEventListener("change",eo),jQuery('input[name="frm_export_forms[]"]').on("click",no),io(),jQuery(".frm-feature-banner .dismiss").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()})),ro(Zi()),document.querySelector("#frm-export-select-all").addEventListener("change",(function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach((function(t){return t.checked=e.target.checked}))}))},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",(function(r){r.target===t&&xo({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},(function(){jQuery(e).fadeOut(400,(function(){e.remove()}))}))}))}},updateOpts:function(e,t,r){var n=pn(e),i=qo(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),rn(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout((function(){xn(),Ue(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})}),10)},error:je})}))},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:ti}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready((function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach((function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                                        ","")).replaceAll("
                                                      • ",'
                                                      • ",""),t.outerHTML=r)})),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach((function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}))})),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout((function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"}),2e3))}})}})(); \ No newline at end of file diff --git a/js/formidable_blocks.js b/js/formidable_blocks.js index 169e70deed..f9e00d9ced 100644 --- a/js/formidable_blocks.js +++ b/js/formidable_blocks.js @@ -1 +1 @@ -(()=>{var e={2532:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6314),o=r.n(n)()(function(e){return e[1]});o.push([e.id,"button.X_GKlxRFRHSOWckGcSPJ {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.X_GKlxRFRHSOWckGcSPJ:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: _3ywaXb1_tykjJGTtxpG 2s linear infinite;\n}",""]),o.locals={"frm-loading":"X_GKlxRFRHSOWckGcSPJ",spin:"_3ywaXb1_tykjJGTtxpG"};const i=o},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r}).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,l){if(l!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,l;n((o={},l=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):o[i]=l,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},V("Go to form","formidable")))),wp.element.createElement(W,{title:V("Options","formidable"),initialOpen:!1},wp.element.createElement(J,{label:V("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:V("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(U,null,wp.element.createElement(u,this.props.attributes))))}}])&&F(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(M);function K(e){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e={2532:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>l});var n=r(1601),o=r.n(n),i=r(6314),a=r.n(i)()(o());a.push([e.id,"button.t3RQZV1ZQbHGYyQUnhIY {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.t3RQZV1ZQbHGYyQUnhIY:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: Ts7haRQUDk0YMfLiQW00 2s linear infinite;\n}",""]);const l=a},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},2694:(e,t,r)=>{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var o=void 0!==r.layer;o&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,a;n((o={},a=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[i]=a,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},F("Go to form","formidable")))),wp.element.createElement(W,{title:F("Options","formidable"),initialOpen:!1},wp.element.createElement(Y,{label:F("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(Y,{label:F("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(Y,{label:F("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:F("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(Q,null,wp.element.createElement(u,this.props.attributes))))}}])&&z(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(M);function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=i,this.prepareElements()},i=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements(function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){e.applyStyleToElements(function(e,i){e.classList.remove("frm-animate"),e.style.transitionDelay=(i+1)*t+"s"})},200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements(function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(e){return e.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0 li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,i){t.addEventListener("click",function(t){return e.onNavClick(t,i)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var i=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),i.classList.add("frm-active"),this.initSlideTrackUnderline(i,t),this.changeSlide(t);var n,r,o=i.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(r=n.clearSettingsBox)||void 0===r||r.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var i=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(i)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var i=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(i,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function d(e,t){for(var i=0;i{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=i,this.prepareElements()},i=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements((function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",(function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){e.applyStyleToElements((function(e,i){e.classList.remove("frm-animate"),e.style.transitionDelay=(i+1)*t+"s"}))}),200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements((function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(e){return e.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0 li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach((function(t,i){t.addEventListener("click",(function(t){return e.onNavClick(t,i)}))})),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var i=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),i.classList.add("frm-active"),this.initSlideTrackUnderline(i,t),this.changeSlide(t);var n,r,o=i.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(r=n.clearSettingsBox)||void 0===r||r.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var i=void 0!==e?e:this.navs.filter((function(e){return e.classList.contains("frm-active")}));this.positionUnderlineIndicator(i)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver((function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)})),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame((function(){var i=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(i,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"}))}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach((function(e){return e.classList.remove("frm-active")}))}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach((function(e){return e.classList.remove("frm-active")}))}}])&&c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function d(e,t){for(var i=0;i{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=r,this.prepareElements()},r=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements(function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){e.applyStyleToElements(function(e,r){e.classList.remove("frm-animate"),e.style.transitionDelay=(r+1)*t+"s"})},200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements(function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(e){return e.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=r,this.prepareElements()},r=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements((function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",(function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){e.applyStyleToElements((function(e,r){e.classList.remove("frm-animate"),e.style.transitionDelay=(r+1)*t+"s"}))}),200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements((function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(e){return e.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0{var t={8616:t=>{t.exports=function(t,e){var n,r,i=0;function o(){var o,a,s=n,c=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(t){return function(t,e){var n,r,a,s,c,u,l,f,p,d=1,h=t.length,v="";for(r=0;r=0),s.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,s.width?parseInt(s.width):0);break;case"e":n=s.precision?parseFloat(n).toExponential(s.precision):parseFloat(n).toExponential();break;case"f":n=s.precision?parseFloat(n).toFixed(s.precision):parseFloat(n);break;case"g":n=s.precision?String(Number(n.toPrecision(s.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=s.precision?n.substring(0,s.precision):n;break;case"t":n=String(!!n),n=s.precision?n.substring(0,s.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=s.precision?n.substring(0,s.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=s.precision?n.substring(0,s.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=n:(!i.number.test(s.type)||f&&!s.sign?p="":(p=f?"+":"-",n=n.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",l=s.width-(p+n).length,c=s.width&&l>0?u.repeat(l):"",v+=s.align?p+n+c:"0"===u?p+c+n:c+p+n)}return v}(function(t){if(s[t])return s[t];for(var e,n=t,r=[],o=0;n;){if(null!==(e=i.text.exec(n)))r.push(e[0]);else if(null!==(e=i.modulo.exec(n)))r.push("%");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){o|=1;var a=[],c=e[2],u=[];if(null===(u=i.key.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(c=c.substring(u[0].length));)if(null!==(u=i.key_access.exec(c)))a.push(u[1]);else{if(null===(u=i.index_access.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}e[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return s[t]=r}(t),arguments)}function a(t,e){return o.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(r=function(){return{sprintf:o,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t,e,r,i,o=n(8616),a=n.n(o);function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function c(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}n(7604),a()(console.error),t={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},e=["(","?"],r={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var u={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var l={contextDelimiter:"",onMissingKey:null};function f(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},l)this.options[n]=void 0!==e&&n in e?e[n]:l[n]}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function d(t){for(var e=1;e=0||t[c]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(m(n)&&y(r))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:r};if(a[n]){var c,u=a[n].handlers;for(c=u.length;c>0&&!(o>=u[c-1].priority);c--);c===u.length?u[c]=s:u.splice(c,0,s),a.__current.forEach(function(t){t.name===n&&t.currentIndex>=c&&t.currentIndex++})}else a[n]={handlers:[s],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},g=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,i){var o=t[e];if(m(r)&&(n||y(i))){if(!o[r])return 0;var a=0;if(n)a=o[r].handlers.length,o[r]={runs:o[r].runs,handlers:[]};else for(var s=o[r].handlers,c=function(t){s[t].namespace===i&&(s.splice(t,1),a++,o.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},u=s.length-1;u>=0;u--)c(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,i),a}}},_=function(t,e){return function(n,r){var i=t[e];return void 0!==r?n in i&&i[n].handlers.some(function(t){return t.namespace===r}):n in i}},x=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=t[e];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,a=arguments.length,s=new Array(a>1?a-1:0),c=1;c1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=d(d(d({},h),r.data[e]),t),r.data[e][""]=d(d({},h[""]),r.data[e][""])},s=function(t,e){a(t,e),o()},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,r){var i=c(r,e,t);return n?(i=n.applyFilters("i18n.gettext_with_context",i,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),i,t,e,r)):i};if(n){var p=function(t){v.test(t)&&o()};n.addAction("hookAdded","core/i18n",p),n.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:s,resetLocaleData:function(t,e){r.data={},r.pluralForms={},s(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var r=c(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:l,_n:function(t,e,r,i){var o=c(i,void 0,t,e,r);return n?(o=n.applyFilters("i18n.ngettext",o,t,e,r,i),n.applyFilters("i18n.ngettext_"+u(i),o,t,e,r,i)):o},_nx:function(t,e,r,i,o){var a=c(o,i,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+u(o),a,t,e,r,i,o)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,i){var o,a,s=e?e+""+t:t,c=!(null===(o=r.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return n&&(c=n.applyFilters("i18n.has_translation",c,t,e,i),c=n.applyFilters("i18n.has_translation_"+u(i),c,t,e,i)),c}}}(0,0,A));F.getLocaleData.bind(F),F.setLocaleData.bind(F),F.resetLocaleData.bind(F),F.subscribe.bind(F);var j=F.__.bind(F);function E(t){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},E(t)}function O(t,e){for(var n=0;n ul").querySelectorAll(":scope > li").forEach(function(t){t.querySelector("h3").addEventListener("mouseover",function(t){e.style.transform="translateY(".concat(t.target.closest("li").offsetTop,"px)"),e.classList.add("frm-animating"),e.classList.remove("frm_hidden"),setTimeout(function(){e.classList.remove("frm-animating")},250)})}),document.querySelectorAll("#frm_style_sidebar .accordion-section h3").forEach(function(t){t.addEventListener("click",function(){e.classList.add("frm_hidden")})})}}},{key:"initStyleClassCopyToClipboard",value:function(t){var e=this;document.querySelector(".frm-copy-text").addEventListener("click",function(n){var r=n.currentTarget.innerText;navigator.clipboard.writeText(r).then(function(){e.success(t)})})}}])&&I(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,i=0;function o(){var o,a,s=n,c=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(t){return function(t,e){var n,r,a,s,c,u,l,f,p,d=1,h=t.length,v="";for(r=0;r=0),s.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,s.width?parseInt(s.width):0);break;case"e":n=s.precision?parseFloat(n).toExponential(s.precision):parseFloat(n).toExponential();break;case"f":n=s.precision?parseFloat(n).toFixed(s.precision):parseFloat(n);break;case"g":n=s.precision?String(Number(n.toPrecision(s.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=s.precision?n.substring(0,s.precision):n;break;case"t":n=String(!!n),n=s.precision?n.substring(0,s.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=s.precision?n.substring(0,s.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=s.precision?n.substring(0,s.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=n:(!i.number.test(s.type)||f&&!s.sign?p="":(p=f?"+":"-",n=n.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",l=s.width-(p+n).length,c=s.width&&l>0?u.repeat(l):"",v+=s.align?p+n+c:"0"===u?p+c+n:c+p+n)}return v}(function(t){if(s[t])return s[t];for(var e,n=t,r=[],o=0;n;){if(null!==(e=i.text.exec(n)))r.push(e[0]);else if(null!==(e=i.modulo.exec(n)))r.push("%");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){o|=1;var a=[],c=e[2],u=[];if(null===(u=i.key.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(c=c.substring(u[0].length));)if(null!==(u=i.key_access.exec(c)))a.push(u[1]);else{if(null===(u=i.index_access.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}e[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return s[t]=r}(t),arguments)}function a(t,e){return o.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(r=function(){return{sprintf:o,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t,e,r,i,o=n(8616),a=n.n(o);function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function c(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}n(7604),a()(console.error),t={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},e=["(","?"],r={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var u={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var l={contextDelimiter:"",onMissingKey:null};function f(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},l)this.options[n]=void 0!==e&&n in e?e[n]:l[n]}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function d(t){for(var e=1;e=0||t[c]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(m(n)&&y(r))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:r};if(a[n]){var c,u=a[n].handlers;for(c=u.length;c>0&&!(o>=u[c-1].priority);c--);c===u.length?u[c]=s:u.splice(c,0,s),a.__current.forEach((function(t){t.name===n&&t.currentIndex>=c&&t.currentIndex++}))}else a[n]={handlers:[s],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},g=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,i){var o=t[e];if(m(r)&&(n||y(i))){if(!o[r])return 0;var a=0;if(n)a=o[r].handlers.length,o[r]={runs:o[r].runs,handlers:[]};else for(var s=o[r].handlers,c=function(t){s[t].namespace===i&&(s.splice(t,1),a++,o.__current.forEach((function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--})))},u=s.length-1;u>=0;u--)c(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,i),a}}},_=function(t,e){return function(n,r){var i=t[e];return void 0!==r?n in i&&i[n].handlers.some((function(t){return t.namespace===r})):n in i}},x=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=t[e];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,a=arguments.length,s=new Array(a>1?a-1:0),c=1;c1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=d(d(d({},h),r.data[e]),t),r.data[e][""]=d(d({},h[""]),r.data[e][""])},s=function(t,e){a(t,e),o()},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,r){var i=c(r,e,t);return n?(i=n.applyFilters("i18n.gettext_with_context",i,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),i,t,e,r)):i};if(n){var p=function(t){v.test(t)&&o()};n.addAction("hookAdded","core/i18n",p),n.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:s,resetLocaleData:function(t,e){r.data={},r.pluralForms={},s(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var r=c(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:l,_n:function(t,e,r,i){var o=c(i,void 0,t,e,r);return n?(o=n.applyFilters("i18n.ngettext",o,t,e,r,i),n.applyFilters("i18n.ngettext_"+u(i),o,t,e,r,i)):o},_nx:function(t,e,r,i,o){var a=c(o,i,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+u(o),a,t,e,r,i,o)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,i){var o,a,s=e?e+""+t:t,c=!(null===(o=r.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return n&&(c=n.applyFilters("i18n.has_translation",c,t,e,i),c=n.applyFilters("i18n.has_translation_"+u(i),c,t,e,i)),c}}}(0,0,A));F.getLocaleData.bind(F),F.setLocaleData.bind(F),F.resetLocaleData.bind(F),F.subscribe.bind(F);var j=F.__.bind(F);function E(t){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},E(t)}function O(t,e){for(var n=0;n ul").querySelectorAll(":scope > li").forEach((function(t){t.querySelector("h3").addEventListener("mouseover",(function(t){e.style.transform="translateY(".concat(t.target.closest("li").offsetTop,"px)"),e.classList.add("frm-animating"),e.classList.remove("frm_hidden"),setTimeout((function(){e.classList.remove("frm-animating")}),250)}))})),document.querySelectorAll("#frm_style_sidebar .accordion-section h3").forEach((function(t){t.addEventListener("click",(function(){e.classList.add("frm_hidden")}))}))}}},{key:"initStyleClassCopyToClipboard",value:function(t){var e=this;document.querySelector(".frm-copy-text").addEventListener("click",(function(n){var r=n.currentTarget.innerText;navigator.clipboard.writeText(r).then((function(){e.success(t)}))}))}}])&&I(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}())})()})(); \ No newline at end of file diff --git a/js/frm_testing_mode.js b/js/frm_testing_mode.js index db06ffba12..9341b02de9 100644 --- a/js/frm_testing_mode.js +++ b/js/frm_testing_mode.js @@ -1,2 +1,2 @@ /*! For license information please see frm_testing_mode.js.LICENSE.txt */ -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(8793),o=r(1323);function i(e){var t=(0,n.A)(e);return function(e){return(0,o.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function o(e,t){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(t,{A:()=>o});var n=r(65);function o(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,o,i,a;function s(e){for(var t,r,s,l,c=[],u=[];t=e.match(a);){for(r=t[0],(s=e.substr(0,t.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach(function(e){e.name===r&&e.currentIndex>=u&&e.currentIndex++})}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,o=e[t];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7395);const o=function(e,t){return function(r){var o=e[t];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var o=e[t];return void 0!==n?r in o&&o[r].handlers.some(function(e){return e.namespace===n}):r in o}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=e[t];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(e){c[e].namespace===a&&(c.splice(e,1),l++,s.__current.forEach(function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--}))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,a),l}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=e[t];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>c});var n=r(4467),o=r(5397);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},s),n.data[t]),e),n.data[t][""]=a(a({},s[""]),n.data[t][""])},d=function(e,t){u(e,t),c()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[e]||u(void 0,e),n.dcnpgettext(e,t,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(e,t,n){var o=f(n,t,e);return r?(o=r.applyFilters("i18n.gettext_with_context",o,e,t,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,e,t,n)):o};if(e&&d(e,t),r){var v=function(e){l.test(e)&&c()};r.addAction("hookAdded","core/i18n",v),r.addAction("hookRemoved","core/i18n",v)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:d,resetLocaleData:function(e,t){n.data={},n.pluralForms={},d(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+p(t),n,e,t)):n},_x:m,_n:function(e,t,n,o){var i=f(o,void 0,e,t,n);return r?(i=r.applyFilters("i18n.ngettext",i,e,t,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,e,t,n,o)):i},_nx:function(e,t,n,o,i){var a=f(i,o,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,e,t,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(e,t,o){var i,a,s=t?t+""+e:e,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,e,t,o)),l}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>u,afterAddonInstall:()=>c,extractErrorFromAddOnResponse:()=>l,toggleAddonState:()=>s});var n=r(9575),o=frmDom,i=o.div,a=o.svg;function s(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(e),i=o.attr("rel"),a=o.parent(),s=a.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:i},success:function(e){var r,n,i;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(i=e.saveAndReload),e=e.message);var d=l(e);d?u(d,a,o):(c(e,o,s,a,i,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){o.removeClass("frm_loading_button")}})}function l(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function c(e,t,r,o,s){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",c=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var o=document.querySelector(".frm-addon-status");o&&(o.textContent="");var i,s=e.querySelector(".frm-circled-icon");if(s)s.classList.add("frm-circled-icon-green"),null===(i=s.querySelector("svg"))||void 0===i||i.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:c.active},frm_deactivate_addon:{class:"frm-addon-installed",message:c.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:c.not_installed}};f.frm_install_addon=f.frm_activate_addon;var p=r[0];p&&(p.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(s)&&u.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(s,t))})}function u(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                                        '+e.message+"

                                                        "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>a,initUpgradeModal:()=>s});var n=r(9575),o=frmDom.svg;function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var a,s=i.querySelector(".frm-oneclick"),l=i.querySelector(".frm-upgrade-message"),c=i.querySelector(".frm-upgrade-link"),u=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),p=e.getAttribute("data-message"),m="block",v="block",h="none",g=i.querySelector(".frm-circled-icon");g&&(g.classList.remove("frm-circled-icon-green"),null===(a=g.querySelector("svg"))||void 0===a||a.replaceWith(o({href:"#frm_filled_lock_icon"})));var y=i.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==s&&void 0!==f&&f){null===p&&(v="none"),m="none",h="block",f=JSON.parse(f),u.className=u.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),u.className=u.className+" "+f.class,u.rel=f.url,s.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),u.textContent=(0,n.__)("Activate","formidable");var _=e.querySelector("use");_&&(null==g||g.querySelector("svg").replaceWith(o({href:_.getAttribute("href")||_.getAttribute("xlink:href"),classList:["frm_svg32"]})))}p||(p=l.getAttribute("data-default")),void 0!==r&&(p=p.replace('',r)),l.innerHTML=p,e.dataset.upsellImage&&l.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),c.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,c),d.style.display="none",s.style.display=h,u.style.display="block"===h?"inline-block":h,l.style.display=v,c.style.display="block"===m?"inline-block":m;var b=c.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===m?"flex":m)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function s(){var e=a("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var u=e.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&(d&&(d.style.display="none"),d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",u.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",u.querySelector(".frm_feature_label").textContent=c,u.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",u.querySelector("h2").style.display="block",e.dialog("open");var v=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=v.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),v.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return function(e,t){var r,n,a,s,l,c,u,d,f,p=1,m=e.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?v+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",v+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return v}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],i=0;r;){if(null!==(t=o.text.exec(r)))n.push(t[0]);else if(null!==(t=o.modulo.exec(r)))n.push("%");else{if(null===(t=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],l=t[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},o)this.options[r]=void 0!==t&&r in t?t[r]:o[r]}i.prototype.getPluralForm=function(e,t){var r,o,i,a=this.pluralForms[e];return a||("function"!=typeof(i=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(9922);function o(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284);function o(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284),o=r(2327);function i(e){var t=(0,o.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}function n(){var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function s(r,n,i,a){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return o(u,"_invoke",function(r,n,o){var i,a,s,c=0,u=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,s=e,f.n=r,l}};function p(r,n){for(a=r,s=n,t=0;!d&&c&&!o&&t3?(o=m===n)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&pn||n>m)&&(i[4]=r,i[5]=n,f.n=m,a=0))}if(o||r>1)return l;throw d=!0,n}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),a=u,s=m;(t=a<2?e:s)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(c=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=f.n<0)?s:r.call(n,f))!==l)break}catch(t){i=e,a=1,s=t}finally{c=1}}return{value:t,done:d}}}(r,i,a),!0),u}var l={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var f=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),p=d.prototype=c.prototype=Object.create(f);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return u.prototype=d,o(p,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,a,"GeneratorFunction"),o(p),o(p,a,"Generator"),o(p,i,function(){return this}),o(p,"toString",function(){return"[object Generator]"}),(n=function(){return{w:s,m}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){function a(t,r){o(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},o(e,t,r,n)}function i(e,t,r,n,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e=r(1105).toggleAddonState;function t(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",function(t){t.preventDefault(),e(this,"frm_install_addon")}),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",function(t){t.preventDefault(),e(this,"frm_activate_addon")}),function(){o.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")})}function o(){var e;return e=n().m(function e(){return n().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.resolve().then(r.bind(r,4260));case 1:e.v.initUpgradeModal();case 2:return e.a(2)}},e)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function s(e){i(a,n,o,s,l,"next",e)}function l(e){i(a,n,o,s,l,"throw",e)}s(void 0)})},o.apply(this,arguments)}function a(){var e=window.frmDom;e.bootstrap.setupBootstrapDropdowns(function(){var e=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");e&&(e.classList.add("frm-dropdown-toggle"),e.hasAttribute("role")||e.setAttribute("role","button"),e.hasAttribute("tabindex")||e.setAttribute("tabindex",0))});var t=document.getElementById("frm_testmode_enabled_form_actions");t&&(t.style.display="none",e.bootstrap.multiselect.init.bind(t)(),t.disabled&&t.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?t():document.addEventListener("DOMContentLoaded",t),document.addEventListener("frm_after_start_over",function(){a()}),jQuery(document).on("frmPageChanged frmFormComplete",function(){a()})}()})(); \ No newline at end of file +(()=>{var t={65:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(8793),o=r(1323);function i(t){var e=(0,n.A)(t);return function(t){return(0,o.A)(e,t)}}},1323:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};function o(t,e){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(e,{A:()=>o});var n=r(65);function o(t){var e=(0,n.A)(t);return function(t){return+e({n:t})}}},8793:(t,e,r)=>{"use strict";var n,o,i,a;function s(t){for(var e,r,s,l,c=[],u=[];e=t.match(a);){for(r=e[0],(s=t.substr(0,e.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=t[e];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach((function(t){t.name===r&&t.currentIndex>=u&&t.currentIndex++}))}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(){var r,n,o=t[e];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7395);const o=function(t,e){return function(r){var o=t[e];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r){var n=t[e];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some((function(t){return t.namespace===n})):r in o}}},7765:(t,e,r)=>{"use strict";r.d(e,{A:()=>f});var n=r(2853),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function t(){(0,n.A)(this,t),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(6956),o=r(7395);const i=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=t[e];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(t){c[t].namespace===a&&(c.splice(t,1),l++,s.__current.forEach((function(e){e.name===i&&e.currentIndex>=t&&e.currentIndex--})))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&t.doAction("hookRemoved",i,a),l}}}},6763:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(e,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(t,e,r)=>{"use strict";r.d(e,{h:()=>c});var n=r(7203),o=r(5397);function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=a(a(a({},s),n.data[e]),t),n.data[e][""]=a(a({},s[""]),n.data[e][""])},d=function(t,e){u(t,e),c()},f=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||u(void 0,t),n.dcnpgettext(t,e,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(t,e,n){var o=f(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,t,e,n)):o};if(t&&d(t,e),r){var h=function(t){l.test(t)&&c()};r.addAction("hookAdded","core/i18n",h),r.addAction("hookRemoved","core/i18n",h)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:d,resetLocaleData:function(t,e){n.data={},n.pluralForms={},d(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var n=f(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+p(e),n,t,e)):n},_x:m,_n:function(t,e,n,o){var i=f(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=f(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,s=e?e+""+t:t,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,t,e,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,t,e,o)),l}}}},5839:(t,e,r)=>{"use strict";r.d(e,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(t,e,r)=>{"use strict";r.d(e,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(t,e,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addonError:()=>u,afterAddonInstall:()=>c,extractErrorFromAddOnResponse:()=>l,toggleAddonState:()=>s});var n=r(9575),o=frmDom,i=o.div,a=o.svg;function s(t,e){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(t),i=o.attr("rel"),a=o.parent(),s=a.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:e,nonce:frmGlobal.nonce,plugin:i},success:function(t){var r,n,i;"string"!=typeof(t=null!==(r=null===(n=t)||void 0===n?void 0:n.data)&&void 0!==r?r:t)&&"string"==typeof t.message&&(void 0!==t.saveAndReload&&(i=t.saveAndReload),t=t.message);var d=l(t);d?u(d,a,o):(c(t,o,s,a,i,e),wp.hooks.doAction("frm_update_addon_state",t))},error:function(){o.removeClass("frm_loading_button")}})}function l(t){return"string"!=typeof t&&(void 0===t.success||!t.success)&&(t.form&&jQuery(t.form).is("#message")?{message:jQuery(t.form).find("p").html()}:t)}function c(t,e,r,o,s){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",c=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach((function(e){e.textContent=t,e.style.display="block"})),e.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach((function(t){t.style.display="none"})),function(){var t=document.getElementById("frm_upgrade_modal");if(t){t.classList.add("frm-success");var e=t.querySelector(".frm-upgrade-message");if(e){var r=e.querySelector("img");e.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&e.append(r)}var o=document.querySelector(".frm-addon-status");o&&(o.textContent="");var i,s=t.querySelector(".frm-circled-icon");if(s)s.classList.add("frm-circled-icon-green"),null===(i=s.querySelector("svg"))||void 0===i||i.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:c.active},frm_deactivate_addon:{class:"frm-addon-installed",message:c.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:c.not_installed}};f.frm_install_addon=f.frm_activate_addon;var p=r[0];p&&(p.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),e[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(s)&&u.forEach((function(t){var e=null!==t.closest("#frm_upgrade_modal");t.appendChild(function(t,e){var r,o=[d(t)];return e&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(s,e))}))}function u(t,e,r){t.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(t.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(e.append('

                                                        '+t.message+"

                                                        "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(t){var e=document.createElement("button");return e.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),e.textContent=(0,n.__)("Save and Reload","formidable"),e.addEventListener("click",(function(){var e;"form_builder"===t?((e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()):"settings"===t&&function(){var t=document.getElementById("form_settings_page");if(null!==t){var e=t.querySelector("form.frm_form_settings");null!==e&&(wp.hooks.doAction("frm_reset_fields_updated"),e.submit())}}()})),e}},4260:(t,e,r)=>{"use strict";r.r(e),r.d(e,{addOneClick:()=>i,initModal:()=>a,initUpgradeModal:()=>s});var n=r(9575),o=frmDom.svg;function i(t,e,r){var i;if("modal"===e)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==e)return;i=document.getElementById(t.getAttribute("href").substr(1))}var a,s=i.querySelector(".frm-oneclick"),l=i.querySelector(".frm-upgrade-message"),c=i.querySelector(".frm-upgrade-link"),u=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),f=t.getAttribute("data-oneclick"),p=t.getAttribute("data-message"),m="block",h="block",v="none",y=i.querySelector(".frm-circled-icon");y&&(y.classList.remove("frm-circled-icon-green"),null===(a=y.querySelector("svg"))||void 0===a||a.replaceWith(o({href:"#frm_filled_lock_icon"})));var g=i.querySelector(".frm-learn-more");if(g&&(g.href=t.dataset.learnMore),null!==s&&void 0!==f&&f){null===p&&(h="none"),m="none",v="block",f=JSON.parse(f),u.className=u.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),u.className=u.className+" "+f.class,u.rel=f.url,s.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),u.textContent=(0,n.__)("Activate","formidable");var _=t.querySelector("use");_&&(null==y||y.querySelector("svg").replaceWith(o({href:_.getAttribute("href")||_.getAttribute("xlink:href"),classList:["frm_svg32"]})))}p||(p=l.getAttribute("data-default")),void 0!==r&&(p=p.replace('',r)),l.innerHTML=p,t.dataset.upsellImage&&l.appendChild(frmDom.img({src:t.dataset.upsellImage,alt:t.dataset.upgrade})),c.href=function(t,e){var r=t.getAttribute("data-link");return null!=r&&""!==r||(r=e.getAttribute("data-default")),r}(t,c),d.style.display="none",s.style.display=v,u.style.display="block"===v?"inline-block":v,l.style.display=h,c.style.display="block"===m?"inline-block":m;var b=c.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===m?"flex":m)}function a(t,e){var r=jQuery(t);if(!r.length)return!1;void 0===e&&(e="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:e,resizable:!1,draggable:!1,open:function(){var t,e;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),t=r,e=function(){t.dialog("close")},jQuery(".ui-widget-overlay").on("click",e),t.on("click","a.dismiss",e)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var t=document.getElementById("bulk-option-type");t&&(t.value="")}};return r.dialog(n),r}function s(){var t=a("#frm_upgrade_modal");function e(e){var r,n,o;if((r=e.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===e.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){e.preventDefault();var u=t.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&(d&&(d.style.display="none"),d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(t){return t.dataset.requires?t.dataset.requires:"Pro"}(r)),i(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",u.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",u.querySelector(".frm_feature_label").textContent=c,u.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",u.querySelector("h2").style.display="block",t.dialog("open");var h=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=h.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),h.setAttribute("href",n)}}}}!1!==t&&(document.addEventListener("click",e),frmDom.util.documentOn("change","select.frm_select_with_upgrade",e))}},8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,s,l,c,u,d,f,p=1,m=t.length,h="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?h+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",h+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return h}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()},5397:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},o)this.options[r]=void 0!==e&&r in e?e[r]:o[r]}i.prototype.getPluralForm=function(t,e){var r,o,i,a=this.pluralForms[t];return a||("function"!=typeof(i=(r=this.data[t][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(t){var e,r,n;for(e=t.split(";"),r=0;r{"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,{A:()=>n})},7203:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7730);function o(t,e,r){return(e=(0,n.A)(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}},1127:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(2716);function o(t,e){if("object"!=(0,n.A)(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}},7730:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(2716),o=r(1127);function i(t){var e=(0,o.A)(t,"string");return"symbol"==(0,n.A)(e)?e:e+""}},2716:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{A:()=>n})}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(){"use strict";o=function(){return e};var t,e={},r=Object.prototype,i=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},s="function"==typeof Symbol?Symbol:{},l=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function d(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var o=e&&e.prototype instanceof _?e:_,i=Object.create(o.prototype),s=new q(n||[]);return a(i,"_invoke",{value:L(t,r,s)}),i}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var m="suspendedStart",h="suspendedYield",v="executing",y="completed",g={};function _(){}function b(){}function w(){}var x={};d(x,l,(function(){return this}));var A=Object.getPrototypeOf,k=A&&A(A(C([])));k&&k!==r&&i.call(k,l)&&(x=k);var S=w.prototype=_.prototype=Object.create(x);function j(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(o,a,s,l){var c=p(t[o],t,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==n(d)&&i.call(d,"__await")?e.resolve(d.__await).then((function(t){r("next",t,s,l)}),(function(t){r("throw",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return r("throw",t,s,l)}))}l(c.arg)}var o;a(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}})}function L(e,r,n){var o=m;return function(i,a){if(o===v)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var l=O(s,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===m)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var c=p(e,r,n);if("normal"===c.type){if(o=n.done?y:h,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=y,n.method="throw",n.arg=c.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=p(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,g):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function F(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function q(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(F,this),this.reset(!0)}function C(e){if(e||""===e){var r=e[l];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var l=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(l&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function i(t,e,r,n,o,i,a){try{var s=t[i](a),l=s.value}catch(t){return void r(t)}s.done?e(l):Promise.resolve(l).then(n,o)}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t=r(1105).toggleAddonState;function e(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",(function(e){e.preventDefault(),t(this,"frm_install_addon")})),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",(function(e){e.preventDefault(),t(this,"frm_activate_addon")})),function(){n.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",(function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")}))}function n(){var t;return t=o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.resolve().then(r.bind(r,4260));case 2:t.sent.initUpgradeModal();case 4:case"end":return t.stop()}}),t)})),n=function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function s(t){i(a,n,o,s,l,"next",t)}function l(t){i(a,n,o,s,l,"throw",t)}s(void 0)}))},n.apply(this,arguments)}function a(){var t=window.frmDom;t.bootstrap.setupBootstrapDropdowns((function(){var t=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");t&&(t.classList.add("frm-dropdown-toggle"),t.hasAttribute("role")||t.setAttribute("role","button"),t.hasAttribute("tabindex")||t.setAttribute("tabindex",0))}));var e=document.getElementById("frm_testmode_enabled_form_actions");e&&(e.style.display="none",t.bootstrap.multiselect.init.bind(e)(),e.disabled&&e.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e),document.addEventListener("frm_after_start_over",(function(){a()})),jQuery(document).on("frmPageChanged frmFormComplete",(function(){a()}))}()})(); \ No newline at end of file diff --git a/js/onboarding-wizard.js b/js/onboarding-wizard.js index 1f42a71f67..cf9235f4d6 100644 --- a/js/onboarding-wizard.js +++ b/js/onboarding-wizard.js @@ -1,2 +1,2 @@ /*! For license information please see onboarding-wizard.js.LICENSE.txt */ -(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},n=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):00&&void 0!==arguments[0]?arguments[0]:{};if("object"!==_(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==_(t)||null===t)throw new Error("setState: newState must be a non-null object");e=T(T({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({processedSteps:[],installedAddons:[]}),I=A.getState,D=(A.getSingleState,A.setState,A.setSingleState),C=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==j(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==j(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=g(g({},e),t)}}}({onboardingWizardPage:document.getElementById("".concat(E,"-wizard-page")),container:document.getElementById("".concat(E,"-container")),rootline:document.getElementById("".concat(E,"-rootline")),steps:document.querySelectorAll(".".concat(E,"-step")),skipStepButtons:document.querySelectorAll(".".concat(E,"-skip-step")),backButtons:document.querySelectorAll(".".concat(E,"-back-button")),consentTrackingButton:document.getElementById("".concat(E,"-consent-tracking")),installAddonsButton:document.getElementById("".concat(E,"-install-addons-button")),hiddenLicenseKeyInput:document.getElementById("frm-license-key")}),N=C.getElements;C.addElements;var U=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"pushState",o=document.querySelector(".".concat(E,'-step[data-step-name="').concat(t,'"]'));if(o){var i=document.querySelector(".".concat(E,"-step.").concat(S));i&&(i.classList.remove(S),null==(e=i)||e.classList.add(b)),o.classList.add(S),function(t){null==t||t.classList.remove(b)}(o),new r(o).fadeIn(),N().onboardingWizardPage.setAttribute("data-current-step",t),function(t,e){var n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"pushState";if(p.set(t,e),f.search=p.toString(),["pushState","replaceState"].includes(i)){var a=(n={},o=e,(r=function(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}(r=t))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n);window.history[i](a,"",f)}f.toString()}("step",t,n),function(t){t===P.UNSUCCESSFUL&&(t=P.SUCCESS);var e=N().rootline,n=e.querySelector('.frm-rootline-item[data-step="'.concat(t,'"]'));e.querySelectorAll(".frm-rootline-item").forEach(function(t){t.classList.remove(B),t.classList.remove(S)});var r=n.previousElementSibling;if(r)for(;r;)r.classList.add(B),r=r.previousElementSibling;t===P.SUCCESS?n.classList.add(B):n.classList.add(S)}(t)}},x=function(){var t=document.querySelector(".".concat(E,"-step.").concat(S)),e=null==t?void 0:t.nextElementSibling;if(e){var n=t.dataset.stepName,r=e.dataset.stepName,o=I().processedSteps;o.includes(n)||(o.push(n),D("processedSteps",o)),function(t,e){var n=function(t,e){var n;if(P.SUCCESS===e||P.UNSUCCESSFUL===e){var r=I().processedSteps;r.length>1&&(r.includes(e)||r.push(e),(n=new FormData).append("processed_steps",r.join(",")),n.append("completed_steps",!0))}if(P.INSTALL_ADDONS===t){var o=I().installedAddons;o.length>0&&(n=null!=n?n:new FormData).append("installed_addons",o.join(","))}return n}(t,e);n&&(0,frmDom.ajax.doJsonPost)("onboarding_setup_usage_data",n)}(n,r),U(r)}};var B="frm-completed-step",F=".frm-option-box";function G(t){"input"===t.target.tagName.toLowerCase()&&t.currentTarget.closest(F).classList.toggle("frm-checked")}var q=function(){x()};var z=function(){var t,e;(e=null==(t=document.querySelector(".".concat(E,"-step.").concat(S)))?void 0:t.previousElementSibling)&&U(e.dataset.stepName)};function R(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return J(l,"_invoke",function(n,r,o){var i,c,u,l=0,s=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,n){return i=e,c=0,u=t,p.n=n,a}};function d(n,r){for(c=n,u=r,e=0;!f&&l&&!o&&e3?(o=y===r)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=n<2&&dr||r>y)&&(i[4]=n,i[5]=r,p.n=y,c=0))}if(o||n>1)return a;throw f=!0,r}return function(o,s,y){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,y),c=s,u=y;(e=c<2?t:u)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?u:n.call(r,p))!==a)break}catch(e){i=t,c=1,u=e}finally{l=1}}return{value:e,done:f}}}(n,o,i),!0),l}var a={};function c(){}function u(){}function l(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(J(e={},r,function(){return this}),e),f=l.prototype=c.prototype=Object.create(s);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,J(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,J(f,"constructor",l),J(l,"constructor",u),u.displayName="GeneratorFunction",J(l,o,"GeneratorFunction"),J(f),J(f,o,"Generator"),J(f,r,function(){return this}),J(f,"toString",function(){return"[object Generator]"}),(R=function(){return{w:i,m:p}})()}function J(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}J=function(t,e,n,r){function i(e,n){J(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(i("next",0),i("throw",1),i("return",2))},J(t,e,n,r)}function M(t,e,n,r,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,o)}var W=function(){var t,e=(t=R().m(function t(){return R().w(function(t){for(;;)switch(t.n){case 0:(0,frmDom.ajax.doJsonPost)("onboarding_consent_tracking",new FormData).then(x);case 1:return t.a(2)}},t)}),function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function a(t){M(i,r,o,a,c,"next",t)}function c(t){M(i,r,o,a,c,"throw",t)}a(void 0)})});return function(){return e.apply(this,arguments)}}();function K(t){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},K(t)}function V(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}throw new TypeError(K(t)+" is not iterable")}function $(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return H(l,"_invoke",function(n,r,o){var i,c,u,l=0,s=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,n){return i=e,c=0,u=t,p.n=n,a}};function d(n,r){for(c=n,u=r,e=0;!f&&l&&!o&&e3?(o=y===r)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=n<2&&dr||r>y)&&(i[4]=n,i[5]=r,p.n=y,c=0))}if(o||n>1)return a;throw f=!0,r}return function(o,s,y){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,y),c=s,u=y;(e=c<2?t:u)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?u:n.call(r,p))!==a)break}catch(e){i=t,c=1,u=e}finally{l=1}}return{value:e,done:f}}}(n,o,i),!0),l}var a={};function c(){}function u(){}function l(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(H(e={},r,function(){return this}),e),f=l.prototype=c.prototype=Object.create(s);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,H(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,H(f,"constructor",l),H(l,"constructor",u),u.displayName="GeneratorFunction",H(l,o,"GeneratorFunction"),H(f),H(f,o,"Generator"),H(f,r,function(){return this}),H(f,"toString",function(){return"[object Generator]"}),($=function(){return{w:i,m:p}})()}function H(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}H=function(t,e,n,r){function i(e,n){H(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(i("next",0),i("throw",1),i("return",2))},H(t,e,n,r)}function Q(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return X(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw i}}}}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=r,this.prepareElements()},r=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements((function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",(function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")}),{once:!0})}))}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout((function(){t.applyStyleToElements((function(t,r){t.classList.remove("frm-animate"),t.style.transitionDelay=(r+1)*e+"s"}))}),200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements((function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")}))}},{key:"resetOpacity",value:function(){this.applyStyleToElements((function(t){return t.style.opacity="1.0"}))}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):00&&void 0!==arguments[0]?arguments[0]:{};if("object"!==_(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var r=Reflect.get(e,t);return void 0===r?null:r},setState:function(t){if("object"!==_(t)||null===t)throw new Error("setState: newState must be a non-null object");e=x(x({},e),t)},setSingleState:function(t,r){Reflect.has(e,t)&&Reflect.set(e,t,r)}}}({processedSteps:[],installedAddons:[]}),T=k.getState,A=(k.getSingleState,k.setState,k.setSingleState),I=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==S(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==S(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=b(b({},e),t)}}}({onboardingWizardPage:document.getElementById("".concat(L,"-wizard-page")),container:document.getElementById("".concat(L,"-container")),rootline:document.getElementById("".concat(L,"-rootline")),steps:document.querySelectorAll(".".concat(L,"-step")),skipStepButtons:document.querySelectorAll(".".concat(L,"-skip-step")),backButtons:document.querySelectorAll(".".concat(L,"-back-button")),consentTrackingButton:document.getElementById("".concat(L,"-consent-tracking")),installAddonsButton:document.getElementById("".concat(L,"-install-addons-button")),hiddenLicenseKeyInput:document.getElementById("frm-license-key")}),N=I.getElements;I.addElements;var D=function(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"pushState",o=document.querySelector(".".concat(L,'-step[data-step-name="').concat(t,'"]'));if(o){var i=document.querySelector(".".concat(L,"-step.").concat(m));i&&(i.classList.remove(m),null==(e=i)||e.classList.add(v)),o.classList.add(m),function(t){null==t||t.classList.remove(v)}(o),new n(o).fadeIn(),N().onboardingWizardPage.setAttribute("data-current-step",t),function(t,e){var r,n,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"pushState";if(f.set(t,e),l.search=f.toString(),["pushState","replaceState"].includes(i)){var a=(r={},o=e,(n=function(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}(n=t))in r?Object.defineProperty(r,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[n]=o,r);window.history[i](a,"",l)}l.toString()}("step",t,r),function(t){t===j.UNSUCCESSFUL&&(t=j.SUCCESS);var e=N().rootline,r=e.querySelector('.frm-rootline-item[data-step="'.concat(t,'"]'));e.querySelectorAll(".frm-rootline-item").forEach((function(t){t.classList.remove(F),t.classList.remove(m)}));var n=r.previousElementSibling;if(n)for(;n;)n.classList.add(F),n=n.previousElementSibling;t===j.SUCCESS?r.classList.add(F):r.classList.add(m)}(t)}},C=function(){var t=document.querySelector(".".concat(L,"-step.").concat(m)),e=null==t?void 0:t.nextElementSibling;if(e){var r=t.dataset.stepName,n=e.dataset.stepName,o=T().processedSteps;o.includes(r)||(o.push(r),A("processedSteps",o)),function(t,e){var r=function(t,e){var r;if(j.SUCCESS===e||j.UNSUCCESSFUL===e){var n=T().processedSteps;n.length>1&&(n.includes(e)||n.push(e),(r=new FormData).append("processed_steps",n.join(",")),r.append("completed_steps",!0))}if(j.INSTALL_ADDONS===t){var o,i=T().installedAddons;i.length>0&&(r=null!==(o=r)&&void 0!==o?o:new FormData).append("installed_addons",i.join(","))}return r}(t,e);r&&(0,frmDom.ajax.doJsonPost)("onboarding_setup_usage_data",r)}(r,n),D(n)}};var F="frm-completed-step",U=".frm-option-box";function G(t){"input"===t.target.tagName.toLowerCase()&&t.currentTarget.closest(U).classList.toggle("frm-checked")}var B=function(){C()};var q=function(){var t,e;(e=null==(t=document.querySelector(".".concat(L,"-step.").concat(m)))?void 0:t.previousElementSibling)&&D(e.dataset.stepName)};function Y(t){return Y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Y(t)}function z(){z=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,a=Object.create(i.prototype),c=new T(n||[]);return o(a,"_invoke",{value:x(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var p="suspendedStart",h="suspendedYield",y="executing",d="completed",v={};function m(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var S=Object.getPrototypeOf,E=S&&S(S(A([])));E&&E!==r&&n.call(E,a)&&(w=E);var L=b.prototype=m.prototype=Object.create(w);function j(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==Y(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function x(e,r,n){var o=p;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=P(c,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?d:h,s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function P(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function R(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var J=function(){var t,e=(t=z().mark((function t(){return z().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:(0,frmDom.ajax.doJsonPost)("onboarding_consent_tracking",new FormData).then(C);case 2:case"end":return t.stop()}}),t)})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){R(i,n,o,a,c,"next",t)}function c(t){R(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(){return e.apply(this,arguments)}}();function M(t){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(t)}function W(){W=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,a=Object.create(i.prototype),c=new T(n||[]);return o(a,"_invoke",{value:x(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var p="suspendedStart",h="suspendedYield",y="executing",d="completed",v={};function m(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var S=Object.getPrototypeOf,E=S&&S(S(A([])));E&&E!==r&&n.call(E,a)&&(w=E);var L=b.prototype=m.prototype=Object.create(w);function j(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==M(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function x(e,r,n){var o=p;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=P(c,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?d:h,s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function P(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function K(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return V(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?V(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function V(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r{var t={8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,c=r,s=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,c,s,u,l,f,p,d=1,h=t.length,m="";for(n=0;n=0),c.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c.width?parseInt(c.width):0);break;case"e":r=c.precision?parseFloat(r).toExponential(c.precision):parseFloat(r).toExponential();break;case"f":r=c.precision?parseFloat(r).toFixed(c.precision):parseFloat(r);break;case"g":r=c.precision?String(Number(r.toPrecision(c.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=c.precision?r.substring(0,c.precision):r;break;case"t":r=String(!!r),r=c.precision?r.substring(0,c.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=c.precision?r.substring(0,c.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=c.precision?r.substring(0,c.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=r:(!o.number.test(c.type)||f&&!c.sign?p="":(p=f?"+":"-",r=r.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",l=c.width-(p+r).length,s=c.width&&l>0?u.repeat(l):"",m+=c.align?p+r+s:"0"===u?p+s+r:s+p+r)}return m}(function(t){if(c[t])return c[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],s=e[2],u=[];if(null===(u=o.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(s=s.substring(u[0].length));)if(null!==(u=o.key_access.exec(s)))a.push(u[1]);else{if(null===(u=o.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return c[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";function t(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function e(e){for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==o(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var r=t;return{getElements:function(){return r},addElements:function(t){if("object"!==o(t)||null===t)throw new Error("addElements: newElements must be a non-null object");r=e(e({},r),t)}}}(i),p=f.getElements,d=f.addElements,h=r(8616),m=r.n(h);function v(t){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},v(t)}function y(t){var e=function(t){if("object"!=v(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=v(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==v(e)?e:e+""}r(7604),m()(console.error),c={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},s=["(","?"],u={")":["("],":":["?","?:"]},l=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var b={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};var g={contextDelimiter:"",onMissingKey:null};function _(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},g)this.options[r]=void 0!==e&&r in e?e[r]:g[r]}function w(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||c[o]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(j(r)&&S(n))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:n};if(a[r]){var s,u=a[r].handlers;for(s=u.length;s>0&&!(i>=u[s-1].priority);s--);s===u.length?u[s]=c:u.splice(s,0,c),a.__current.forEach(function(t){t.name===r&&t.currentIndex>=s&&t.currentIndex++})}else a[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,n,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},P=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,o){var i=t[e];if(j(n)&&(r||S(o))){if(!i[n])return 0;var a=0;if(r)a=i[n].handlers.length,i[n]={runs:i[n].runs,handlers:[]};else for(var c=i[n].handlers,s=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach(function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--}))},u=c.length-1;u>=0;u--)s(u);return"hookRemoved"!==n&&t.doAction("hookRemoved",n,o),a}}},F=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some(function(t){return t.namespace===n}):r in o}},T=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,c=new Array(a>1?a-1:0),s=1;s1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=x(x(x({},k),n.data[e]),t),n.data[e][""]=x(x({},k[""]),n.data[e][""])},c=function(t,e){a(t,e),i()},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||a(void 0,t),n.dcnpgettext(t,e,r,o,i)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,n){var o=s(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+u(n),o,t,e,n)):o};if(r){var f=function(t){O.test(t)&&i()};r.addAction("hookAdded","core/i18n",f),r.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:c,resetLocaleData:function(t,e){n.data={},n.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var n=s(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+u(e),n,t,e)):n},_x:l,_n:function(t,e,n,o){var i=s(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+u(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=s(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+u(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,s=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return r&&(s=r.applyFilters("i18n.has_translation",s,t,e,o),s=r.applyFilters("i18n.has_translation_"+u(o),s,t,e,o)),s}}}(0,0,C));R.getLocaleData.bind(R),R.setLocaleData.bind(R),R.resetLocaleData.bind(R),R.subscribe.bind(R);var G=R.__.bind(R),N=(R._x.bind(R),R._n.bind(R),R._nx.bind(R),R.isRTL.bind(R),R.hasTranslation.bind(R),Promise.resolve(),frmDom),B=N.div,M=(N.span,N.tag),q=N.a,z=(N.img,N.svg,frmDom.modal),U=z.maybeCreateModal,$=(z.footerButton,frmDom.util),K=$.onClickPreventDefault,Z=($.documentOn,frmDom.ajax.doJsonPost),H=new URL(window.location.href).searchParams,X=window.frmGlobal,J=(X.url,X.nonce,window.frmWelcomeTourVars),W=J.IS_DASHBOARD_PAGE,V=J.IS_WELCOME_TOUR_SEEN,Y=(J.CHECKLIST_STEPS,J.TOUR_URL),Q=J.PROGRESS_BAR_PERCENT;const tt=function(){var t,e;W&&!V&&function(t){p().beginTourModal||d({beginTourModal:t})}(((t=U("frm_get_started_modal",{title:G("Get Started with Formidable Forms","formidable"),content:(e={className:"frm-px-md",text:G("Here's a quick checklist to help you set up and explore the key features of the plugin, so you can start building powerful forms in no time.","formidable")},M("p",e)),footer:B({className:"frmcenter",child:q({className:"button button-primary frm-button-primary",href:Y,text:G("Begin Tour","formidable")})}),width:"440px",dialogClass:"frm-fadein-up-back"})).classList.add("frm_wrap","frm-welcome-tour-modal","frmcenter"),t))};function et(t,e){if(e.offsetParent){var r=e.getBoundingClientRect();if(0!==r.width&&0!==r.height){var n,o=t.dataset.leftPosition;switch(o){case"middle":n=r.left+Math.round(r.width/2);break;case"end":n=r.right;break;default:n=r.left+parseInt(o)}t.style.left="".concat(n||r.left,"px");var i="bottom"===t.dataset.placement?r.top+r.height:r.top+Math.round(r.height/2);t.style.top="".concat(i,"px")}}}function rt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return nt(u,"_invoke",function(r,n,o){var i,c,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,c=0,s=t,p.n=r,a}};function d(r,n){for(c=r,s=n,e=0;!f&&u&&!o&&e3?(o=h===n)&&(s=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>h)&&(i[4]=r,i[5]=n,p.n=h,c=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,h){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,h),c=l,s=h;(e=c<2?t:s)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,s)):p.n=s:p.v=s);try{if(u=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?s:r.call(n,p))!==a)break}catch(e){i=t,c=1,s=e}finally{u=1}}return{value:e,done:f}}}(r,o,i),!0),u}var a={};function c(){}function s(){}function u(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(nt(e={},n,function(){return this}),e),f=u.prototype=c.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,nt(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return s.prototype=u,nt(f,"constructor",u),nt(u,"constructor",s),s.displayName="GeneratorFunction",nt(u,o,"GeneratorFunction"),nt(f),nt(f,o,"Generator"),nt(f,n,function(){return this}),nt(f,"toString",function(){return"[object Generator]"}),(rt=function(){return{w:i,m:p}})()}function nt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}nt=function(t,e,r,n){function i(e,r){nt(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},nt(t,e,r,n)}function ot(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}var it="frm-checklist__step";function at(t){return ct.apply(this,arguments)}function ct(){var t;return t=rt().m(function t(e){var r,n,o,i;return rt().w(function(t){for(;;)switch(t.p=t.n){case 0:if(p().checklist){t.n=1;break}return t.a(2);case 1:if(r=document.getElementById("".concat(it,"-").concat(e))){t.n=2;break}return t.a(2);case 2:if(r.classList.contains("".concat(it,"--active"))){t.n=3;break}return t.a(2);case 3:return(n=new FormData).append("step_key",e),t.p=4,t.n=5,Z("mark_checklist_step_as_completed",n);case 5:if(r.classList.remove("".concat(it,"--active")),r.classList.add("".concat(it,"--completed")),o=r.nextElementSibling){t.n=6;break}return t.a(2);case 6:o.classList.add("".concat(it,"--active")),o.dataset.link&&st(o),t.n=8;break;case 7:t.p=7,i=t.v,console.error("Failed to mark step as completed:",i);case 8:return t.a(2)}},t,null,[[4,7]])}),ct=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){ot(i,n,o,a,c,"next",t)}function c(t){ot(i,n,o,a,c,"throw",t)}a(void 0)})},ct.apply(this,arguments)}function st(t){var e=t.querySelector(".frm-checklist__step-title");if(null==e||!e.querySelector("a")){var r=q({href:t.dataset.link,className:"frm-h-stack-xs",children:Array.from(e.childNodes)});e.replaceChildren(r)}}function ut(){var t=p(),e=t.welcomeTour,r=t.spotlight;null==e||e.remove(),null==r||r.remove(),Z("dismiss_welcome_tour",new FormData)}function lt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return ft(u,"_invoke",function(r,n,o){var i,c,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,c=0,s=t,p.n=r,a}};function d(r,n){for(c=r,s=n,e=0;!f&&u&&!o&&e3?(o=h===n)&&(s=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>h)&&(i[4]=r,i[5]=n,p.n=h,c=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,h){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,h),c=l,s=h;(e=c<2?t:s)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,s)):p.n=s:p.v=s);try{if(u=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?s:r.call(n,p))!==a)break}catch(e){i=t,c=1,s=e}finally{u=1}}return{value:e,done:f}}}(r,o,i),!0),u}var a={};function c(){}function s(){}function u(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(ft(e={},n,function(){return this}),e),f=u.prototype=c.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,ft(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return s.prototype=u,ft(f,"constructor",u),ft(u,"constructor",s),s.displayName="GeneratorFunction",ft(u,o,"GeneratorFunction"),ft(f),ft(f,o,"Generator"),ft(f,n,function(){return this}),ft(f,"toString",function(){return"[object Generator]"}),(lt=function(){return{w:i,m:p}})()}function ft(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}ft=function(t,e,r,n){function i(e,r){ft(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},ft(t,e,r,n)}function pt(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function dt(){return ht.apply(this,arguments)}function ht(){var t;return t=lt().m(function t(){return lt().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,at("style-form");case 1:window.location.reload();case 2:return t.a(2)}},t)}),ht=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){pt(i,n,o,a,c,"next",t)}function c(t){pt(i,n,o,a,c,"throw",t)}a(void 0)})},ht.apply(this,arguments)}var mt;mt=function(){var t,e;tt(),document.querySelectorAll(".frm-spotlight").forEach(function(t){setTimeout(function(){!function(t){var e=document.querySelector(t.dataset.target);e&&(document.body.appendChild(t),function(t){for(var e=[window],r=t.parentElement;r&&document.body!==r;){var n=getComputedStyle(r),o=n.overflow,i=n.overflowY;(["auto","scroll"].includes(o)||["auto","scroll"].includes(i))&&e.push(r),r=r.parentElement}return e}(e).forEach(function(r){r.addEventListener("scroll",function(){et(t,e),function(t){var e=document.getElementById("frm_top_bar");if(e){var r=t.getBoundingClientRect().top+24<=e.getBoundingClientRect().bottom;r&&!t.classList.contains("frm-fadeout")?(t.classList.remove("frm-fadein"),t.classList.add("frm-fadeout")):r||t.classList.contains("frm-fadein")||(t.classList.remove("frm-fadeout"),t.classList.add("frm-fadein"))}}(t)},{passive:!0})}),window.addEventListener("resize",function(){return et(t,e)},{passive:!0}),setTimeout(function(){et(t,e),t.classList.remove("frm-force-hidden")},200))}(t)},0)}),(e=document.querySelector(".frm-welcome-tour .frm-checklist__progress-fill"))&&(e.style.width="".concat(Q,"%")),document.addEventListener("frm_added_field",function(){return at("add-fields")}),function(){var t=p().checklist;t&&t.querySelector(".frm-checklist__header").addEventListener("click",function(){return function(t){t.classList.toggle("frm-checklist--collapsed")}(t)})}(),(t=p().dismiss)&&t.addEventListener("click",ut),"formidable-styles"===H.get("page")&&K(document.getElementById("frm_submit_side_top"),dt)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",mt):mt())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,c=r,u=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,c,u,s,l,f,h,p=1,d=t.length,y="";for(n=0;n=0),c.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c.width?parseInt(c.width):0);break;case"e":r=c.precision?parseFloat(r).toExponential(c.precision):parseFloat(r).toExponential();break;case"f":r=c.precision?parseFloat(r).toFixed(c.precision):parseFloat(r);break;case"g":r=c.precision?String(Number(r.toPrecision(c.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=c.precision?r.substring(0,c.precision):r;break;case"t":r=String(!!r),r=c.precision?r.substring(0,c.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=c.precision?r.substring(0,c.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=c.precision?r.substring(0,c.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?y+=r:(!o.number.test(c.type)||f&&!c.sign?h="":(h=f?"+":"-",r=r.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",l=c.width-(h+r).length,u=c.width&&l>0?s.repeat(l):"",y+=c.align?h+r+u:"0"===s?h+u+r:u+h+r)}return y}(function(t){if(c[t])return c[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],u=e[2],s=[];if(null===(s=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(u=u.substring(s[0].length));)if(null!==(s=o.key_access.exec(u)))a.push(s[1]);else{if(null===(s=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return c[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";function t(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function e(e){for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==o(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var r=t;return{getElements:function(){return r},addElements:function(t){if("object"!==o(t)||null===t)throw new Error("addElements: newElements must be a non-null object");r=e(e({},r),t)}}}(i),h=f.getElements,p=f.addElements,d=r(8616),y=r.n(d);function m(t){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m(t)}function v(t){var e=function(t){if("object"!=m(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=m(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==m(e)?e:e+""}r(7604),y()(console.error),c={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},u=["(","?"],s={")":["("],":":["?","?:"]},l=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var g={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};var b={contextDelimiter:"",onMissingKey:null};function w(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},b)this.options[r]=void 0!==e&&r in e?e[r]:b[r]}function _(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||c[o]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(O(r)&&L(n))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:n};if(a[r]){var u,s=a[r].handlers;for(u=s.length;u>0&&!(i>=s[u-1].priority);u--);u===s.length?s[u]=c:s.splice(u,0,c),a.__current.forEach((function(t){t.name===r&&t.currentIndex>=u&&t.currentIndex++}))}else a[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,n,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},j=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,o){var i=t[e];if(O(n)&&(r||L(o))){if(!i[n])return 0;var a=0;if(r)a=i[n].handlers.length,i[n]={runs:i[n].runs,handlers:[]};else for(var c=i[n].handlers,u=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach((function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--})))},s=c.length-1;s>=0;s--)u(s);return"hookRemoved"!==n&&t.doAction("hookRemoved",n,o),a}}},P=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some((function(t){return t.namespace===n})):r in o}},F=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,c=new Array(a>1?a-1:0),u=1;u1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=x(x(x({},E),n.data[e]),t),n.data[e][""]=x(x({},E[""]),n.data[e][""])},c=function(t,e){a(t,e),i()},u=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||a(void 0,t),n.dcnpgettext(t,e,r,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,n){var o=u(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+s(n),o,t,e,n)):o};if(r){var f=function(t){k.test(t)&&i()};r.addAction("hookAdded","core/i18n",f),r.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:c,resetLocaleData:function(t,e){n.data={},n.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var n=u(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+s(e),n,t,e)):n},_x:l,_n:function(t,e,n,o){var i=u(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+s(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=u(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,u=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return r&&(u=r.applyFilters("i18n.has_translation",u,t,e,o),u=r.applyFilters("i18n.has_translation_"+s(o),u,t,e,o)),u}}}(0,0,D));C.getLocaleData.bind(C),C.setLocaleData.bind(C),C.resetLocaleData.bind(C),C.subscribe.bind(C);var G=C.__.bind(C),R=(C._x.bind(C),C._n.bind(C),C._nx.bind(C),C.isRTL.bind(C),C.hasTranslation.bind(C),Promise.resolve(),frmDom),B=R.div,M=(R.span,R.tag),q=R.a,z=(R.img,R.svg,frmDom.modal),U=z.maybeCreateModal,Y=(z.footerButton,frmDom.util),$=Y.onClickPreventDefault,K=(Y.documentOn,frmDom.ajax.doJsonPost),Z=new URL(window.location.href).searchParams,H=window.frmGlobal,X=(H.url,H.nonce,window.frmWelcomeTourVars),J=X.IS_DASHBOARD_PAGE,W=X.IS_WELCOME_TOUR_SEEN,V=(X.CHECKLIST_STEPS,X.TOUR_URL),Q=X.PROGRESS_BAR_PERCENT;const tt=function(){var t,e;J&&!W&&function(t){h().beginTourModal||p({beginTourModal:t})}(((t=U("frm_get_started_modal",{title:G("Get Started with Formidable Forms","formidable"),content:(e={className:"frm-px-md",text:G("Here's a quick checklist to help you set up and explore the key features of the plugin, so you can start building powerful forms in no time.","formidable")},M("p",e)),footer:B({className:"frmcenter",child:q({className:"button button-primary frm-button-primary",href:V,text:G("Begin Tour","formidable")})}),width:"440px",dialogClass:"frm-fadein-up-back"})).classList.add("frm_wrap","frm-welcome-tour-modal","frmcenter"),t))};function et(t,e){if(e.offsetParent){var r=e.getBoundingClientRect();if(0!==r.width&&0!==r.height){var n,o=t.dataset.leftPosition;switch(o){case"middle":n=r.left+Math.round(r.width/2);break;case"end":n=r.right;break;default:n=r.left+parseInt(o)}t.style.left="".concat(n||r.left,"px");var i="bottom"===t.dataset.placement?r.top+r.height:r.top+Math.round(r.height/2);t.style.top="".concat(i,"px")}}}function rt(t){return rt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rt(t)}function nt(){nt=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof v?e:v,a=Object.create(i.prototype),c=new F(n||[]);return o(a,"_invoke",{value:O(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",d="executing",y="completed",m={};function v(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var _=Object.getPrototypeOf,x=_&&_(_(A([])));x&&x!==r&&n.call(x,a)&&(w=x);var E=b.prototype=v.prototype=Object.create(w);function k(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==rt(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function O(e,r,n){var o=h;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=S(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?y:p,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=y,n.method="throw",n.arg=s.arg)}}}function S(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,S(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function F(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}function ot(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var it="frm-checklist__step";function at(t){return ct.apply(this,arguments)}function ct(){var t;return t=nt().mark((function t(e){var r,n,o;return nt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(h().checklist){t.next=3;break}return t.abrupt("return");case 3:if(r=document.getElementById("".concat(it,"-").concat(e))){t.next=6;break}return t.abrupt("return");case 6:if(r.classList.contains("".concat(it,"--active"))){t.next=8;break}return t.abrupt("return");case 8:return(n=new FormData).append("step_key",e),t.prev=10,t.next=13,K("mark_checklist_step_as_completed",n);case 13:if(r.classList.remove("".concat(it,"--active")),r.classList.add("".concat(it,"--completed")),o=r.nextElementSibling){t.next=18;break}return t.abrupt("return");case 18:o.classList.add("".concat(it,"--active")),o.dataset.link&&ut(o),t.next=25;break;case 22:t.prev=22,t.t0=t.catch(10),console.error("Failed to mark step as completed:",t.t0);case 25:case"end":return t.stop()}}),t,null,[[10,22]])})),ct=function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ot(i,n,o,a,c,"next",t)}function c(t){ot(i,n,o,a,c,"throw",t)}a(void 0)}))},ct.apply(this,arguments)}function ut(t){var e=t.querySelector(".frm-checklist__step-title");if(null==e||!e.querySelector("a")){var r=q({href:t.dataset.link,className:"frm-h-stack-xs",children:Array.from(e.childNodes)});e.replaceChildren(r)}}function st(){var t=h(),e=t.welcomeTour,r=t.spotlight;null==e||e.remove(),null==r||r.remove(),K("dismiss_welcome_tour",new FormData)}function lt(t){return lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(t)}function ft(){ft=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof v?e:v,a=Object.create(i.prototype),c=new F(n||[]);return o(a,"_invoke",{value:O(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",d="executing",y="completed",m={};function v(){}function g(){}function b(){}var w={};s(w,a,(function(){return this}));var _=Object.getPrototypeOf,x=_&&_(_(A([])));x&&x!==r&&n.call(x,a)&&(w=x);var E=b.prototype=v.prototype=Object.create(w);function k(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==lt(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function O(e,r,n){var o=h;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=S(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?y:p,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=y,n.method="throw",n.arg=s.arg)}}}function S(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,S(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function F(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}function ht(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function pt(){return dt.apply(this,arguments)}function dt(){var t;return t=ft().mark((function t(){return ft().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,at("style-form");case 2:window.location.reload();case 3:case"end":return t.stop()}}),t)})),dt=function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ht(i,n,o,a,c,"next",t)}function c(t){ht(i,n,o,a,c,"throw",t)}a(void 0)}))},dt.apply(this,arguments)}var yt;yt=function(){var t,e;tt(),document.querySelectorAll(".frm-spotlight").forEach((function(t){setTimeout((function(){!function(t){var e=document.querySelector(t.dataset.target);e&&(document.body.appendChild(t),function(t){for(var e=[window],r=t.parentElement;r&&document.body!==r;){var n=getComputedStyle(r),o=n.overflow,i=n.overflowY;(["auto","scroll"].includes(o)||["auto","scroll"].includes(i))&&e.push(r),r=r.parentElement}return e}(e).forEach((function(r){r.addEventListener("scroll",(function(){et(t,e),function(t){var e=document.getElementById("frm_top_bar");if(e){var r=t.getBoundingClientRect().top+24<=e.getBoundingClientRect().bottom;r&&!t.classList.contains("frm-fadeout")?(t.classList.remove("frm-fadein"),t.classList.add("frm-fadeout")):r||t.classList.contains("frm-fadein")||(t.classList.remove("frm-fadeout"),t.classList.add("frm-fadein"))}}(t)}),{passive:!0})})),window.addEventListener("resize",(function(){return et(t,e)}),{passive:!0}),setTimeout((function(){et(t,e),t.classList.remove("frm-force-hidden")}),200))}(t)}),0)})),(e=document.querySelector(".frm-welcome-tour .frm-checklist__progress-fill"))&&(e.style.width="".concat(Q,"%")),document.addEventListener("frm_added_field",(function(){return at("add-fields")})),function(){var t=h().checklist;t&&t.querySelector(".frm-checklist__header").addEventListener("click",(function(){return function(t){t.classList.toggle("frm-checklist--collapsed")}(t)}))}(),(t=h().dismiss)&&t.addEventListener("click",st),"formidable-styles"===Z.get("page")&&$(document.getElementById("frm_submit_side_top"),pt)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",yt):yt())})()})(); \ No newline at end of file From a428c477a711ea498ab32b1d2a2823703608371f Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Thu, 4 Dec 2025 14:15:35 +0300 Subject: [PATCH 32/39] Fix FrmFieldFormHtml.php blank_line_before_statement rule --- classes/models/FrmFieldFormHtml.php | 1 + 1 file changed, 1 insertion(+) diff --git a/classes/models/FrmFieldFormHtml.php b/classes/models/FrmFieldFormHtml.php index 2f65b2c1c7..733f572035 100644 --- a/classes/models/FrmFieldFormHtml.php +++ b/classes/models/FrmFieldFormHtml.php @@ -283,6 +283,7 @@ private function replace_error_shortcode() { if ( empty( $error ) ) { FrmShortcodeHelper::remove_inline_conditions( false, 'error', $error, $this->html ); + return; } From 1360c0bb34d80da58dd009ce90e887d3920e715f Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Thu, 4 Dec 2025 09:13:56 -0400 Subject: [PATCH 33/39] Possible php cs fixer fix --- classes/models/FrmFieldFormHtml.php | 1 + 1 file changed, 1 insertion(+) diff --git a/classes/models/FrmFieldFormHtml.php b/classes/models/FrmFieldFormHtml.php index 733f572035..41e01c3081 100644 --- a/classes/models/FrmFieldFormHtml.php +++ b/classes/models/FrmFieldFormHtml.php @@ -289,6 +289,7 @@ private function replace_error_shortcode() { $include_alert_role_on_field_errors = FrmAppHelper::should_include_alert_role_on_field_errors(); $has_alert_role = false !== strpos( $this->html, 'role="alert"' ); + if ( ! $has_alert_role && $include_alert_role_on_field_errors ) { $error_body = self::get_error_body( $this->html ); if ( is_string( $error_body ) && false === strpos( $error_body, 'role=' ) ) { From e26b042566865d45b879ea1b954f487464eabf02 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Thu, 4 Dec 2025 21:50:27 +0300 Subject: [PATCH 34/39] Filter out empty ariaDescribedBy values --- js/formidable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/formidable.js b/js/formidable.js index db82b62df3..87dc7161c8 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1207,7 +1207,7 @@ function frmFrontFormJS() { function updateInputElementsAriaDescribedBy( el ) { document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ).forEach( input => { let ariaDescribedBy = input.getAttribute( 'aria-describedby' ).split( ' ' ); - ariaDescribedBy = ariaDescribedBy.filter( value => value !== el.id ); + ariaDescribedBy = ariaDescribedBy.filter( value => value.trim() && value !== el.id ); if ( ariaDescribedBy.length ) { input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) ); From 6b1c15c022e9c6c9c8be80f1f0395842d7a2b64d Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Thu, 4 Dec 2025 23:30:28 +0300 Subject: [PATCH 35/39] Make sure ariaDescribedBy attribute is set when error occurs in JS validation --- js/formidable.js | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/js/formidable.js b/js/formidable.js index b8868c0e70..59868f4b90 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1153,10 +1153,8 @@ function frmFrontFormJS() { } container.classList.add( 'frm_blank_field' ); - const input = container.querySelector( 'input, select, textarea' ); - id = getErrorElementId( key, input ); - - describedBy = input ? input.getAttribute( 'aria-describedby' ) : null; + const inputs = container.querySelectorAll( 'input, select, textarea' ); + id = getErrorElementId( key, inputs[0] ); if ( typeof frmThemeOverride_frmPlaceError === 'function' ) { // eslint-disable-line camelcase frmThemeOverride_frmPlaceError( key, jsErrors ); @@ -1169,8 +1167,8 @@ function frmFrontFormJS() { errorHtml = '
                                                        ' + jsErrors[ key ] + '
                                                        '; } container.insertAdjacentHTML( 'beforeend', errorHtml ); - - if ( input ) { + inputs.forEach( input => { + describedBy = input ? input.getAttribute( 'aria-describedby' ) : null; if ( ! describedBy ) { describedBy = id; } else if ( describedBy.indexOf( id ) === -1 && describedBy.indexOf( 'frm_error_field_' ) === -1 ) { @@ -1181,11 +1179,10 @@ function frmFrontFormJS() { describedBy = id + ' ' + describedBy; } } - input.setAttribute( 'aria-describedby', describedBy ); - } + }) } - if ( input ) { + inputs.forEach( input => { if ( [ 'radio', 'checkbox' ].includes( input.type ) ) { const group = input.closest( '[role="radiogroup"], [role="group"]' ); if ( group ) { @@ -1194,7 +1191,7 @@ function frmFrontFormJS() { } else { input.setAttribute( 'aria-invalid', 'true' ); } - } + }) jQuery( document ).trigger( 'frmAddFieldError', [ jQuery( container ), key, jsErrors ] ); } @@ -1209,9 +1206,9 @@ function frmFrontFormJS() { function getErrorElementId( key, input ) { if ( isNaN( key ) || ! input || ! input.id ) { // If key isn't a number, assume it's already in the right format. - return 'frm_error_field_' + key; + return 'frm_error_field_' + key.split( '-' )[0]; } - return 'frm_error_' + input.id; + return 'frm_error_' + input.id.split( '-' )[0]; } /** From d6bf75e5530a9e09f868fc2c5a9036b16bcca34e Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Thu, 4 Dec 2025 23:38:37 +0300 Subject: [PATCH 36/39] Fix all eslint errors --- js/formidable.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/js/formidable.js b/js/formidable.js index 59868f4b90..7e40c22ea7 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1154,7 +1154,7 @@ function frmFrontFormJS() { container.classList.add( 'frm_blank_field' ); const inputs = container.querySelectorAll( 'input, select, textarea' ); - id = getErrorElementId( key, inputs[0] ); + id = getErrorElementId( key, inputs[ 0 ] ); if ( typeof frmThemeOverride_frmPlaceError === 'function' ) { // eslint-disable-line camelcase frmThemeOverride_frmPlaceError( key, jsErrors ); @@ -1179,7 +1179,7 @@ function frmFrontFormJS() { describedBy = id + ' ' + describedBy; } } - }) + } ); } inputs.forEach( input => { @@ -1191,7 +1191,7 @@ function frmFrontFormJS() { } else { input.setAttribute( 'aria-invalid', 'true' ); } - }) + } ); jQuery( document ).trigger( 'frmAddFieldError', [ jQuery( container ), key, jsErrors ] ); } @@ -1206,9 +1206,9 @@ function frmFrontFormJS() { function getErrorElementId( key, input ) { if ( isNaN( key ) || ! input || ! input.id ) { // If key isn't a number, assume it's already in the right format. - return 'frm_error_field_' + key.split( '-' )[0]; + return 'frm_error_field_' + key.split( '-' )[ 0 ]; } - return 'frm_error_' + input.id.split( '-' )[0]; + return 'frm_error_' + input.id.split( '-' )[ 0 ]; } /** From 4e7bf1f09763c79726db04b88895f0a054e55192 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 9 Dec 2025 14:29:49 +0300 Subject: [PATCH 37/39] Make sure aria-describedby is set when using ajax submission --- js/formidable.js | 3 ++- js/formidable_admin.js.map | 8 +------- js/formidable_blocks.js.map | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/js/formidable.js b/js/formidable.js index 7e40c22ea7..e2d841d987 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1179,6 +1179,7 @@ function frmFrontFormJS() { describedBy = id + ' ' + describedBy; } } + input.setAttribute( 'aria-describedby', describedBy ); } ); } @@ -1282,7 +1283,7 @@ function frmFrontFormJS() { document.querySelectorAll( '.form-field' ).forEach( field => { field.classList.remove( 'frm_blank_field', 'has-error' ); } ); - document.querySelectorAll( '.form-field .frm_error' ).forEach( el => { + document.querySelectorAll( '.frm_form_field .frm_error' ).forEach( el => { updateInputElementsAriaDescribedBy( el ); el.remove(); } ); diff --git a/js/formidable_admin.js.map b/js/formidable_admin.js.map index fb287ef443..77c1da8308 100644 --- a/js/formidable_admin.js.map +++ b/js/formidable_admin.js.map @@ -1,7 +1 @@ -{"version":3,"file":"formidable_admin.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YA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DAAiD,mFAAmF,OAAO;;AAEtgB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAY;;AAE1B,cAAc,YAAY;;AAE1B;AACA,aAAa,sDAAsD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4DAA4D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,6EAA6E;AAC1F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8FAA8F;AAC3G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gEAAgE;AAC7E;AACA;AACA;;AAEA,cAAc,kCAAkC;;AAEhD;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA,cAAc,iBAAiB;AAC/B;AACA,cAAc,WAAW;AACzB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB;AACA,cAAc,KAAK;AACnB;AACA,cAAc,OAAO;AACrB,cAAc,gBAAgB;AAC9B;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,YAAY,4BAA4B;AACxC;;AAEO;AACP;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,8CAAM,GAAG;AAC5B;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,m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AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/addon-state.js","webpack://formidable/./js/src/admin/upgrade-popup.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","import { __ } from '@wordpress/i18n';\n\nconst { div } = frmDom;\n\n/**\n * Toggles the state of an add-on (ie. enable or disable an add-on).\n *\n * @param {Element} clicked\n * @param {string} action\n */\nexport function toggleAddonState( clicked, action ) {\n\tconst ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase\n\n\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\tjQuery( '.frm-addon-error' ).remove();\n\tconst button = jQuery( clicked );\n\tconst plugin = button.attr( 'rel' );\n\tconst el = button.parent();\n\tconst message = el.parent().find( '.addon-status-label' );\n\n\tbutton.addClass( 'frm_loading_button' );\n\n\t// Process the Ajax to perform the activation.\n\tjQuery.ajax( {\n\t\turl: ajaxurl,\n\t\ttype: 'POST',\n\t\tasync: true,\n\t\tcache: false,\n\t\tdataType: 'json',\n\t\tdata: {\n\t\t\taction: action,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\tplugin: plugin\n\t\t},\n\t\tsuccess: function( response ) {\n\t\t\tresponse = response?.data ?? response;\n\n\t\t\tlet saveAndReload;\n\n\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t}\n\t\t\t\tresponse = response.message;\n\t\t\t}\n\n\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\tif ( error ) {\n\t\t\t\taddonError( error, el, button );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t/**\n\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t *\n\t\t\t * @param {Object} response\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t},\n\t\terror: function() {\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t}\n\t} );\n}\n\nexport function extractErrorFromAddOnResponse( response ) {\n\tif ( typeof response !== 'string' ) {\n\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( response.form ) {\n\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn false;\n}\n\nexport function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\n\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\taddonStatuses.forEach(\n\t\taddonStatus => {\n\t\t\taddonStatus.textContent = response;\n\t\t\taddonStatus.style.display = 'block';\n\t\t}\n\t);\n\n\t// The Ajax request was successful, so let's update the output.\n\tbutton.css( { opacity: '0' } );\n\n\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\toneClick => {\n\t\t\toneClick.style.display = 'none';\n\t\t}\n\t);\n\n\tjQuery( '#frm_upgrade_modal h2' ).hide();\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon' ).addClass( 'frm_lock_open_icon' );\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_open_icon' );\n\n\t// Proceed with CSS changes\n\tconst actionMap = {\n\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t};\n\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\tconst messageElement = message[ 0 ];\n\tif ( messageElement ) {\n\t\tmessageElement.textContent = actionMap[ action ].message;\n\t}\n\n\tconst parentElement = el[ 0 ].parentElement;\n\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\tparentElement.classList.add( actionMap[ action ].class );\n\n\tconst buttonElement = button[ 0 ];\n\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t// Maybe refresh import and SMTP pages\n\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\tif ( refreshPage.length > 0 ) {\n\t\twindow.location.reload();\n\t\treturn;\n\t}\n\n\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport function addonError( response, el, button ) {\n\tif ( response.form ) {\n\t\tjQuery( '.frm-inline-error' ).remove();\n\t\tbutton.closest( '.frm-card' )\n\t\t\t.html( response.form )\n\t\t\t.css( { padding: 5 } )\n\t\t\t.find( '#upgrade' )\n\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t.on( 'click', installAddonWithCreds );\n\t} else {\n\t\tel.append( '

                                                        ' + response.message + '

                                                        ' );\n\t\tbutton.removeClass( 'frm_loading_button' );\n\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t}\n}\n\nfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\tconst className = 'frm-save-and-reload-options';\n\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\tif ( inModal ) {\n\t\tchildren.push( closePopupButton() );\n\t}\n\treturn div( { className, children } );\n}\n\nfunction saveAndReloadSettingsButton( saveAndReload ) {\n\tconst button = document.createElement( 'button' );\n\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\tbutton.addEventListener( 'click', () => {\n\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\tsaveAndReloadFormBuilder();\n\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\tsaveAndReloadSettings();\n\t\t}\n\t} );\n\treturn button;\n}\n\nfunction saveAndReloadSettings() {\n\tconst page = document.getElementById( 'form_settings_page' );\n\tif ( null !== page ) {\n\t\tconst form = page.querySelector( 'form.frm_form_settings' );\n\t\tif ( null !== form ) {\n\t\t\twp.hooks.doAction( 'frm_reset_fields_updated' );\n\t\t\tform.submit();\n\t\t}\n\t}\n}\n\nfunction closePopupButton() {\n\tconst a = document.createElement( 'a' );\n\ta.setAttribute( 'href', '#' );\n\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\ta.textContent = __( 'Close', 'formidable' );\n\treturn a;\n}\n\nfunction saveAndReloadFormBuilder() {\n\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t}\n\tsubmitButton.click();\n}\n","import { __ } from '@wordpress/i18n';\n\nfunction getShowLinkHrefValue( link, showLink ) {\n\tlet customLink = link.getAttribute( 'data-link' );\n\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t}\n\treturn customLink;\n}\n\n/**\n * Allow addons to be installed from the upgrade modal.\n *\n * @param {Element} link\n * @param {string} context Either 'modal' or 'tab'.\n * @param {string|undefined} upgradeLabel\n */\nexport function addOneClick( link, context, upgradeLabel ) {\n\tlet container;\n\n\tif ( 'modal' === context ) {\n\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t} else if ( 'tab' === context ) {\n\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t} else {\n\t\treturn;\n\t}\n\n\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\tconst button = container.querySelector( '.frm-oneclick-button' );\n\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\tlet newMessage = link.getAttribute( 'data-message' );\n\tlet showIt = 'block';\n\tlet showMsg = 'block';\n\tlet hideIt = 'none';\n\n\t// If one click upgrade, hide other content.\n\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\tif ( newMessage === null ) {\n\t\t\tshowMsg = 'none';\n\t\t}\n\t\tshowIt = 'none';\n\t\thideIt = 'block';\n\t\toneclick = JSON.parse( oneclick );\n\n\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\tbutton.rel = oneclick.url;\n\n\t\tif ( oneclick.class === 'frm-activate-addon' ) {\n\t\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\t\t} else {\n\t\t\toneclickMessage.textContent = __( 'That add-on is not installed. Would you like to install it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Install', 'formidable' );\n\t\t}\n\t}\n\n\tif ( ! newMessage ) {\n\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t}\n\tif ( undefined !== upgradeLabel ) {\n\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t}\n\n\tupgradeMessage.innerHTML = newMessage;\n\n\tif ( link.dataset.upsellImage ) {\n\t\tupgradeMessage.appendChild(\n\t\t\tfrmDom.img( {\n\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\talt: link.dataset.upgrade\n\t\t\t} )\n\t\t);\n\t}\n\n\t// Either set the link or use the default.\n\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\taddonStatus.style.display = 'none';\n\n\toneclickMessage.style.display = hideIt;\n\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\tupgradeMessage.style.display = showMsg;\n\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n}\n\nexport function initModal( id, width ) {\n\tconst $info = jQuery( id );\n\tif ( ! $info.length ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof width === 'undefined' ) {\n\t\twidth = '550px';\n\t}\n\n\tconst dialogArgs = {\n\t\tdialogClass: 'frm-dialog',\n\t\tmodal: true,\n\t\tautoOpen: false,\n\t\tcloseOnEscape: true,\n\t\twidth: width,\n\t\tresizable: false,\n\t\tdraggable: false,\n\t\topen: function() {\n\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\tbindClickForDialogClose( $info );\n\t\t},\n\t\tclose: function() {\n\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\tif ( optionType ) {\n\t\t\t\toptionType.value = '';\n\t\t\t}\n\t\t}\n\t};\n\n\t$info.dialog( dialogArgs );\n\n\treturn $info;\n}\n\nfunction bindClickForDialogClose( $modal ) {\n\tconst closeModal = function() {\n\t\t$modal.dialog( 'close' );\n\t};\n\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t$modal.on( 'click', 'a.dismiss', closeModal );\n}\n\nexport function initUpgradeModal() {\n\tconst $info = initModal( '#frm_upgrade_modal' );\n\tif ( $info === false ) {\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'click', handleUpgradeClick );\n\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\tfunction handleUpgradeClick( event ) {\n\t\tlet element, link, content;\n\n\t\telement = event.target;\n\n\t\tif ( ! element.classList ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\telement = selectedOption;\n\t\t\t}\n\t\t}\n\n\t\tif ( ! element.dataset.upgrade ) {\n\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\tif ( ! parent ) {\n\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\telement.dataset.upgrade = '';\n\t\t\t}\n\t\t\telement = parent;\n\t\t}\n\n\t\tif ( showExpiredModal ) {\n\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\twp.hooks.doAction( hookName, element );\n\t\t\treturn;\n\t\t}\n\n\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst modal = $info.get( 0 );\n\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\tif ( lockIcon ) {\n\t\t\tlockIcon.style.display = 'block';\n\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t}\n\n\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\tif ( oldImage ) {\n\t\t\toldImage.remove();\n\t\t}\n\n\t\tif ( element.dataset.image ) {\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t}\n\t\t\tlockIcon.parentNode.insertBefore( frmDom.img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t}\n\n\t\tconst level = modal.querySelector( '.license-level' );\n\t\tif ( level ) {\n\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t}\n\n\t\t// If one click upgrade, hide other content\n\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image ? 'none' : 'inline-block';\n\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t$info.dialog( 'open' );\n\n\t\t// set the utm medium\n\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\tcontent = element.getAttribute( 'data-content' );\n\t\tif ( content === null ) {\n\t\t\tcontent = '';\n\t\t}\n\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\tbutton.setAttribute( 'href', link );\n\t}\n}\n\nfunction getRequiredLicenseFromTrigger( element ) {\n\tif ( element.dataset.requires ) {\n\t\treturn element.dataset.requires;\n\t}\n\treturn 'Pro';\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\n\t\t\tjQuery( '.frm_bstooltip, .frm_help' ).tooltip();\n\t\t\tjQuery( this ).tooltip( 'show' );\n\t\t} );\n\n\t\tjQuery( '.frm_bstooltip, .frm_help' ).tooltip( );\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-toggle': 'dropdown',\n\t\t\t\t'data-container': 'body'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\tconst fieldArgs = {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak\n\t\t};\n\n\t\t// Only send last row field IDs to update their order if this field isn't added to a repeater.\n\t\tconst isInRepeater = sectionId > 0 && document.getElementById( 'form_id' ).value !== formId;\n\t\tif ( ! isInRepeater ) {\n\t\t\tfieldArgs.last_row_field_ids = getFieldIdsInSubmitRow();\n\t\t}\n\n\t\treturn fieldArgs;\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < 6 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > 6 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// allow 6 if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = 6;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\t\t\t\tul = document.querySelector( '.dropdown.show .frm-dropdown-menu' );\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
                                                      • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
                                                          ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tconst lastRowOrderInput = field.querySelector( '#frm-last-row-fields-order' );\n\t\tif ( lastRowOrderInput ) {\n\t\t\tupdateLastRowFieldsOrder( JSON.parse( lastRowOrderInput.value ) );\n\t\t}\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\tfunction updateLastRowFieldsOrder( fieldsOrder ) {\n\t\tif ( ! fieldsOrder || 'object' !== typeof fieldsOrder ) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys( fieldsOrder ).forEach( fieldId => {\n\t\t\tconst orderInput = document.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\tif ( orderInput ) {\n\t\t\t\torderInput.value = fieldsOrder[ fieldId ];\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\n\t\t\tconst $thisOption = this.closest( '.frm_single_option' );\n\t\t\tif ( $thisOption ) {\n\t\t\t\t$thisOption.after( newOption.newOption );\n\t\t\t} else {\n\t\t\t\t// Backwards compatibility \"@since 6.24\"\n\t\t\t\t// Note: Keep it jQuery since some events are attached to the element\n\t\t\t\tjQuery( `#frm_field_${ fieldId }_opts` ).append( newOption.newOption );\n\t\t\t}\n\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\tfieldOptionEnableAllRemoveButtons( this );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * Enable all remove buttons for field options.\n\t *\n\t * @param {HTMLElement} element The add option button element.\n\t */\n\tfunction fieldOptionEnableAllRemoveButtons( element ) {\n\t\t// Make sure all remove buttons are enabled\n\t\tconst parentEl = element.classList.contains( 'frm-add-option-legacy' ) // Backwards compatibility \"@since 6.24\"\n\t\t\t? element.closest( '.frm-collapse-me' )?.querySelector( '.frm_sortable_field_opts' )\n\t\t\t: element.closest( '.frm_sortable_field_opts' );\n\n\t\tparentEl?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-6.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > 6 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
                                                          ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
                                                          ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) );\n\t\tlet hasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\t/**\n\t * Get multiple options for a field.\n\t *\n\t * @param {string} fieldId The field id.\n\t * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels.\n\t */\n\tfunction getMultipleOpts( fieldId, showValueAsLabel = false ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 || optVals[ i ].name.indexOf( '[value]' ) > 0 || optVals[ i ].name.indexOf( '[image]' ) > 0 || optVals[ i ].name.indexOf( '[price]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\n\t\t\t\tif ( showValueAsLabel && '' === label ) {\n\t\t\t\t\tlabel = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.initUpgradeModal();\n\t}\n\n\tfunction addOneClick( element, type, upgradeLabel ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.addOneClick( element, type, upgradeLabel );\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tconst upgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\n\t\t\tcontainer.appendChild( upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
                                                          ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction resetFieldsUpdated() {\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

                                                          ' + res.data.name + ': ' + res.data.msg + '

                                                          ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

                                                          Imported ' + res.data.name + '

                                                          ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.toggleAddonState( clicked, action );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.afterAddonInstall( response, button, message, el, saveAndReload, action );\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tconst addonState = require( './addon-state' );\n\t\treturn addonState.extractErrorFromAddOnResponse( response );\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.addonError( response, el, button );\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\treturn upgradePopup.initModal( id, width );\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\n\t\t\twp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated );\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tfrmDom.bootstrap.setupBootstrapDropdowns( convertOldBootstrapDropdownsToBootstrap4 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-toggle', 'dropdown' );\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap4( frmDropdownMenu ) {\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
                                                        • and
                                                            tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
                                                              ', '' );\n\t\t\thtml = html.replaceAll( '
                                                            • ', '
                                                              ' );\n\t\t\thtml = html.replaceAll( '
                                                            • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["__","_frmDom","frmDom","div","toggleAddonState","clicked","action","_window$ajaxurl","ajaxurl","window","frm_js","ajax_url","jQuery","remove","button","plugin","attr","el","parent","message","find","addClass","ajax","url","type","async","cache","dataType","data","nonce","frmGlobal","success","response","_response$data","_response","saveAndReload","error","extractErrorFromAddOnResponse","addonError","afterAddonInstall","wp","hooks","doAction","removeClass","form","is","html","arguments","length","undefined","frmAdminJs","frm_admin_js","addonStatuses","document","querySelectorAll","forEach","addonStatus","textContent","style","display","css","opacity","oneClick","hide","actionMap","frm_activate_addon","class","active","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","parentElement","classList","add","buttonElement","refreshPage","location","reload","includes","inModal","closest","appendChild","getSaveAndReloadSettingsOptions","padding","on","installAddonWithCreds","append","delay","fadeOut","className","children","saveAndReloadSettingsButton","push","closePopupButton","createElement","addEventListener","saveAndReloadFormBuilder","saveAndReloadSettings","page","getElementById","querySelector","submit","a","setAttribute","submitButton","contains","click","getShowLinkHrefValue","link","showLink","customLink","getAttribute","addOneClick","context","upgradeLabel","container","substr","oneclickMessage","upgradeMessage","oneclick","newMessage","showIt","showMsg","hideIt","JSON","parse","replace","rel","innerHTML","dataset","upsellImage","img","src","alt","upgrade","href","initModal","id","width","$info","dialogArgs","dialogClass","modal","autoOpen","closeOnEscape","resizable","draggable","open","bindClickForDialogClose","close","removeAttribute","optionType","value","dialog","$modal","closeModal","initUpgradeModal","handleUpgradeClick","util","documentOn","event","element","content","target","showExpiredModal","selectedOption","options","selectedIndex","hookName","preventDefault","get","lockIcon","upgradeImageId","oldImage","image","parentNode","insertBefore","level","getRequiredLicenseFromTrigger","requires","FrmFormsConnect","$","messageBox","reset","setElements","app","init","deauthorize","authorize","reauthorize","pluginSlug","input","license","wpmu","checked","msg","afterAuthorize","showMessage","showProgress","showAuthorized","showInlineSuccess","setTimeout","show","from","to","box","successElement","frmAdminBuild","purifyHtml","confirm","replaceWith","frmAdminBuildJS","tag","span","svg","onClickPreventDefault","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","empty","$obj","firstChild","removeChild","confirmClick","e","stopPropagation","confirmLinkClick","loadedFrom","applyFilters","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","continueButton","createTextNode","removeAtts","infoModal","toggleItem","toggle","text","$items","hideShowItem","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","current","uncheckItem","uncheckItemElement","nodeName","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","tooltip","isTop","suffix","bulkActionSelector","confirmBulkDelete","deleteTooltips","removeMore","parseInt","deleteButton","indexOf","last","fadeEle","$fadeEle","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookArgs","b","popCalcFields","cont","inside","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","allowDrop","parents","nextAll","handle","settings","helper","getDraggableHelper","revert","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","hasAttribute","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","each","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","fieldArgs","field_type","has_break","isInRepeater","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","getDeleteActionOption","getDuplicateActionOption","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","lastRowOrderInput","updateLastRowFieldsOrder","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","addedEvent","frmField","frmSection","frmType","frmToggles","fieldsOrder","_typeof","keys","orderInput","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","updateOpts","addFieldOption","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","$thisOption","fieldOptionEnableAllRemoveButtons","_element$closest","_parentEl$querySelect","parentEl","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","imagePreview","media","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","showValueAsLabel","labelName","optObj","optVals","no_label","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","upgradePopup","require","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","populateUpgradeTab","tab","h2","borderBottom","upgradeModal","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","resetFieldsUpdated","returnValue","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","activateAddon","installAddon","addonState","proceed","hostname","username","password","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","setupBootstrapDropdowns","convertOldBootstrapDropdownsToBootstrap4","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} -======= -{"version":3,"file":"formidable_admin.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B,yC;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA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A;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AA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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/addon-state.js","webpack://formidable/./js/src/admin/upgrade-popup.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","import { __ } from '@wordpress/i18n';\n\nconst { div } = frmDom;\n\n/**\n * Toggles the state of an add-on (ie. enable or disable an add-on).\n *\n * @param {Element} clicked\n * @param {string} action\n */\nexport function toggleAddonState( clicked, action ) {\n\tconst ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase\n\n\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\tjQuery( '.frm-addon-error' ).remove();\n\tconst button = jQuery( clicked );\n\tconst plugin = button.attr( 'rel' );\n\tconst el = button.parent();\n\tconst message = el.parent().find( '.addon-status-label' );\n\n\tbutton.addClass( 'frm_loading_button' );\n\n\t// Process the Ajax to perform the activation.\n\tjQuery.ajax( {\n\t\turl: ajaxurl,\n\t\ttype: 'POST',\n\t\tasync: true,\n\t\tcache: false,\n\t\tdataType: 'json',\n\t\tdata: {\n\t\t\taction: action,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\tplugin: plugin\n\t\t},\n\t\tsuccess: function( response ) {\n\t\t\tresponse = response?.data ?? response;\n\n\t\t\tlet saveAndReload;\n\n\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t}\n\t\t\t\tresponse = response.message;\n\t\t\t}\n\n\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\tif ( error ) {\n\t\t\t\taddonError( error, el, button );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t/**\n\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t *\n\t\t\t * @param {Object} response\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t},\n\t\terror: function() {\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t}\n\t} );\n}\n\nexport function extractErrorFromAddOnResponse( response ) {\n\tif ( typeof response !== 'string' ) {\n\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( response.form ) {\n\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn false;\n}\n\nexport function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\n\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\taddonStatuses.forEach(\n\t\taddonStatus => {\n\t\t\taddonStatus.textContent = response;\n\t\t\taddonStatus.style.display = 'block';\n\t\t}\n\t);\n\n\t// The Ajax request was successful, so let's update the output.\n\tbutton.css( { opacity: '0' } );\n\n\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\toneClick => {\n\t\t\toneClick.style.display = 'none';\n\t\t}\n\t);\n\n\tjQuery( '#frm_upgrade_modal h2' ).hide();\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon' ).addClass( 'frm_lock_open_icon' );\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_open_icon' );\n\n\t// Proceed with CSS changes\n\tconst actionMap = {\n\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t};\n\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\tconst messageElement = message[ 0 ];\n\tif ( messageElement ) {\n\t\tmessageElement.textContent = actionMap[ action ].message;\n\t}\n\n\tconst parentElement = el[ 0 ].parentElement;\n\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\tparentElement.classList.add( actionMap[ action ].class );\n\n\tconst buttonElement = button[ 0 ];\n\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t// Maybe refresh import and SMTP pages\n\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\tif ( refreshPage.length > 0 ) {\n\t\twindow.location.reload();\n\t\treturn;\n\t}\n\n\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport function addonError( response, el, button ) {\n\tif ( response.form ) {\n\t\tjQuery( '.frm-inline-error' ).remove();\n\t\tbutton.closest( '.frm-card' )\n\t\t\t.html( response.form )\n\t\t\t.css( { padding: 5 } )\n\t\t\t.find( '#upgrade' )\n\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t.on( 'click', installAddonWithCreds );\n\t} else {\n\t\tel.append( '

                                                              ' + response.message + '

                                                              ' );\n\t\tbutton.removeClass( 'frm_loading_button' );\n\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t}\n}\n\nfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\tconst className = 'frm-save-and-reload-options';\n\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\tif ( inModal ) {\n\t\tchildren.push( closePopupButton() );\n\t}\n\treturn div( { className, children } );\n}\n\nfunction saveAndReloadSettingsButton( saveAndReload ) {\n\tconst button = document.createElement( 'button' );\n\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\tbutton.addEventListener( 'click', () => {\n\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\tsaveAndReloadFormBuilder();\n\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\tsaveAndReloadSettings();\n\t\t}\n\t} );\n\treturn button;\n}\n\nfunction saveAndReloadSettings() {\n\tconst page = document.getElementById( 'form_settings_page' );\n\tif ( null !== page ) {\n\t\tconst form = page.querySelector( 'form.frm_form_settings' );\n\t\tif ( null !== form ) {\n\t\t\twp.hooks.doAction( 'frm_reset_fields_updated' );\n\t\t\tform.submit();\n\t\t}\n\t}\n}\n\nfunction closePopupButton() {\n\tconst a = document.createElement( 'a' );\n\ta.setAttribute( 'href', '#' );\n\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\ta.textContent = __( 'Close', 'formidable' );\n\treturn a;\n}\n\nfunction saveAndReloadFormBuilder() {\n\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t}\n\tsubmitButton.click();\n}\n","import { __ } from '@wordpress/i18n';\n\nfunction getShowLinkHrefValue( link, showLink ) {\n\tlet customLink = link.getAttribute( 'data-link' );\n\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t}\n\treturn customLink;\n}\n\n/**\n * Allow addons to be installed from the upgrade modal.\n *\n * @param {Element} link\n * @param {string} context Either 'modal' or 'tab'.\n * @param {string|undefined} upgradeLabel\n */\nexport function addOneClick( link, context, upgradeLabel ) {\n\tlet container;\n\n\tif ( 'modal' === context ) {\n\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t} else if ( 'tab' === context ) {\n\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t} else {\n\t\treturn;\n\t}\n\n\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\tconst button = container.querySelector( '.frm-oneclick-button' );\n\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\tlet newMessage = link.getAttribute( 'data-message' );\n\tlet showIt = 'block';\n\tlet showMsg = 'block';\n\tlet hideIt = 'none';\n\n\t// If one click upgrade, hide other content.\n\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\tif ( newMessage === null ) {\n\t\t\tshowMsg = 'none';\n\t\t}\n\t\tshowIt = 'none';\n\t\thideIt = 'block';\n\t\toneclick = JSON.parse( oneclick );\n\n\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\tbutton.rel = oneclick.url;\n\n\t\tif ( oneclick.class === 'frm-activate-addon' ) {\n\t\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\t\t} else {\n\t\t\toneclickMessage.textContent = __( 'That add-on is not installed. Would you like to install it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Install', 'formidable' );\n\t\t}\n\t}\n\n\tif ( ! newMessage ) {\n\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t}\n\tif ( undefined !== upgradeLabel ) {\n\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t}\n\n\tupgradeMessage.innerHTML = newMessage;\n\n\tif ( link.dataset.upsellImage ) {\n\t\tupgradeMessage.appendChild(\n\t\t\tfrmDom.img( {\n\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\talt: link.dataset.upgrade\n\t\t\t} )\n\t\t);\n\t}\n\n\t// Either set the link or use the default.\n\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\taddonStatus.style.display = 'none';\n\n\toneclickMessage.style.display = hideIt;\n\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\tupgradeMessage.style.display = showMsg;\n\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n}\n\nexport function initModal( id, width ) {\n\tconst $info = jQuery( id );\n\tif ( ! $info.length ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof width === 'undefined' ) {\n\t\twidth = '550px';\n\t}\n\n\tconst dialogArgs = {\n\t\tdialogClass: 'frm-dialog',\n\t\tmodal: true,\n\t\tautoOpen: false,\n\t\tcloseOnEscape: true,\n\t\twidth: width,\n\t\tresizable: false,\n\t\tdraggable: false,\n\t\topen: function() {\n\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\tbindClickForDialogClose( $info );\n\t\t},\n\t\tclose: function() {\n\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\tif ( optionType ) {\n\t\t\t\toptionType.value = '';\n\t\t\t}\n\t\t}\n\t};\n\n\t$info.dialog( dialogArgs );\n\n\treturn $info;\n}\n\nfunction bindClickForDialogClose( $modal ) {\n\tconst closeModal = function() {\n\t\t$modal.dialog( 'close' );\n\t};\n\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t$modal.on( 'click', 'a.dismiss', closeModal );\n}\n\nexport function initUpgradeModal() {\n\tconst $info = initModal( '#frm_upgrade_modal' );\n\tif ( $info === false ) {\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'click', handleUpgradeClick );\n\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\tfunction handleUpgradeClick( event ) {\n\t\tlet element, link, content;\n\n\t\telement = event.target;\n\n\t\tif ( ! element.classList ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\telement = selectedOption;\n\t\t\t}\n\t\t}\n\n\t\tif ( ! element.dataset.upgrade ) {\n\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\tif ( ! parent ) {\n\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\telement.dataset.upgrade = '';\n\t\t\t}\n\t\t\telement = parent;\n\t\t}\n\n\t\tif ( showExpiredModal ) {\n\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\twp.hooks.doAction( hookName, element );\n\t\t\treturn;\n\t\t}\n\n\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst modal = $info.get( 0 );\n\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\tif ( lockIcon ) {\n\t\t\tlockIcon.style.display = 'block';\n\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t}\n\n\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\tif ( oldImage ) {\n\t\t\toldImage.remove();\n\t\t}\n\n\t\tif ( element.dataset.image ) {\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t}\n\t\t\tlockIcon.parentNode.insertBefore( frmDom.img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t}\n\n\t\tconst level = modal.querySelector( '.license-level' );\n\t\tif ( level ) {\n\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t}\n\n\t\t// If one click upgrade, hide other content\n\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image ? 'none' : 'inline-block';\n\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t$info.dialog( 'open' );\n\n\t\t// set the utm medium\n\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\tcontent = element.getAttribute( 'data-content' );\n\t\tif ( content === null ) {\n\t\t\tcontent = '';\n\t\t}\n\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\tbutton.setAttribute( 'href', link );\n\t}\n}\n\nfunction getRequiredLicenseFromTrigger( element ) {\n\tif ( element.dataset.requires ) {\n\t\treturn element.dataset.requires;\n\t}\n\treturn 'Pro';\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\n\t\t\tjQuery( '.frm_bstooltip, .frm_help' ).tooltip();\n\t\t\tjQuery( this ).tooltip( 'show' );\n\t\t} );\n\n\t\tjQuery( '.frm_bstooltip, .frm_help' ).each(\n\t\t\tfunction() {\n\t\t\t\tlet tooltipTarget = this;\n\t\t\t\tif ( tooltipTarget.hasAttribute( 'data-toggle' ) ) {\n\t\t\t\t\ttooltipTarget.parentElement.setAttribute( 'title', tooltipTarget.getAttribute( 'title' ) );\n\t\t\t\t\ttooltipTarget.classList.remove( 'frm_bstooltip' );\n\t\t\t\t\ttooltipTarget.parentElement.classList.add( 'frm_bstooltip' );\n\t\t\t\t\ttooltipTarget = tooltipTarget.parentElement;\n\t\t\t\t}\n\n\t\t\t\tjQuery( tooltipTarget ).tooltip();\n\t\t\t}\t\n\t\t);\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-bs-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-bs-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-bs-toggle': 'dropdown',\n\t\t\t\t'data-bs-container': 'body',\n\t\t\t\t'data-bs-display': 'static'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\treturn {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak,\n\t\t\tlast_row_field_ids: getFieldIdsInSubmitRow()\n\t\t};\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < 6 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > 6 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// allow 6 if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = 6;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\n\t\t\t\tul = document.querySelector( '.dropdown .frm-dropdown-menu.show' );\n\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
                                                            • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
                                                                ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\tfield.querySelectorAll( '[data-toggle]' ).forEach(\n\t\t\tfunction( toggle ) {\n\t\t\t\ttoggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) );\n\t\t\t}\n\t\t);\n\n\t\tfield.querySelectorAll( '.frm-dropdown-menu' ).forEach(\n\t\t\tdropdownMenu => {\n\t\t\t\tdropdownMenu.classList.add( 'dropdown-menu' );\n\t\t\t}\n\t\t);\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\t\t\tthis.closest( '.frm_single_option' ).after( newOption.newOption );\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\t// Make sure all remove buttons are enabled\n\t\tthis.closest( '.frm_sortable_field_opts' )?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\n\t\tfieldUpdated();\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-6.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > 6 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
                                                                ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
                                                                ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) );\n\t\tlet hasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\t/**\n\t * Get multiple options for a field.\n\t *\n\t * @param {string} fieldId The field id.\n\t * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels.\n\t */\n\tfunction getMultipleOpts( fieldId, showValueAsLabel = false ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 || optVals[ i ].name.indexOf( '[value]' ) > 0 || optVals[ i ].name.indexOf( '[image]' ) > 0 || optVals[ i ].name.indexOf( '[price]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\n\t\t\t\tif ( showValueAsLabel && '' === label ) {\n\t\t\t\t\tlabel = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.initUpgradeModal();\n\t}\n\n\tfunction addOneClick( element, type, upgradeLabel ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.addOneClick( element, type, upgradeLabel );\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tconst upgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\n\t\t\tcontainer.appendChild( upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
                                                                ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction resetFieldsUpdated() {\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

                                                                ' + res.data.name + ': ' + res.data.msg + '

                                                                ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

                                                                Imported ' + res.data.name + '

                                                                ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.toggleAddonState( clicked, action );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.afterAddonInstall( response, button, message, el, saveAndReload, action );\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tconst addonState = require( './addon-state' );\n\t\treturn addonState.extractErrorFromAddOnResponse( response );\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.addonError( response, el, button );\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\treturn upgradePopup.initModal( id, width );\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\n\t\t\twp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated );\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tdocument.querySelectorAll( '.frm-dropdown-menu' ).forEach( convertOldBootstrapDropdownsToBootstrap4 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-bs-toggle', 'dropdown' );\n\n\t\tdocument.querySelectorAll( '[data-toggle]' ).forEach(\n\t\t\tfunction( toggle ) {\n\t\t\t\ttoggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) );\n\t\t\t}\n\t\t);\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap4( frmDropdownMenu ) {\n\t\t\tfrmDropdownMenu.classList.add( 'dropdown-menu' );\n\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
                                                              • and
                                                                  tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
                                                                    ', '' );\n\t\t\thtml = html.replaceAll( '
                                                                  • ', '
                                                                    ' );\n\t\t\thtml = html.replaceAll( '
                                                                  • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["__","_frmDom","frmDom","div","toggleAddonState","clicked","action","_window$ajaxurl","ajaxurl","window","frm_js","ajax_url","jQuery","remove","button","plugin","attr","el","parent","message","find","addClass","ajax","url","type","async","cache","dataType","data","nonce","frmGlobal","success","response","_response$data","_response","saveAndReload","error","extractErrorFromAddOnResponse","addonError","afterAddonInstall","wp","hooks","doAction","removeClass","form","is","html","arguments","length","undefined","frmAdminJs","frm_admin_js","addonStatuses","document","querySelectorAll","forEach","addonStatus","textContent","style","display","css","opacity","oneClick","hide","actionMap","frm_activate_addon","class","active","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","parentElement","classList","add","buttonElement","refreshPage","location","reload","includes","inModal","closest","appendChild","getSaveAndReloadSettingsOptions","padding","on","installAddonWithCreds","append","delay","fadeOut","className","children","saveAndReloadSettingsButton","push","closePopupButton","createElement","addEventListener","saveAndReloadFormBuilder","saveAndReloadSettings","page","getElementById","querySelector","submit","a","setAttribute","submitButton","contains","click","getShowLinkHrefValue","link","showLink","customLink","getAttribute","addOneClick","context","upgradeLabel","container","substr","oneclickMessage","upgradeMessage","oneclick","newMessage","showIt","showMsg","hideIt","JSON","parse","replace","rel","innerHTML","dataset","upsellImage","img","src","alt","upgrade","href","initModal","id","width","$info","dialogArgs","dialogClass","modal","autoOpen","closeOnEscape","resizable","draggable","open","bindClickForDialogClose","close","removeAttribute","optionType","value","dialog","$modal","closeModal","initUpgradeModal","handleUpgradeClick","util","documentOn","event","element","content","target","showExpiredModal","selectedOption","options","selectedIndex","hookName","preventDefault","get","lockIcon","upgradeImageId","oldImage","image","parentNode","insertBefore","level","getRequiredLicenseFromTrigger","requires","FrmFormsConnect","$","messageBox","reset","setElements","app","init","deauthorize","authorize","reauthorize","pluginSlug","input","license","wpmu","checked","msg","afterAuthorize","showMessage","showProgress","showAuthorized","showInlineSuccess","setTimeout","show","from","to","box","successElement","frmAdminBuild","purifyHtml","confirm","replaceWith","frmAdminBuildJS","tag","span","svg","onClickPreventDefault","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","empty","$obj","firstChild","removeChild","confirmClick","e","stopPropagation","confirmLinkClick","loadedFrom","applyFilters","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","continueButton","createTextNode","removeAtts","infoModal","toggleItem","toggle","text","$items","hideShowItem","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","current","uncheckItem","uncheckItemElement","nodeName","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","tooltip","each","tooltipTarget","hasAttribute","isTop","suffix","bulkActionSelector","confirmBulkDelete","deleteTooltips","removeMore","parseInt","deleteButton","indexOf","last","fadeEle","$fadeEle","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookArgs","b","popCalcFields","cont","inside","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","allowDrop","parents","nextAll","handle","settings","helper","getDraggableHelper","revert","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","field_type","has_break","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","getDeleteActionOption","getDuplicateActionOption","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","dropdownMenu","addedEvent","frmField","frmSection","frmType","frmToggles","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","updateOpts","addFieldOption","_this$closest","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","imagePreview","media","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","showValueAsLabel","labelName","optObj","optVals","no_label","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","upgradePopup","require","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","populateUpgradeTab","tab","h2","borderBottom","upgradeModal","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","_typeof","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","resetFieldsUpdated","returnValue","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","activateAddon","installAddon","addonState","proceed","hostname","username","password","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","keys","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","convertOldBootstrapDropdownsToBootstrap4","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} ->>>>>>> d09ccd132fba0a6716633023b136cfc726479470 -======= -{"version":3,"file":"formidable_admin.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YA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DAAiD,mFAAmF,OAAO;;AAEtgB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAY;;AAE1B,cAAc,YAAY;;AAE1B;AACA,aAAa,sDAAsD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4DAA4D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,6EAA6E;AAC1F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8FAA8F;AAC3G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gEAAgE;AAC7E;AACA;AACA;;AAEA,cAAc,kCAAkC;;AAEhD;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA,cAAc,iBAAiB;AAC/B;AACA,cAAc,WAAW;AACzB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB;AACA,cAAc,KAAK;AACnB;AACA,cAAc,OAAO;AACrB,cAAc,gBAAgB;AAC9B;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,YAAY,4BAA4B;AACxC;;AAEO;AACP;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,8CAAM,GAAG;AAC5B;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,m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AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/addon-state.js","webpack://formidable/./js/src/admin/upgrade-popup.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","import { __ } from '@wordpress/i18n';\n\nconst { div } = frmDom;\n\n/**\n * Toggles the state of an add-on (ie. enable or disable an add-on).\n *\n * @param {Element} clicked\n * @param {string} action\n */\nexport function toggleAddonState( clicked, action ) {\n\tconst ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase\n\n\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\tjQuery( '.frm-addon-error' ).remove();\n\tconst button = jQuery( clicked );\n\tconst plugin = button.attr( 'rel' );\n\tconst el = button.parent();\n\tconst message = el.parent().find( '.addon-status-label' );\n\n\tbutton.addClass( 'frm_loading_button' );\n\n\t// Process the Ajax to perform the activation.\n\tjQuery.ajax( {\n\t\turl: ajaxurl,\n\t\ttype: 'POST',\n\t\tasync: true,\n\t\tcache: false,\n\t\tdataType: 'json',\n\t\tdata: {\n\t\t\taction: action,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\tplugin: plugin\n\t\t},\n\t\tsuccess: function( response ) {\n\t\t\tresponse = response?.data ?? response;\n\n\t\t\tlet saveAndReload;\n\n\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t}\n\t\t\t\tresponse = response.message;\n\t\t\t}\n\n\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\tif ( error ) {\n\t\t\t\taddonError( error, el, button );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t/**\n\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t *\n\t\t\t * @param {Object} response\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t},\n\t\terror: function() {\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t}\n\t} );\n}\n\nexport function extractErrorFromAddOnResponse( response ) {\n\tif ( typeof response !== 'string' ) {\n\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( response.form ) {\n\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn false;\n}\n\nexport function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\n\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\taddonStatuses.forEach(\n\t\taddonStatus => {\n\t\t\taddonStatus.textContent = response;\n\t\t\taddonStatus.style.display = 'block';\n\t\t}\n\t);\n\n\t// The Ajax request was successful, so let's update the output.\n\tbutton.css( { opacity: '0' } );\n\n\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\toneClick => {\n\t\t\toneClick.style.display = 'none';\n\t\t}\n\t);\n\n\tjQuery( '#frm_upgrade_modal h2' ).hide();\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon' ).addClass( 'frm_lock_open_icon' );\n\tjQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_open_icon' );\n\n\t// Proceed with CSS changes\n\tconst actionMap = {\n\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t};\n\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\tconst messageElement = message[ 0 ];\n\tif ( messageElement ) {\n\t\tmessageElement.textContent = actionMap[ action ].message;\n\t}\n\n\tconst parentElement = el[ 0 ].parentElement;\n\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\tparentElement.classList.add( actionMap[ action ].class );\n\n\tconst buttonElement = button[ 0 ];\n\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t// Maybe refresh import and SMTP pages\n\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\tif ( refreshPage.length > 0 ) {\n\t\twindow.location.reload();\n\t\treturn;\n\t}\n\n\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport function addonError( response, el, button ) {\n\tif ( response.form ) {\n\t\tjQuery( '.frm-inline-error' ).remove();\n\t\tbutton.closest( '.frm-card' )\n\t\t\t.html( response.form )\n\t\t\t.css( { padding: 5 } )\n\t\t\t.find( '#upgrade' )\n\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t.on( 'click', installAddonWithCreds );\n\t} else {\n\t\tel.append( '

                                                                    ' + response.message + '

                                                                    ' );\n\t\tbutton.removeClass( 'frm_loading_button' );\n\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t}\n}\n\nfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\tconst className = 'frm-save-and-reload-options';\n\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\tif ( inModal ) {\n\t\tchildren.push( closePopupButton() );\n\t}\n\treturn div( { className, children } );\n}\n\nfunction saveAndReloadSettingsButton( saveAndReload ) {\n\tconst button = document.createElement( 'button' );\n\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\tbutton.addEventListener( 'click', () => {\n\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\tsaveAndReloadFormBuilder();\n\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\tsaveAndReloadSettings();\n\t\t}\n\t} );\n\treturn button;\n}\n\nfunction saveAndReloadSettings() {\n\tconst page = document.getElementById( 'form_settings_page' );\n\tif ( null !== page ) {\n\t\tconst form = page.querySelector( 'form.frm_form_settings' );\n\t\tif ( null !== form ) {\n\t\t\twp.hooks.doAction( 'frm_reset_fields_updated' );\n\t\t\tform.submit();\n\t\t}\n\t}\n}\n\nfunction closePopupButton() {\n\tconst a = document.createElement( 'a' );\n\ta.setAttribute( 'href', '#' );\n\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\ta.textContent = __( 'Close', 'formidable' );\n\treturn a;\n}\n\nfunction saveAndReloadFormBuilder() {\n\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t}\n\tsubmitButton.click();\n}\n","import { __ } from '@wordpress/i18n';\n\nfunction getShowLinkHrefValue( link, showLink ) {\n\tlet customLink = link.getAttribute( 'data-link' );\n\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t}\n\treturn customLink;\n}\n\n/**\n * Allow addons to be installed from the upgrade modal.\n *\n * @param {Element} link\n * @param {string} context Either 'modal' or 'tab'.\n * @param {string|undefined} upgradeLabel\n */\nexport function addOneClick( link, context, upgradeLabel ) {\n\tlet container;\n\n\tif ( 'modal' === context ) {\n\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t} else if ( 'tab' === context ) {\n\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t} else {\n\t\treturn;\n\t}\n\n\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\tconst button = container.querySelector( '.frm-oneclick-button' );\n\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\tlet newMessage = link.getAttribute( 'data-message' );\n\tlet showIt = 'block';\n\tlet showMsg = 'block';\n\tlet hideIt = 'none';\n\n\t// If one click upgrade, hide other content.\n\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\tif ( newMessage === null ) {\n\t\t\tshowMsg = 'none';\n\t\t}\n\t\tshowIt = 'none';\n\t\thideIt = 'block';\n\t\toneclick = JSON.parse( oneclick );\n\n\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\tbutton.rel = oneclick.url;\n\n\t\tif ( oneclick.class === 'frm-activate-addon' ) {\n\t\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\t\t} else {\n\t\t\toneclickMessage.textContent = __( 'That add-on is not installed. Would you like to install it now?', 'formidable' );\n\t\t\tbutton.textContent = __( 'Install', 'formidable' );\n\t\t}\n\t}\n\n\tif ( ! newMessage ) {\n\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t}\n\tif ( undefined !== upgradeLabel ) {\n\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t}\n\n\tupgradeMessage.innerHTML = newMessage;\n\n\tif ( link.dataset.upsellImage ) {\n\t\tupgradeMessage.appendChild(\n\t\t\tfrmDom.img( {\n\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\talt: link.dataset.upgrade\n\t\t\t} )\n\t\t);\n\t}\n\n\t// Either set the link or use the default.\n\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\taddonStatus.style.display = 'none';\n\n\toneclickMessage.style.display = hideIt;\n\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\tupgradeMessage.style.display = showMsg;\n\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n}\n\nexport function initModal( id, width ) {\n\tconst $info = jQuery( id );\n\tif ( ! $info.length ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof width === 'undefined' ) {\n\t\twidth = '550px';\n\t}\n\n\tconst dialogArgs = {\n\t\tdialogClass: 'frm-dialog',\n\t\tmodal: true,\n\t\tautoOpen: false,\n\t\tcloseOnEscape: true,\n\t\twidth: width,\n\t\tresizable: false,\n\t\tdraggable: false,\n\t\topen: function() {\n\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\tbindClickForDialogClose( $info );\n\t\t},\n\t\tclose: function() {\n\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\tif ( optionType ) {\n\t\t\t\toptionType.value = '';\n\t\t\t}\n\t\t}\n\t};\n\n\t$info.dialog( dialogArgs );\n\n\treturn $info;\n}\n\nfunction bindClickForDialogClose( $modal ) {\n\tconst closeModal = function() {\n\t\t$modal.dialog( 'close' );\n\t};\n\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t$modal.on( 'click', 'a.dismiss', closeModal );\n}\n\nexport function initUpgradeModal() {\n\tconst $info = initModal( '#frm_upgrade_modal' );\n\tif ( $info === false ) {\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'click', handleUpgradeClick );\n\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\tfunction handleUpgradeClick( event ) {\n\t\tlet element, link, content;\n\n\t\telement = event.target;\n\n\t\tif ( ! element.classList ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\telement = selectedOption;\n\t\t\t}\n\t\t}\n\n\t\tif ( ! element.dataset.upgrade ) {\n\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\tif ( ! parent ) {\n\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\telement.dataset.upgrade = '';\n\t\t\t}\n\t\t\telement = parent;\n\t\t}\n\n\t\tif ( showExpiredModal ) {\n\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\twp.hooks.doAction( hookName, element );\n\t\t\treturn;\n\t\t}\n\n\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst modal = $info.get( 0 );\n\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\tif ( lockIcon ) {\n\t\t\tlockIcon.style.display = 'block';\n\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t}\n\n\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\tif ( oldImage ) {\n\t\t\toldImage.remove();\n\t\t}\n\n\t\tif ( element.dataset.image ) {\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t}\n\t\t\tlockIcon.parentNode.insertBefore( frmDom.img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t}\n\n\t\tconst level = modal.querySelector( '.license-level' );\n\t\tif ( level ) {\n\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t}\n\n\t\t// If one click upgrade, hide other content\n\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image ? 'none' : 'inline-block';\n\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t$info.dialog( 'open' );\n\n\t\t// set the utm medium\n\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\tcontent = element.getAttribute( 'data-content' );\n\t\tif ( content === null ) {\n\t\t\tcontent = '';\n\t\t}\n\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\tbutton.setAttribute( 'href', link );\n\t}\n}\n\nfunction getRequiredLicenseFromTrigger( element ) {\n\tif ( element.dataset.requires ) {\n\t\treturn element.dataset.requires;\n\t}\n\treturn 'Pro';\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst MAX_FIELD_GROUP_SIZE = 12;\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\t/**\n\t * Load a tooltip for a single element.\n\t *\n\t * @since x.x\n\t *\n\t * @param {HTMLElement} element\n\t * @param {boolean} show\n\t */\n\tfunction loadTooltip( element, show = false ) {\n\t\tlet tooltipTarget = element;\n\n\t\t// Bootstrap 5 does not allow tooltips on dropdown triggers, so move the tooltip to the parent element.\n\t\tif ( tooltipTarget.hasAttribute( 'data-toggle' ) || tooltipTarget.hasAttribute( 'data-bs-toggle' ) ) {\n\t\t\ttooltipTarget.parentElement.setAttribute( 'title', tooltipTarget.getAttribute( 'title' ) );\n\t\t\ttooltipTarget.removeAttribute( 'title' );\n\t\t\ttooltipTarget.classList.remove( 'frm_bstooltip' );\n\t\t\ttooltipTarget.parentElement.classList.add( 'frm_bstooltip' );\n\t\t\ttooltipTarget = tooltipTarget.parentElement;\n\t\t}\n\n\t\tjQuery( tooltipTarget ).tooltip();\n\n\t\tif ( show ) {\n\t\t\tdeleteTooltips();\n\t\t\tjQuery( tooltipTarget ).tooltip( 'show' );\n\t\t}\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\t\t\tloadTooltip( this, true );\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-bs-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-bs-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-bs-toggle': 'dropdown',\n\t\t\t\t'data-bs-container': 'body',\n\t\t\t\t'data-bs-display': 'static'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\tconst fieldArgs = {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak\n\t\t};\n\n\t\t// Only send last row field IDs to update their order if this field isn't added to a repeater.\n\t\tconst isInRepeater = sectionId > 0 && document.getElementById( 'form_id' ).value !== formId;\n\t\tif ( ! isInRepeater ) {\n\t\t\tfieldArgs.last_row_field_ids = getFieldIdsInSubmitRow();\n\t\t}\n\n\t\treturn fieldArgs;\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// Allow the maximum number if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = MAX_FIELD_GROUP_SIZE;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\n\t\t\t\tul = document.querySelector( '.dropdown .frm-dropdown-menu.show' );\n\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
                                                                  • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
                                                                      ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tconst lastRowOrderInput = field.querySelector( '#frm-last-row-fields-order' );\n\t\tif ( lastRowOrderInput ) {\n\t\t\tupdateLastRowFieldsOrder( JSON.parse( lastRowOrderInput.value ) );\n\t\t}\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle, and requires that elements have the dropdown-menu class.\n\t\tfield.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\t\tfield.querySelectorAll( '.frm-dropdown-menu' ).forEach( dropdownMenu => dropdownMenu.classList.add( 'dropdown-menu' ) );\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\tfunction updateLastRowFieldsOrder( fieldsOrder ) {\n\t\tif ( ! fieldsOrder || 'object' !== typeof fieldsOrder ) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys( fieldsOrder ).forEach( fieldId => {\n\t\t\tconst orderInput = document.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\tif ( orderInput ) {\n\t\t\t\torderInput.value = fieldsOrder[ fieldId ];\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\n\t\t\tconst $thisOption = this.closest( '.frm_single_option' );\n\t\t\tif ( $thisOption ) {\n\t\t\t\t$thisOption.after( newOption.newOption );\n\t\t\t} else {\n\t\t\t\t// Backwards compatibility \"@since 6.24\"\n\t\t\t\t// Note: Keep it jQuery since some events are attached to the element\n\t\t\t\tjQuery( `#frm_field_${ fieldId }_opts` ).append( newOption.newOption );\n\t\t\t}\n\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\tfieldOptionEnableAllRemoveButtons( this );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * Enable all remove buttons for field options.\n\t *\n\t * @param {HTMLElement} element The add option button element.\n\t */\n\tfunction fieldOptionEnableAllRemoveButtons( element ) {\n\t\t// Make sure all remove buttons are enabled\n\t\tconst parentEl = element.classList.contains( 'frm-add-option-legacy' ) // Backwards compatibility \"@since 6.24\"\n\t\t\t? element.closest( '.frm-collapse-me' )?.querySelector( '.frm_sortable_field_opts' )\n\t\t\t: element.closest( '.frm_sortable_field_opts' );\n\n\t\tparentEl?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tif ( ! wp?.media || event.target.closest( '.frm_image_preview_wrapper' )?.dataset.upgrade ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tif ( sizeOfFieldGroup <= 6 ) {\n\t\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\t}\n\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\n\t\tif ( size > 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t\treturn wrapper;\n\t\t}\n\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif ( size > 6 ) {\n\t\t\t\t\t// We only show a single option at 6-12, so we use the full width.\n\t\t\t\t\tuseClass = 'frm_full';\n\t\t\t\t} else {\n\t\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {number|undefined} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( size > 6 ) {\n\t\t\treturn 'frm1';\n\t\t}\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > MAX_FIELD_GROUP_SIZE ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
                                                                      ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
                                                                      ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) );\n\t\tlet hasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\t/**\n\t * Get multiple options for a field.\n\t *\n\t * @param {string} fieldId The field id.\n\t * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels.\n\t */\n\tfunction getMultipleOpts( fieldId, showValueAsLabel = false ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' ).filter( '[name*=\"[label]\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\n\t\t\t\tif ( showValueAsLabel && '' === label ) {\n\t\t\t\t\tlabel = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.initUpgradeModal();\n\t}\n\n\tfunction addOneClick( element, type, upgradeLabel ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.addOneClick( element, type, upgradeLabel );\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tconst upgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\n\t\t\tcontainer.appendChild( upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
                                                                      ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction resetFieldsUpdated() {\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

                                                                      ' + res.data.name + ': ' + res.data.msg + '

                                                                      ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

                                                                      Imported ' + res.data.name + '

                                                                      ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.toggleAddonState( clicked, action );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.afterAddonInstall( response, button, message, el, saveAndReload, action );\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tconst addonState = require( './addon-state' );\n\t\treturn addonState.extractErrorFromAddOnResponse( response );\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.addonError( response, el, button );\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\treturn upgradePopup.initModal( id, width );\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\tdocument.addEventListener( 'show.bs.dropdown', function() {\n\t\t\t\t// Fixes issues with tooltips lingering after a dropdown is shown.\n\t\t\t\tdeleteTooltips();\n\t\t\t} );\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\n\t\t\twp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated );\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tdocument.querySelectorAll( '.frm-dropdown-menu' ).forEach( convertOldBootstrapDropdownsToBootstrap5 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-bs-toggle', 'dropdown' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle.\n\t\tdocument.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap5( frmDropdownMenu ) {\n\t\t\tfrmDropdownMenu.classList.add( 'dropdown-menu' );\n\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
                                                                    • and
                                                                        tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
                                                                          ', '' );\n\t\t\thtml = html.replaceAll( '
                                                                        • ', '
                                                                          ' );\n\t\t\thtml = html.replaceAll( '
                                                                        • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["__","_frmDom","frmDom","div","toggleAddonState","clicked","action","_window$ajaxurl","ajaxurl","window","frm_js","ajax_url","jQuery","remove","button","plugin","attr","el","parent","message","find","addClass","ajax","url","type","async","cache","dataType","data","nonce","frmGlobal","success","response","_response$data","_response","saveAndReload","error","extractErrorFromAddOnResponse","addonError","afterAddonInstall","wp","hooks","doAction","removeClass","form","is","html","arguments","length","undefined","frmAdminJs","frm_admin_js","addonStatuses","document","querySelectorAll","forEach","addonStatus","textContent","style","display","css","opacity","oneClick","hide","actionMap","frm_activate_addon","class","active","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","parentElement","classList","add","buttonElement","refreshPage","location","reload","includes","inModal","closest","appendChild","getSaveAndReloadSettingsOptions","padding","on","installAddonWithCreds","append","delay","fadeOut","className","children","saveAndReloadSettingsButton","push","closePopupButton","createElement","addEventListener","saveAndReloadFormBuilder","saveAndReloadSettings","page","getElementById","querySelector","submit","a","setAttribute","submitButton","contains","click","getShowLinkHrefValue","link","showLink","customLink","getAttribute","addOneClick","context","upgradeLabel","container","substr","oneclickMessage","upgradeMessage","oneclick","newMessage","showIt","showMsg","hideIt","JSON","parse","replace","rel","innerHTML","dataset","upsellImage","img","src","alt","upgrade","href","initModal","id","width","$info","dialogArgs","dialogClass","modal","autoOpen","closeOnEscape","resizable","draggable","open","bindClickForDialogClose","close","removeAttribute","optionType","value","dialog","$modal","closeModal","initUpgradeModal","handleUpgradeClick","util","documentOn","event","element","content","target","showExpiredModal","selectedOption","options","selectedIndex","hookName","preventDefault","get","lockIcon","upgradeImageId","oldImage","image","parentNode","insertBefore","level","getRequiredLicenseFromTrigger","requires","FrmFormsConnect","$","messageBox","reset","setElements","app","init","deauthorize","authorize","reauthorize","pluginSlug","input","license","wpmu","checked","msg","afterAuthorize","showMessage","showProgress","showAuthorized","showInlineSuccess","setTimeout","show","from","to","box","successElement","frmAdminBuild","purifyHtml","confirm","replaceWith","frmAdminBuildJS","MAX_FIELD_GROUP_SIZE","tag","span","svg","onClickPreventDefault","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","empty","$obj","firstChild","removeChild","confirmClick","e","stopPropagation","confirmLinkClick","loadedFrom","applyFilters","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","continueButton","createTextNode","removeAtts","infoModal","toggleItem","toggle","text","$items","hideShowItem","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","current","uncheckItem","uncheckItemElement","nodeName","loadTooltip","tooltipTarget","hasAttribute","tooltip","deleteTooltips","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","isTop","suffix","bulkActionSelector","confirmBulkDelete","removeMore","parseInt","deleteButton","indexOf","last","fadeEle","$fadeEle","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookArgs","b","popCalcFields","cont","inside","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","allowDrop","parents","nextAll","handle","settings","helper","getDraggableHelper","revert","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","each","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","fieldArgs","field_type","has_break","isInRepeater","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","getDeleteActionOption","getDuplicateActionOption","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","lastRowOrderInput","updateLastRowFieldsOrder","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","dropdownMenu","addedEvent","frmField","frmSection","frmType","frmToggles","fieldsOrder","_typeof","keys","orderInput","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","updateOpts","addFieldOption","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","$thisOption","fieldOptionEnableAllRemoveButtons","_element$closest","_parentEl$querySelect","parentEl","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","_wp","_event$target$closest","media","imagePreview","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","showValueAsLabel","labelName","optObj","optVals","no_label","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","upgradePopup","require","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","populateUpgradeTab","tab","h2","borderBottom","upgradeModal","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","resetFieldsUpdated","returnValue","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","activateAddon","installAddon","addonState","proceed","hostname","username","password","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","convertOldBootstrapDropdownsToBootstrap5","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} ->>>>>>> master +{"version":3,"file":"formidable_admin.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YA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DAAiD,mFAAmF,OAAO;;AAEtgB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAY;;AAE1B,cAAc,YAAY;;AAE1B;AACA,aAAa,sDAAsD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4DAA4D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,6EAA6E;AAC1F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8FAA8F;AAC3G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gEAAgE;AAC7E;AACA;AACA;;AAEA,cAAc,kCAAkC;;AAEhD;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA,cAAc,iBAAiB;AAC/B;AACA,cAAc,WAAW;AACzB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB;AACA,cAAc,KAAK;AACnB;AACA,cAAc,OAAO;AACrB,cAAc,gBAAgB;AAC9B;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,YAAY,4BAA4B;AACxC;;AAEO;AACP;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,8CAAM,GAAG;AAC5B;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC,cAAc,qBAAqB;AACnC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;;;AAG5B;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,QAAQ;AACrB;;;AAGA;AACA;AACA,sEAAsE,qDAAqD;AAC3H;;AAEA,4DAA4D;AAC5D;AACA,aAAa,eAAe;;;AAG5B;AACA;AACA;AACA;AACA,aAAa,iBAAiB;;;AAG9B;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B,aAAa,kBAAkB;AAC/B,aAAa,kBAAkB;AAC/B;AACA,aAAa,kBAAkB;AAC/B;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;;;AAG9B;AACA;AACA;AACA;AACA,aAAa,IAAI;;;AAGjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,IAAI;;;AAGjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,IAAI;;;AAGjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,KAAK;;;AAGlB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,OAAO;;;AAGpB;AACA;AACA;AACA,aAAa,gBAAgB;;;AAG7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,iBAAiB,QAAQ;AACzB,iBAAiB,QAAQ;AACzB,iBAAiB,QAAQ;AACzB;AACA;AACA,kBAAkB,UAAU;;AAE5B,iBAAiB,GAAG;AACpB;AACA;AACA,kBAAkB,UAAU;;AAE5B,iBAAiB,GAAG;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1cA;AACA;AACA;AAC2C;AAC3C;AACA;AACA;;AAEgD;AAChD,WAAW,wDAAU,uBAAuB,0DAAY;AACxD;AACA;AACA;;AAEA,iEAAe,IAAI,EAAC;AACpB;AACA;AACA;AACA;;AAEA;AACA,aAAa,oCAAoC;AACjD,aAAa,2CAA2C;AACxD,aAAa,6CAA6C;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB;;AAEO;AACP;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,YAAY,qBAAqB;AACjC;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB;;AAEO;AACP;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;;AAEO;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClJoC;AACN;AAC4H;AAC1J;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AAC6B;AACM;AACnC;AACA,qCAAqC;AACrC;AACA;AACA;AACA,WAAW,MAAM;AACjB;;AAEA,mBAAmB,6CAAO,iBAAiB;;AAE3C;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,MAAM;AACjB;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA,2FAA2F,aAAa;AACxG;AACA;;AAEA,WAAW,yDAAiB,OAAO,mDAAS;AAC5C,IAAI;AACJ;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACvCqC;AAErC,IAAAC,OAAA,GAAqBC,MAAM;EAAnBC,GAAG,GAAAF,OAAA,CAAHE,GAAG;EAAEC,GAAG,GAAAH,OAAA,CAAHG,GAAG;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAEC,OAAO,EAAEC,MAAM,EAAG;EAAA,IAAAC,eAAA;EACnD,IAAMC,OAAO,IAAAD,eAAA,GAAGE,MAAM,CAACD,OAAO,cAAAD,eAAA,cAAAA,eAAA,GAAIG,MAAM,CAACC,QAAQ,CAAC,CAAC;;EAEnD;EACAC,MAAM,CAAE,kBAAmB,CAAC,CAACC,MAAM,CAAC,CAAC;EACrC,IAAMC,MAAM,GAAGF,MAAM,CAAEP,OAAQ,CAAC;EAChC,IAAMU,MAAM,GAAGD,MAAM,CAACE,IAAI,CAAE,KAAM,CAAC;EACnC,IAAMC,EAAE,GAAGH,MAAM,CAACI,MAAM,CAAC,CAAC;EAC1B,IAAMC,OAAO,GAAGF,EAAE,CAACC,MAAM,CAAC,CAAC,CAACE,IAAI,CAAE,qBAAsB,CAAC;EAEzDN,MAAM,CAACO,QAAQ,CAAE,oBAAqB,CAAC;;EAEvC;EACAT,MAAM,CAACU,IAAI,CAAE;IACZC,GAAG,EAAEf,OAAO;IACZgB,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,IAAI;IACXC,KAAK,EAAE,KAAK;IACZC,QAAQ,EAAE,MAAM;IAChBC,IAAI,EAAE;MACLtB,MAAM,EAAEA,MAAM;MACduB,KAAK,EAAEC,SAAS,CAACD,KAAK;MACtBd,MAAM,EAAEA;IACT,CAAC;IACDgB,OAAO,EAAE,SAATA,OAAOA,CAAYC,QAAQ,EAAG;MAAA,IAAAC,cAAA,EAAAC,SAAA;MAC7BF,QAAQ,IAAAC,cAAA,IAAAC,SAAA,GAAGF,QAAQ,cAAAE,SAAA,uBAARA,SAAA,CAAUN,IAAI,cAAAK,cAAA,cAAAA,cAAA,GAAID,QAAQ;MAErC,IAAIG,aAAa;MAEjB,IAAK,QAAQ,KAAK,OAAOH,QAAQ,IAAI,QAAQ,KAAK,OAAOA,QAAQ,CAACb,OAAO,EAAG;QAC3E,IAAK,WAAW,KAAK,OAAOa,QAAQ,CAACG,aAAa,EAAG;UACpDA,aAAa,GAAGH,QAAQ,CAACG,aAAa;QACvC;QACAH,QAAQ,GAAGA,QAAQ,CAACb,OAAO;MAC5B;MAEA,IAAMiB,KAAK,GAAGC,6BAA6B,CAAEL,QAAS,CAAC;MACvD,IAAKI,KAAK,EAAG;QACZE,UAAU,CAAEF,KAAK,EAAEnB,EAAE,EAAEH,MAAO,CAAC;QAC/B;MACD;MAEAyB,iBAAiB,CAAEP,QAAQ,EAAElB,MAAM,EAAEK,OAAO,EAAEF,EAAE,EAAEkB,aAAa,EAAE7B,MAAO,CAAC;;MAEzE;AACH;AACA;AACA;AACA;MACGkC,EAAE,CAACC,KAAK,CAACC,QAAQ,CAAE,wBAAwB,EAAEV,QAAS,CAAC;IACxD,CAAC;IACDI,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAa;MACjBtB,MAAM,CAAC6B,WAAW,CAAE,oBAAqB,CAAC;IAC3C;EACD,CAAE,CAAC;AACJ;AAEO,SAASN,6BAA6BA,CAAEL,QAAQ,EAAG;EACzD,IAAK,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACnC,IAAK,OAAOA,QAAQ,CAACD,OAAO,KAAK,WAAW,IAAIC,QAAQ,CAACD,OAAO,EAAG;MAClE,OAAO,KAAK;IACb;IAEA,IAAKC,QAAQ,CAACY,IAAI,EAAG;MACpB,IAAKhC,MAAM,CAAEoB,QAAQ,CAACY,IAAK,CAAC,CAACC,EAAE,CAAE,UAAW,CAAC,EAAG;QAC/C,OAAO;UACN1B,OAAO,EAAEP,MAAM,CAAEoB,QAAQ,CAACY,IAAK,CAAC,CAACxB,IAAI,CAAE,GAAI,CAAC,CAAC0B,IAAI,CAAC;QACnD,CAAC;MACF;IACD;IAEA,OAAOd,QAAQ;EAChB;EAEA,OAAO,KAAK;AACb;AAEO,SAASO,iBAAiBA,CAAEP,QAAQ,EAAElB,MAAM,EAAEK,OAAO,EAAEF,EAAE,EAAEkB,aAAa,EAAkC;EAAA,IAAhC7B,MAAM,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,oBAAoB;EAC7G,IAAMG,UAAU,GAAGC,YAAY,CAAC,CAAC;;EAEjC,IAAMC,aAAa,GAAGC,QAAQ,CAACC,gBAAgB,CAAE,mBAAoB,CAAC;EACtEF,aAAa,CAACG,OAAO,CACpB,UAAAC,WAAW,EAAI;IACdA,WAAW,CAACC,WAAW,GAAGzB,QAAQ;IAClCwB,WAAW,CAACE,KAAK,CAACC,OAAO,GAAG,OAAO;EACpC,CACD,CAAC;;EAED;EACA7C,MAAM,CAAC8C,GAAG,CAAE;IAAEC,OAAO,EAAE;EAAI,CAAE,CAAC;EAE9BR,QAAQ,CAACC,gBAAgB,CAAE,eAAgB,CAAC,CAACC,OAAO,CACnD,UAAAO,QAAQ,EAAI;IACXA,QAAQ,CAACJ,KAAK,CAACC,OAAO,GAAG,MAAM;EAChC,CACD,CAAC;EAEDI,uBAAuB,CAAC,CAAC;;EAEzB;EACA,IAAMC,SAAS,GAAG;IACjBC,kBAAkB,EAAE;MAAEC,KAAK,EAAE,kBAAkB;MAAE/C,OAAO,EAAE+B,UAAU,CAACiB;IAAO,CAAC;IAC7EC,oBAAoB,EAAE;MAAEF,KAAK,EAAE,qBAAqB;MAAE/C,OAAO,EAAE+B,UAAU,CAACmB;IAAU,CAAC;IACrFC,mBAAmB,EAAE;MAAEJ,KAAK,EAAE,yBAAyB;MAAE/C,OAAO,EAAE+B,UAAU,CAACqB;IAAc;EAC5F,CAAC;EACDP,SAAS,CAACQ,iBAAiB,GAAGR,SAAS,CAACC,kBAAkB;EAE1D,IAAMQ,cAAc,GAAGtD,OAAO,CAAE,CAAC,CAAE;EACnC,IAAKsD,cAAc,EAAG;IACrBA,cAAc,CAAChB,WAAW,GAAGO,SAAS,CAAE1D,MAAM,CAAE,CAACa,OAAO;EACzD;EAEA,IAAMuD,aAAa,GAAGzD,EAAE,CAAE,CAAC,CAAE,CAACyD,aAAa;EAC3CA,aAAa,CAACC,SAAS,CAAC9D,MAAM,CAAE,yBAAyB,EAAE,qBAAqB,EAAE,kBAAmB,CAAC;EACtG6D,aAAa,CAACC,SAAS,CAACC,GAAG,CAAEZ,SAAS,CAAE1D,MAAM,CAAE,CAAC4D,KAAM,CAAC;EAExD,IAAMW,aAAa,GAAG/D,MAAM,CAAE,CAAC,CAAE;EACjC+D,aAAa,CAACF,SAAS,CAAC9D,MAAM,CAAE,oBAAqB,CAAC;;EAEtD;EACA,IAAMiE,WAAW,GAAGzB,QAAQ,CAACC,gBAAgB,CAAE,uDAAwD,CAAC;EACxG,IAAKwB,WAAW,CAAC9B,MAAM,GAAG,CAAC,EAAG;IAC7BvC,MAAM,CAACsE,QAAQ,CAACC,MAAM,CAAC,CAAC;IACxB;EACD;EAEA,IAAK,CAAE,UAAU,EAAE,cAAc,CAAE,CAACC,QAAQ,CAAE9C,aAAc,CAAC,EAAG;IAC/DiB,aAAa,CAACG,OAAO,CACpB,UAAAC,WAAW,EAAI;MACd,IAAM0B,OAAO,GAAG,IAAI,KAAK1B,WAAW,CAAC2B,OAAO,CAAE,oBAAqB,CAAC;MACpE3B,WAAW,CAAC4B,WAAW,CAAEC,+BAA+B,CAAElD,aAAa,EAAE+C,OAAQ,CAAE,CAAC;IACrF,CACD,CAAC;EACF;AACD;AAEO,SAAS5C,UAAUA,CAAEN,QAAQ,EAAEf,EAAE,EAAEH,MAAM,EAAG;EAClD,IAAKkB,QAAQ,CAACY,IAAI,EAAG;IACpBhC,MAAM,CAAE,mBAAoB,CAAC,CAACC,MAAM,CAAC,CAAC;IACtCC,MAAM,CAACqE,OAAO,CAAE,WAAY,CAAC,CAC3BrC,IAAI,CAAEd,QAAQ,CAACY,IAAK,CAAC,CACrBgB,GAAG,CAAE;MAAE0B,OAAO,EAAE;IAAE,CAAE,CAAC,CACrBlE,IAAI,CAAE,UAAW,CAAC,CAClBJ,IAAI,CAAE,KAAK,EAAEF,MAAM,CAACE,IAAI,CAAE,KAAM,CAAE,CAAC,CACnCuE,EAAE,CAAE,OAAO,EAAEC,qBAAsB,CAAC;EACvC,CAAC,MAAM;IACNvE,EAAE,CAACwE,MAAM,CAAE,0DAA0D,GAAGzD,QAAQ,CAACb,OAAO,GAAG,qBAAsB,CAAC;IAClHL,MAAM,CAAC6B,WAAW,CAAE,oBAAqB,CAAC;IAC1C/B,MAAM,CAAE,kBAAmB,CAAC,CAAC8E,KAAK,CAAE,IAAK,CAAC,CAACC,OAAO,CAAC,CAAC;EACrD;AACD;AAEA,SAASN,+BAA+BA,CAAElD,aAAa,EAAE+C,OAAO,EAAG;EAClE,IAAMU,SAAS,GAAG,6BAA6B;EAC/C,IAAMC,QAAQ,GAAG,CAAEC,2BAA2B,CAAE3D,aAAc,CAAC,CAAE;EACjE,IAAK+C,OAAO,EAAG;IACdW,QAAQ,CAACE,IAAI,CAAEC,gBAAgB,CAAC,CAAE,CAAC;EACpC;EACA,OAAO9F,GAAG,CAAE;IAAE0F,SAAS,EAATA,SAAS;IAAEC,QAAQ,EAARA;EAAS,CAAE,CAAC;AACtC;AAEA,SAASC,2BAA2BA,CAAE3D,aAAa,EAAG;EACrD,IAAMrB,MAAM,GAAGuC,QAAQ,CAAC4C,aAAa,CAAE,QAAS,CAAC;EACjDnF,MAAM,CAAC6D,SAAS,CAACC,GAAG,CAAE,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,oBAAqB,CAAC;EAC/F9D,MAAM,CAAC2C,WAAW,GAAG1D,mDAAE,CAAE,iBAAiB,EAAE,YAAa,CAAC;EAC1De,MAAM,CAACoF,gBAAgB,CAAE,OAAO,EAAE,YAAM;IACvC,IAAK/D,aAAa,KAAK,cAAc,EAAG;MACvCgE,wBAAwB,CAAC,CAAC;IAC3B,CAAC,MAAM,IAAKhE,aAAa,KAAK,UAAU,EAAG;MAC1CiE,qBAAqB,CAAC,CAAC;IACxB;EACD,CAAE,CAAC;EACH,OAAOtF,MAAM;AACd;AAEA,SAASsF,qBAAqBA,CAAA,EAAG;EAChC,IAAMC,IAAI,GAAGhD,QAAQ,CAACiD,cAAc,CAAE,oBAAqB,CAAC;EAC5D,IAAK,IAAI,KAAKD,IAAI,EAAG;IACpB,IAAMzD,IAAI,GAAGyD,IAAI,CAACE,aAAa,CAAE,wBAAyB,CAAC;IAC3D,IAAK,IAAI,KAAK3D,IAAI,EAAG;MACpBJ,EAAE,CAACC,KAAK,CAACC,QAAQ,CAAE,0BAA2B,CAAC;MAC/CE,IAAI,CAAC4D,MAAM,CAAC,CAAC;IACd;EACD;AACD;AAEA,SAASR,gBAAgBA,CAAA,EAAG;EAC3B,IAAMS,CAAC,GAAGpD,QAAQ,CAAC4C,aAAa,CAAE,GAAI,CAAC;EACvCQ,CAAC,CAACC,YAAY,CAAE,MAAM,EAAE,GAAI,CAAC;EAC7BD,CAAC,CAAC9B,SAAS,CAACC,GAAG,CAAE,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,SAAU,CAAC;EAClF6B,CAAC,CAAChD,WAAW,GAAG1D,mDAAE,CAAE,SAAS,EAAE,YAAa,CAAC;EAC7C,OAAO0G,CAAC;AACT;AAEA,SAASN,wBAAwBA,CAAA,EAAG;EACnC,IAAMQ,YAAY,GAAGtD,QAAQ,CAACiD,cAAc,CAAE,qBAAsB,CAAC;EACrE,IAAKK,YAAY,CAAChC,SAAS,CAACiC,QAAQ,CAAE,iBAAkB,CAAC,EAAG;IAC3DD,YAAY,CAACD,YAAY,CAAE,0BAA0B,EAAE,IAAK,CAAC;EAC9D;EACAC,YAAY,CAACE,KAAK,CAAC,CAAC;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS9C,uBAAuBA,CAAA,EAAG;EAClC,IAAM+C,YAAY,GAAGzD,QAAQ,CAACiD,cAAc,CAAE,mBAAoB,CAAC;EACnE,IAAK,CAAEQ,YAAY,EAAG;IACrB;EACD;EAEAA,YAAY,CAACnC,SAAS,CAACC,GAAG,CAAE,aAAc,CAAC;EAE3C,IAAMmC,cAAc,GAAGD,YAAY,CAACP,aAAa,CAAE,sBAAuB,CAAC;EAC3E,IAAKQ,cAAc,EAAG;IACrB,IAAMC,KAAK,GAAGD,cAAc,CAACR,aAAa,CAAE,KAAM,CAAC;IACnDQ,cAAc,CAACE,eAAe,CAC7BlH,mDAAE,CAAE,mCAAmC,EAAE,YAAa,CAAC,EACvDsD,QAAQ,CAAC4C,aAAa,CAAE,IAAK,CAAC,EAC9BlG,mDAAE,CAAE,0EAA0E,EAAE,YAAa,CAC9F,CAAC;IACD,IAAKiH,KAAK,EAAG;MACZD,cAAc,CAACtB,MAAM,CAAEuB,KAAM,CAAC;IAC/B;EACD;EAEA,IAAME,cAAc,GAAG7D,QAAQ,CAACkD,aAAa,CAAE,mBAAoB,CAAC;EACpE,IAAKW,cAAc,EAAG;IACrBA,cAAc,CAACzD,WAAW,GAAG,EAAE;EAChC;EAEA,IAAM0D,WAAW,GAAGL,YAAY,CAACP,aAAa,CAAE,mBAAoB,CAAC;EACrE,IAAKY,WAAW,EAAG;IAAA,IAAAC,qBAAA;IAClBD,WAAW,CAACxC,SAAS,CAACC,GAAG,CAAE,wBAAyB,CAAC;IACrD,CAAAwC,qBAAA,GAAAD,WAAW,CAACZ,aAAa,CAAE,KAAM,CAAC,cAAAa,qBAAA,eAAlCA,qBAAA,CAAoCC,WAAW,CAAElH,GAAG,CAAE;MAAEmH,IAAI,EAAE;IAAsB,CAAE,CAAE,CAAC;EAC1F;AACD;;;;;;;;;;;;;;;;;;ACzPqC;AAErC,IAAAtH,OAAA,GAAgBC,MAAM;EAAdE,GAAG,GAAAH,OAAA,CAAHG,GAAG;AAEX,SAASoH,oBAAoBA,CAAEC,IAAI,EAAEC,QAAQ,EAAG;EAC/C,IAAIC,UAAU,GAAGF,IAAI,CAACG,YAAY,CAAE,WAAY,CAAC;EACjD,IAAKD,UAAU,KAAK,IAAI,IAAI,OAAOA,UAAU,KAAK,WAAW,IAAIA,UAAU,KAAK,EAAE,EAAG;IACpFA,UAAU,GAAGD,QAAQ,CAACE,YAAY,CAAE,cAAe,CAAC;EACrD;EACA,OAAOD,UAAU;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,WAAWA,CAAEJ,IAAI,EAAEK,OAAO,EAAEC,YAAY,EAAG;EAC1D,IAAIC,SAAS;EACb,IAAK,OAAO,KAAKF,OAAO,EAAG;IAC1BE,SAAS,GAAG1E,QAAQ,CAACiD,cAAc,CAAE,mBAAoB,CAAC;EAC3D,CAAC,MAAM,IAAK,KAAK,KAAKuB,OAAO,EAAG;IAC/BE,SAAS,GAAG1E,QAAQ,CAACiD,cAAc,CAAEkB,IAAI,CAACG,YAAY,CAAE,MAAO,CAAC,CAACK,MAAM,CAAE,CAAE,CAAE,CAAC;EAC/E,CAAC,MAAM;IACN;EACD;EAEA,IAAMC,eAAe,GAAGF,SAAS,CAACxB,aAAa,CAAE,eAAgB,CAAC;EAClE,IAAMQ,cAAc,GAAGgB,SAAS,CAACxB,aAAa,CAAE,sBAAuB,CAAC;EACxE,IAAMkB,QAAQ,GAAGM,SAAS,CAACxB,aAAa,CAAE,mBAAoB,CAAC;EAC/D,IAAMzF,MAAM,GAAGiH,SAAS,CAACxB,aAAa,CAAE,sBAAuB,CAAC;EAChE,IAAM/C,WAAW,GAAGuE,SAAS,CAACxB,aAAa,CAAE,mBAAoB,CAAC;EAElE,IAAI2B,QAAQ,GAAGV,IAAI,CAACG,YAAY,CAAE,eAAgB,CAAC;EACnD,IAAIQ,UAAU,GAAGX,IAAI,CAACG,YAAY,CAAE,cAAe,CAAC;EACpD,IAAIS,MAAM,GAAG,OAAO;EACpB,IAAIC,OAAO,GAAG,OAAO;EACrB,IAAIC,MAAM,GAAG,MAAM;EAEnB,IAAMC,gBAAgB,GAAGR,SAAS,CAACxB,aAAa,CAAE,mBAAoB,CAAC;EACvE,IAAKgC,gBAAgB,EAAG;IAAA,IAAAC,qBAAA;IACvBD,gBAAgB,CAAC5D,SAAS,CAAC9D,MAAM,CAAE,wBAAyB,CAAC;IAC7D,CAAA2H,qBAAA,GAAAD,gBAAgB,CAAChC,aAAa,CAAE,KAAM,CAAC,cAAAiC,qBAAA,eAAvCA,qBAAA,CAAyCnB,WAAW,CAAElH,GAAG,CAAE;MAAEmH,IAAI,EAAE;IAAwB,CAAE,CAAE,CAAC;EACjG;EAEA,IAAMmB,aAAa,GAAGV,SAAS,CAACxB,aAAa,CAAE,iBAAkB,CAAC;EAClE,IAAKkC,aAAa,EAAG;IACpBA,aAAa,CAACnB,IAAI,GAAGE,IAAI,CAACkB,OAAO,CAACC,SAAS;EAC5C;;EAEA;EACA,IAAKV,eAAe,KAAK,IAAI,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAIA,QAAQ,EAAG;IAC9E,IAAKC,UAAU,KAAK,IAAI,EAAG;MAC1BE,OAAO,GAAG,MAAM;IACjB;IACAD,MAAM,GAAG,MAAM;IACfE,MAAM,GAAG,OAAO;IAChBJ,QAAQ,GAAGU,IAAI,CAACC,KAAK,CAAEX,QAAS,CAAC;IAEjCpH,MAAM,CAAC8E,SAAS,GAAG9E,MAAM,CAAC8E,SAAS,CAACkD,OAAO,CAAE,oBAAoB,EAAE,EAAG,CAAC,CAACA,OAAO,CAAE,qBAAqB,EAAE,EAAG,CAAC;IAC5GhI,MAAM,CAAC8E,SAAS,GAAG9E,MAAM,CAAC8E,SAAS,GAAG,GAAG,GAAGsC,QAAQ,CAAChE,KAAK;IAC1DpD,MAAM,CAACiI,GAAG,GAAGb,QAAQ,CAAC3G,GAAG;IAEzB0G,eAAe,CAACxE,WAAW,GAAG1D,mDAAE,CAAE,kEAAkE,EAAE,YAAa,CAAC;IACpHe,MAAM,CAAC2C,WAAW,GAAG1D,mDAAE,CAAE,UAAU,EAAE,YAAa,CAAC;IAEnD,IAAMiJ,QAAQ,GAAGxB,IAAI,CAACjB,aAAa,CAAE,KAAM,CAAC;IAC5C,IAAKyC,QAAQ,EAAG;MACfT,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEhC,aAAa,CAAE,KAAM,CAAC,CAACc,WAAW,CACnDlH,GAAG,CAAE;QACJmH,IAAI,EAAE0B,QAAQ,CAACrB,YAAY,CAAE,MAAO,CAAC,IAAIqB,QAAQ,CAACrB,YAAY,CAAE,YAAa,CAAC;QAAE;QAChFhD,SAAS,EAAE,CAAE,WAAW;MACzB,CAAE,CACH,CAAC;IACF;EACD;EAEA,IAAK,CAAEwD,UAAU,EAAG;IACnBA,UAAU,GAAGpB,cAAc,CAACY,YAAY,CAAE,cAAe,CAAC;EAC3D;EACA,IAAK1E,SAAS,KAAK6E,YAAY,EAAG;IACjCK,UAAU,GAAGA,UAAU,CAACW,OAAO,CAAE,yCAAyC,EAAEhB,YAAa,CAAC;EAC3F;EAEAf,cAAc,CAACkC,SAAS,GAAGd,UAAU;EAErC,IAAKX,IAAI,CAACkB,OAAO,CAACQ,WAAW,EAAG;IAC/BnC,cAAc,CAAC3B,WAAW,CACzBnF,MAAM,CAACkJ,GAAG,CAAE;MACXC,GAAG,EAAE5B,IAAI,CAACkB,OAAO,CAACQ,WAAW;MAC7BG,GAAG,EAAE7B,IAAI,CAACkB,OAAO,CAACY;IACnB,CAAE,CACH,CAAC;EACF;;EAEA;EACA7B,QAAQ,CAACH,IAAI,GAAGC,oBAAoB,CAAEC,IAAI,EAAEC,QAAS,CAAC;EAEtDjE,WAAW,CAACE,KAAK,CAACC,OAAO,GAAG,MAAM;EAElCsE,eAAe,CAACvE,KAAK,CAACC,OAAO,GAAG2E,MAAM;EACtCxH,MAAM,CAAC4C,KAAK,CAACC,OAAO,GAAG2E,MAAM,KAAK,OAAO,GAAG,cAAc,GAAGA,MAAM;EACnEvB,cAAc,CAACrD,KAAK,CAACC,OAAO,GAAG0E,OAAO;EACtCZ,QAAQ,CAAC/D,KAAK,CAACC,OAAO,GAAGyE,MAAM,KAAK,OAAO,GAAG,cAAc,GAAGA,MAAM;EAErE,IAAMmB,cAAc,GAAG9B,QAAQ,CAACtC,OAAO,CAAE,4BAA6B,CAAC;EACvE,IAAKoE,cAAc,EAAG;IACrBA,cAAc,CAAC7F,KAAK,CAACC,OAAO,GAAGyE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAGA,MAAM;EACpE;AACD;AAEO,SAASoB,SAASA,CAAEC,EAAE,EAAEC,KAAK,EAAG;EACtC,IAAMC,KAAK,GAAG/I,MAAM,CAAE6I,EAAG,CAAC;EAC1B,IAAK,CAAEE,KAAK,CAAC3G,MAAM,EAAG;IACrB,OAAO,KAAK;EACb;EAEA,IAAK,OAAO0G,KAAK,KAAK,WAAW,EAAG;IACnCA,KAAK,GAAG,OAAO;EAChB;EAEA,IAAME,UAAU,GAAG;IAClBC,WAAW,EAAE,YAAY;IACzBC,KAAK,EAAE,IAAI;IACXC,QAAQ,EAAE,KAAK;IACfC,aAAa,EAAE,IAAI;IACnBN,KAAK,EAAEA,KAAK;IACZO,SAAS,EAAE,KAAK;IAChBC,SAAS,EAAE,KAAK;IAChBC,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAa;MAChBvJ,MAAM,CAAE,qBAAsB,CAAC,CAACS,QAAQ,CAAE,YAAa,CAAC,CAACsB,WAAW,CAAE,oBAAqB,CAAC;MAC5F/B,MAAM,CAAE,SAAU,CAAC,CAACS,QAAQ,CAAE,aAAc,CAAC;MAC7CT,MAAM,CAAE,aAAc,CAAC,CAAC+B,WAAW,CAAE,2CAA4C,CAAC;MAClFgH,KAAK,CAAChH,WAAW,CAAE,qCAAsC,CAAC;MAC1DyH,uBAAuB,CAAET,KAAM,CAAC;IACjC,CAAC;IACDU,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAa;MACjBzJ,MAAM,CAAE,SAAU,CAAC,CAAC+B,WAAW,CAAE,aAAc,CAAC;MAChD/B,MAAM,CAAE,UAAW,CAAC,CAACgD,GAAG,CAAE,YAAY,EAAE,QAAS,CAAC;MAElD,IAAI,CAAC0G,eAAe,CAAE,kBAAmB,CAAC;MAC1C,IAAMC,UAAU,GAAGlH,QAAQ,CAACiD,cAAc,CAAE,kBAAmB,CAAC;MAChE,IAAKiE,UAAU,EAAG;QACjBA,UAAU,CAACC,KAAK,GAAG,EAAE;MACtB;IACD;EACD,CAAC;EAEDb,KAAK,CAACc,MAAM,CAAEb,UAAW,CAAC;EAE1B,OAAOD,KAAK;AACb;AAEA,SAASS,uBAAuBA,CAAEM,MAAM,EAAG;EAC1C,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAc;IAC7BD,MAAM,CAACD,MAAM,CAAE,OAAQ,CAAC;EACzB,CAAC;EACD7J,MAAM,CAAE,oBAAqB,CAAC,CAAC2E,EAAE,CAAE,OAAO,EAAEoF,UAAW,CAAC;EACxDD,MAAM,CAACnF,EAAE,CAAE,OAAO,EAAE,WAAW,EAAEoF,UAAW,CAAC;AAC9C;AAEO,SAASC,gBAAgBA,CAAA,EAAG;EAClC,IAAMjB,KAAK,GAAGH,SAAS,CAAE,oBAAqB,CAAC;EAC/C,IAAKG,KAAK,KAAK,KAAK,EAAG;IACtB;EACD;EAEAtG,QAAQ,CAAC6C,gBAAgB,CAAE,OAAO,EAAE2E,kBAAmB,CAAC;EACxD5K,MAAM,CAAC6K,IAAI,CAACC,UAAU,CAAE,QAAQ,EAAE,gCAAgC,EAAEF,kBAAmB,CAAC;EAExF,SAASA,kBAAkBA,CAAEG,KAAK,EAAG;IACpC,IAAIC,OAAO,EAAEzD,IAAI,EAAE0D,OAAO;IAE1BD,OAAO,GAAGD,KAAK,CAACG,MAAM;IAEtB,IAAK,CAAEF,OAAO,CAACtG,SAAS,EAAG;MAC1B;IACD;IAEA,IAAMyG,gBAAgB,GAAGH,OAAO,CAACtG,SAAS,CAACiC,QAAQ,CAAE,wBAAyB,CAAC,IAAI,IAAI,KAAKqE,OAAO,CAAC1E,aAAa,CAAE,yBAA0B,CAAC,IAAI0E,OAAO,CAAC9F,OAAO,CAAE,yBAA0B,CAAC;;IAE9L;IACA,IAAK6F,KAAK,CAACxJ,IAAI,KAAK,QAAQ,IAAIyJ,OAAO,CAACtG,SAAS,CAACiC,QAAQ,CAAE,yBAA0B,CAAC,EAAG;MACzF,IAAMyE,cAAc,GAAGJ,OAAO,CAACK,OAAO,CAAEL,OAAO,CAACM,aAAa,CAAE;MAC/D,IAAKF,cAAc,IAAIA,cAAc,CAAC3C,OAAO,CAACY,OAAO,EAAG;QACvD2B,OAAO,GAAGI,cAAc;MACzB;IACD;IAEA,IAAK,CAAEJ,OAAO,CAACvC,OAAO,CAACY,OAAO,EAAG;MAChC,IAAIpI,MAAM,GAAG+J,OAAO,CAAC9F,OAAO,CAAE,gBAAiB,CAAC;MAChD,IAAK,CAAEjE,MAAM,EAAG;QACfA,MAAM,GAAG+J,OAAO,CAAC9F,OAAO,CAAE,gBAAiB,CAAC;QAC5C,IAAK,CAAEjE,MAAM,EAAG;UACf;QACD;QACA;QACA+J,OAAO,CAACvC,OAAO,CAACY,OAAO,GAAG,EAAE;MAC7B;MACA2B,OAAO,GAAG/J,MAAM;IACjB;IAEA,IAAKkK,gBAAgB,EAAG;MACvB,IAAMI,QAAQ,GAAG,wBAAwB;MACzChJ,EAAE,CAACC,KAAK,CAACC,QAAQ,CAAE8I,QAAQ,EAAEP,OAAQ,CAAC;MACtC;IACD;IAEA,IAAMnD,YAAY,GAAGmD,OAAO,CAACvC,OAAO,CAACY,OAAO;IAC5C,IAAK,CAAExB,YAAY,IAAImD,OAAO,CAACtG,SAAS,CAACiC,QAAQ,CAAE,sBAAuB,CAAC,EAAG;MAC7E;IACD;IAEAoE,KAAK,CAACS,cAAc,CAAC,CAAC;IAEtB,IAAM3B,KAAK,GAAGH,KAAK,CAAC+B,GAAG,CAAE,CAAE,CAAC;IAC5B,IAAMC,QAAQ,GAAG7B,KAAK,CAACvD,aAAa,CAAE,gBAAiB,CAAC;IAExD,IAAKoF,QAAQ,EAAG;MACfA,QAAQ,CAACjI,KAAK,CAACC,OAAO,GAAG,OAAO;MAChCgI,QAAQ,CAAChH,SAAS,CAAC9D,MAAM,CAAE,oBAAqB,CAAC;MACjD8K,QAAQ,CAACpF,aAAa,CAAE,KAAM,CAAC,CAACG,YAAY,CAAE,MAAM,EAAE,gBAAiB,CAAC;IACzE;IAEA,IAAMkF,cAAc,GAAG,yBAAyB;IAChD,IAAMC,QAAQ,GAAGxI,QAAQ,CAACiD,cAAc,CAAEsF,cAAe,CAAC;IAC1D,IAAKC,QAAQ,EAAG;MACfA,QAAQ,CAAChL,MAAM,CAAC,CAAC;IAClB;IAEA,IAAKoK,OAAO,CAACvC,OAAO,CAAC1B,KAAK,EAAG;MAC5B,IAAK2E,QAAQ,EAAG;QACfA,QAAQ,CAACjI,KAAK,CAACC,OAAO,GAAG,MAAM;MAChC;MACAgI,QAAQ,CAACG,UAAU,CAACC,YAAY,CAAE9L,MAAM,CAACkJ,GAAG,CAAE;QAAEM,EAAE,EAAEmC,cAAc;QAAExC,GAAG,EAAEtH,SAAS,CAACP,GAAG,GAAG,UAAU,GAAG0J,OAAO,CAACvC,OAAO,CAAC1B;MAAM,CAAE,CAAC,EAAE2E,QAAS,CAAC;IAC5I;IAEA,IAAMK,KAAK,GAAGlC,KAAK,CAACvD,aAAa,CAAE,gBAAiB,CAAC;IACrD,IAAKyF,KAAK,EAAG;MACZA,KAAK,CAACvI,WAAW,GAAGwI,6BAA6B,CAAEhB,OAAQ,CAAC;IAC7D;;IAEA;IACArD,WAAW,CAAEqD,OAAO,EAAE,OAAO,EAAEnD,YAAa,CAAC;IAE7CgC,KAAK,CAACvD,aAAa,CAAE,wBAAyB,CAAC,CAAC7C,KAAK,CAACC,OAAO,GAAGsH,OAAO,CAACvC,OAAO,CAAC1B,KAAK,IAAIiE,OAAO,CAACvC,OAAO,CAACR,QAAQ,GAAG,MAAM,GAAG,cAAc;IAC3I4B,KAAK,CAACvD,aAAa,CAAE,iCAAkC,CAAC,CAAC7C,KAAK,CAACC,OAAO,GAAGsH,OAAO,CAACvC,OAAO,CAACR,QAAQ,GAAG,QAAQ,GAAG,MAAM;IACrH4B,KAAK,CAACvD,aAAa,CAAE,oBAAqB,CAAC,CAAC9C,WAAW,GAAGqE,YAAY;IACtEgC,KAAK,CAACvD,aAAa,CAAE,iCAAkC,CAAC,CAAC7C,KAAK,CAACC,OAAO,GAAG,MAAM;IAC/EmG,KAAK,CAACvD,aAAa,CAAE,IAAK,CAAC,CAAC7C,KAAK,CAACC,OAAO,GAAG,OAAO;IAEnDgG,KAAK,CAACc,MAAM,CAAE,MAAO,CAAC;;IAEtB;IACA,IAAM3J,MAAM,GAAGgJ,KAAK,CAACvD,aAAa,CAAE,2CAA4C,CAAC;IACjFiB,IAAI,GAAG1G,MAAM,CAAC6G,YAAY,CAAE,MAAO,CAAC,CAACmB,OAAO,CAAE,qBAAqB,EAAE,IAAI,GAAGmC,OAAO,CAACtD,YAAY,CAAE,aAAc,CAAE,CAAC;IACnHuD,OAAO,GAAGD,OAAO,CAACtD,YAAY,CAAE,cAAe,CAAC;IAChD,IAAKuD,OAAO,KAAK,IAAI,EAAG;MACvBA,OAAO,GAAG,EAAE;IACb;IACA1D,IAAI,GAAGA,IAAI,CAACsB,OAAO,CAAE,sBAAsB,EAAE,IAAI,GAAGoC,OAAQ,CAAC;IAC7DpK,MAAM,CAAC4F,YAAY,CAAE,MAAM,EAAEc,IAAK,CAAC;EACpC;AACD;AAEA,SAASyE,6BAA6BA,CAAEhB,OAAO,EAAG;EACjD,IAAKA,OAAO,CAACvC,OAAO,CAACwD,QAAQ,EAAG;IAC/B,OAAOjB,OAAO,CAACvC,OAAO,CAACwD,QAAQ;EAChC;EACA,OAAO,KAAK;AACb;;;;;;;;;;AChRA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;;AAEA,YAAY,4BAA4B;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;;ACJqD;AACrD;AACA,+BAA+B,gEAAgB;A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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/addon-state.js","webpack://formidable/./js/src/admin/upgrade-popup.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","import { __ } from '@wordpress/i18n';\n\nconst { div, svg } = frmDom;\n\n/**\n * Toggles the state of an add-on (ie. enable or disable an add-on).\n *\n * @param {Element} clicked\n * @param {string} action\n */\nexport function toggleAddonState( clicked, action ) {\n\tconst ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase\n\n\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\tjQuery( '.frm-addon-error' ).remove();\n\tconst button = jQuery( clicked );\n\tconst plugin = button.attr( 'rel' );\n\tconst el = button.parent();\n\tconst message = el.parent().find( '.addon-status-label' );\n\n\tbutton.addClass( 'frm_loading_button' );\n\n\t// Process the Ajax to perform the activation.\n\tjQuery.ajax( {\n\t\turl: ajaxurl,\n\t\ttype: 'POST',\n\t\tasync: true,\n\t\tcache: false,\n\t\tdataType: 'json',\n\t\tdata: {\n\t\t\taction: action,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\tplugin: plugin\n\t\t},\n\t\tsuccess: function( response ) {\n\t\t\tresponse = response?.data ?? response;\n\n\t\t\tlet saveAndReload;\n\n\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t}\n\t\t\t\tresponse = response.message;\n\t\t\t}\n\n\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\tif ( error ) {\n\t\t\t\taddonError( error, el, button );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t/**\n\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t *\n\t\t\t * @param {Object} response\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t},\n\t\terror: function() {\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t}\n\t} );\n}\n\nexport function extractErrorFromAddOnResponse( response ) {\n\tif ( typeof response !== 'string' ) {\n\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( response.form ) {\n\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn false;\n}\n\nexport function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\n\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\taddonStatuses.forEach(\n\t\taddonStatus => {\n\t\t\taddonStatus.textContent = response;\n\t\t\taddonStatus.style.display = 'block';\n\t\t}\n\t);\n\n\t// The Ajax request was successful, so let's update the output.\n\tbutton.css( { opacity: '0' } );\n\n\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\toneClick => {\n\t\t\toneClick.style.display = 'none';\n\t\t}\n\t);\n\n\tshowUpgradeModalSuccess();\n\n\t// Proceed with CSS changes\n\tconst actionMap = {\n\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t};\n\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\tconst messageElement = message[ 0 ];\n\tif ( messageElement ) {\n\t\tmessageElement.textContent = actionMap[ action ].message;\n\t}\n\n\tconst parentElement = el[ 0 ].parentElement;\n\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\tparentElement.classList.add( actionMap[ action ].class );\n\n\tconst buttonElement = button[ 0 ];\n\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t// Maybe refresh import and SMTP pages\n\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\tif ( refreshPage.length > 0 ) {\n\t\twindow.location.reload();\n\t\treturn;\n\t}\n\n\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport function addonError( response, el, button ) {\n\tif ( response.form ) {\n\t\tjQuery( '.frm-inline-error' ).remove();\n\t\tbutton.closest( '.frm-card' )\n\t\t\t.html( response.form )\n\t\t\t.css( { padding: 5 } )\n\t\t\t.find( '#upgrade' )\n\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t.on( 'click', installAddonWithCreds );\n\t} else {\n\t\tel.append( '

                                                                          ' + response.message + '

                                                                          ' );\n\t\tbutton.removeClass( 'frm_loading_button' );\n\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t}\n}\n\nfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\tconst className = 'frm-save-and-reload-options';\n\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\tif ( inModal ) {\n\t\tchildren.push( closePopupButton() );\n\t}\n\treturn div( { className, children } );\n}\n\nfunction saveAndReloadSettingsButton( saveAndReload ) {\n\tconst button = document.createElement( 'button' );\n\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\tbutton.addEventListener( 'click', () => {\n\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\tsaveAndReloadFormBuilder();\n\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\tsaveAndReloadSettings();\n\t\t}\n\t} );\n\treturn button;\n}\n\nfunction saveAndReloadSettings() {\n\tconst page = document.getElementById( 'form_settings_page' );\n\tif ( null !== page ) {\n\t\tconst form = page.querySelector( 'form.frm_form_settings' );\n\t\tif ( null !== form ) {\n\t\t\twp.hooks.doAction( 'frm_reset_fields_updated' );\n\t\t\tform.submit();\n\t\t}\n\t}\n}\n\nfunction closePopupButton() {\n\tconst a = document.createElement( 'a' );\n\ta.setAttribute( 'href', '#' );\n\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\ta.textContent = __( 'Not Now', 'formidable' );\n\treturn a;\n}\n\nfunction saveAndReloadFormBuilder() {\n\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t}\n\tsubmitButton.click();\n}\n\n/**\n * Updates the upgrade modal to show successful addon installation state.\n *\n * @private\n * @return {void}\n */\nfunction showUpgradeModalSuccess() {\n\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\tif ( ! upgradeModal ) {\n\t\treturn;\n\t}\n\n\tupgradeModal.classList.add( 'frm-success' );\n\n\tconst upgradeMessage = upgradeModal.querySelector( '.frm-upgrade-message' );\n\tif ( upgradeMessage ) {\n\t\tconst image = upgradeMessage.querySelector( 'img' );\n\t\tupgradeMessage.replaceChildren(\n\t\t\t__( 'Great! Everything\\'s ready to go!', 'formidable' ),\n\t\t\tdocument.createElement( 'br' ),\n\t\t\t__( 'You just need to refresh the builder so the new field becomes available.', 'formidable' )\n\t\t);\n\t\tif ( image ) {\n\t\t\tupgradeMessage.append( image );\n\t\t}\n\t}\n\n\tconst frmAddonStatus = document.querySelector( '.frm-addon-status' );\n\tif ( frmAddonStatus ) {\n\t\tfrmAddonStatus.textContent = '';\n\t}\n\n\tconst circledIcon = upgradeModal.querySelector( '.frm-circled-icon' );\n\tif ( circledIcon ) {\n\t\tcircledIcon.classList.add( 'frm-circled-icon-green' );\n\t\tcircledIcon.querySelector( 'svg' )?.replaceWith( svg( { href: '#frm_checkmark_icon' } ) );\n\t}\n}\n","import { __ } from '@wordpress/i18n';\n\nconst { svg } = frmDom;\n\nfunction getShowLinkHrefValue( link, showLink ) {\n\tlet customLink = link.getAttribute( 'data-link' );\n\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t}\n\treturn customLink;\n}\n\n/**\n * Allow addons to be installed from the upgrade modal.\n *\n * @param {Element} link\n * @param {string} context Either 'modal' or 'tab'.\n * @param {string|undefined} upgradeLabel\n */\nexport function addOneClick( link, context, upgradeLabel ) {\n\tlet container;\n\tif ( 'modal' === context ) {\n\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t} else if ( 'tab' === context ) {\n\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t} else {\n\t\treturn;\n\t}\n\n\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\tconst button = container.querySelector( '.frm-oneclick-button' );\n\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\tlet newMessage = link.getAttribute( 'data-message' );\n\tlet showIt = 'block';\n\tlet showMsg = 'block';\n\tlet hideIt = 'none';\n\n\tconst modalIconWrapper = container.querySelector( '.frm-circled-icon' );\n\tif ( modalIconWrapper ) {\n\t\tmodalIconWrapper.classList.remove( 'frm-circled-icon-green' );\n\t\tmodalIconWrapper.querySelector( 'svg' )?.replaceWith( svg( { href: '#frm_filled_lock_icon' } ) );\n\t}\n\n\tconst learnMoreLink = container.querySelector( '.frm-learn-more' );\n\tif ( learnMoreLink ) {\n\t\tlearnMoreLink.href = link.dataset.learnMore;\n\t}\n\n\t// If one click upgrade, hide other content.\n\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\tif ( newMessage === null ) {\n\t\t\tshowMsg = 'none';\n\t\t}\n\t\tshowIt = 'none';\n\t\thideIt = 'block';\n\t\toneclick = JSON.parse( oneclick );\n\n\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\tbutton.rel = oneclick.url;\n\n\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\n\t\tconst linkIcon = link.querySelector( 'use' );\n\t\tif ( linkIcon ) {\n\t\t\tmodalIconWrapper?.querySelector( 'svg' ).replaceWith(\n\t\t\t\tsvg( {\n\t\t\t\t\thref: linkIcon.getAttribute( 'href' ) || linkIcon.getAttribute( 'xlink:href' ), // Get the icon from xlink:href if it has not been updated to use href\n\t\t\t\t\tclassList: [ 'frm_svg32' ]\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( ! newMessage ) {\n\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t}\n\tif ( undefined !== upgradeLabel ) {\n\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t}\n\n\tupgradeMessage.innerHTML = newMessage;\n\n\tif ( link.dataset.upsellImage ) {\n\t\tupgradeMessage.appendChild(\n\t\t\tfrmDom.img( {\n\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\talt: link.dataset.upgrade\n\t\t\t} )\n\t\t);\n\t}\n\n\t// Either set the link or use the default.\n\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\taddonStatus.style.display = 'none';\n\n\toneclickMessage.style.display = hideIt;\n\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\tupgradeMessage.style.display = showMsg;\n\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n\n\tconst showLinkParent = showLink.closest( '.frm-upgrade-modal-actions' );\n\tif ( showLinkParent ) {\n\t\tshowLinkParent.style.display = showIt === 'block' ? 'flex' : showIt;\n\t}\n}\n\nexport function initModal( id, width ) {\n\tconst $info = jQuery( id );\n\tif ( ! $info.length ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof width === 'undefined' ) {\n\t\twidth = '552px';\n\t}\n\n\tconst dialogArgs = {\n\t\tdialogClass: 'frm-dialog',\n\t\tmodal: true,\n\t\tautoOpen: false,\n\t\tcloseOnEscape: true,\n\t\twidth: width,\n\t\tresizable: false,\n\t\tdraggable: false,\n\t\topen: function() {\n\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\tbindClickForDialogClose( $info );\n\t\t},\n\t\tclose: function() {\n\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\tif ( optionType ) {\n\t\t\t\toptionType.value = '';\n\t\t\t}\n\t\t}\n\t};\n\n\t$info.dialog( dialogArgs );\n\n\treturn $info;\n}\n\nfunction bindClickForDialogClose( $modal ) {\n\tconst closeModal = function() {\n\t\t$modal.dialog( 'close' );\n\t};\n\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t$modal.on( 'click', 'a.dismiss', closeModal );\n}\n\nexport function initUpgradeModal() {\n\tconst $info = initModal( '#frm_upgrade_modal' );\n\tif ( $info === false ) {\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'click', handleUpgradeClick );\n\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\tfunction handleUpgradeClick( event ) {\n\t\tlet element, link, content;\n\n\t\telement = event.target;\n\n\t\tif ( ! element.classList ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\telement = selectedOption;\n\t\t\t}\n\t\t}\n\n\t\tif ( ! element.dataset.upgrade ) {\n\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\tif ( ! parent ) {\n\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\telement.dataset.upgrade = '';\n\t\t\t}\n\t\t\telement = parent;\n\t\t}\n\n\t\tif ( showExpiredModal ) {\n\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\twp.hooks.doAction( hookName, element );\n\t\t\treturn;\n\t\t}\n\n\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst modal = $info.get( 0 );\n\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\tif ( lockIcon ) {\n\t\t\tlockIcon.style.display = 'block';\n\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t}\n\n\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\tif ( oldImage ) {\n\t\t\toldImage.remove();\n\t\t}\n\n\t\tif ( element.dataset.image ) {\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t}\n\t\t\tlockIcon.parentNode.insertBefore( frmDom.img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t}\n\n\t\tconst level = modal.querySelector( '.license-level' );\n\t\tif ( level ) {\n\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t}\n\n\t\t// If one click upgrade, hide other content\n\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image || element.dataset.oneclick ? 'none' : 'inline-block';\n\t\tmodal.querySelector( '.frm-upgrade-modal-title-prefix' ).style.display = element.dataset.oneclick ? 'inline' : 'none';\n\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\tmodal.querySelector( '.frm-upgrade-modal-title-suffix' ).style.display = 'none';\n\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t$info.dialog( 'open' );\n\n\t\t// set the utm medium\n\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\tcontent = element.getAttribute( 'data-content' );\n\t\tif ( content === null ) {\n\t\t\tcontent = '';\n\t\t}\n\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\tbutton.setAttribute( 'href', link );\n\t}\n}\n\nfunction getRequiredLicenseFromTrigger( element ) {\n\tif ( element.dataset.requires ) {\n\t\treturn element.dataset.requires;\n\t}\n\treturn 'Pro';\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst MAX_FIELD_GROUP_SIZE = 12;\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\t/**\n\t * Load a tooltip for a single element.\n\t *\n\t * @since x.x\n\t *\n\t * @param {HTMLElement} element\n\t * @param {boolean} show\n\t */\n\tfunction loadTooltip( element, show = false ) {\n\t\tlet tooltipTarget = element;\n\n\t\t// Bootstrap 5 does not allow tooltips on dropdown triggers, so move the tooltip to the parent element.\n\t\tif ( tooltipTarget.hasAttribute( 'data-toggle' ) || tooltipTarget.hasAttribute( 'data-bs-toggle' ) ) {\n\t\t\ttooltipTarget.parentElement.setAttribute( 'title', tooltipTarget.getAttribute( 'title' ) );\n\t\t\ttooltipTarget.removeAttribute( 'title' );\n\t\t\ttooltipTarget.classList.remove( 'frm_bstooltip' );\n\t\t\ttooltipTarget.parentElement.classList.add( 'frm_bstooltip' );\n\t\t\ttooltipTarget = tooltipTarget.parentElement;\n\t\t}\n\n\t\tjQuery( tooltipTarget ).tooltip();\n\n\t\tif ( show ) {\n\t\t\tdeleteTooltips();\n\t\t\tjQuery( tooltipTarget ).tooltip( 'show' );\n\t\t}\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\t\t\tloadTooltip( this, true );\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-bs-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-bs-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-bs-toggle': 'dropdown',\n\t\t\t\t'data-bs-container': 'body',\n\t\t\t\t'data-bs-display': 'static'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\tconst fieldArgs = {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak\n\t\t};\n\n\t\t// Only send last row field IDs to update their order if this field isn't added to a repeater.\n\t\tconst isInRepeater = sectionId > 0 && document.getElementById( 'form_id' ).value !== formId;\n\t\tif ( ! isInRepeater ) {\n\t\t\tfieldArgs.last_row_field_ids = getFieldIdsInSubmitRow();\n\t\t}\n\n\t\treturn fieldArgs;\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// Allow the maximum number if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = MAX_FIELD_GROUP_SIZE;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\n\t\t\t\tul = document.querySelector( '.dropdown .frm-dropdown-menu.show' );\n\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
                                                                        • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
                                                                            ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tconst lastRowOrderInput = field.querySelector( '#frm-last-row-fields-order' );\n\t\tif ( lastRowOrderInput ) {\n\t\t\tupdateLastRowFieldsOrder( JSON.parse( lastRowOrderInput.value ) );\n\t\t}\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle, and requires that elements have the dropdown-menu class.\n\t\tfield.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\t\tfield.querySelectorAll( '.frm-dropdown-menu' ).forEach( dropdownMenu => dropdownMenu.classList.add( 'dropdown-menu' ) );\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\tfunction updateLastRowFieldsOrder( fieldsOrder ) {\n\t\tif ( ! fieldsOrder || 'object' !== typeof fieldsOrder ) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys( fieldsOrder ).forEach( fieldId => {\n\t\t\tconst orderInput = document.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\tif ( orderInput ) {\n\t\t\t\torderInput.value = fieldsOrder[ fieldId ];\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\n\t\t\tconst $thisOption = this.closest( '.frm_single_option' );\n\t\t\tif ( $thisOption ) {\n\t\t\t\t$thisOption.after( newOption.newOption );\n\t\t\t} else {\n\t\t\t\t// Backwards compatibility \"@since 6.24\"\n\t\t\t\t// Note: Keep it jQuery since some events are attached to the element\n\t\t\t\tjQuery( `#frm_field_${ fieldId }_opts` ).append( newOption.newOption );\n\t\t\t}\n\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\tfieldOptionEnableAllRemoveButtons( this );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * Enable all remove buttons for field options.\n\t *\n\t * @param {HTMLElement} element The add option button element.\n\t */\n\tfunction fieldOptionEnableAllRemoveButtons( element ) {\n\t\t// Make sure all remove buttons are enabled\n\t\tconst parentEl = element.classList.contains( 'frm-add-option-legacy' ) // Backwards compatibility \"@since 6.24\"\n\t\t\t? element.closest( '.frm-collapse-me' )?.querySelector( '.frm_sortable_field_opts' )\n\t\t\t: element.closest( '.frm_sortable_field_opts' );\n\n\t\tparentEl?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\t\tif ( ! wp?.media || imagePreview?.dataset.upgrade ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tif ( sizeOfFieldGroup <= 6 ) {\n\t\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\t}\n\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\n\t\tif ( size > 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t\treturn wrapper;\n\t\t}\n\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif ( size > 6 ) {\n\t\t\t\t\t// We only show a single option at 6-12, so we use the full width.\n\t\t\t\t\tuseClass = 'frm_full';\n\t\t\t\t} else {\n\t\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {number|undefined} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( size > 6 ) {\n\t\t\treturn 'frm1';\n\t\t}\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > MAX_FIELD_GROUP_SIZE ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
                                                                            ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
                                                                            ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) );\n\t\tlet hasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\t/**\n\t * Get multiple options for a field.\n\t *\n\t * @param {string} fieldId The field id.\n\t * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels.\n\t */\n\tfunction getMultipleOpts( fieldId, showValueAsLabel = false ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' ).filter( '[name$=\"[label]\"], [name*=\"[other_\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\n\t\t\t\tif ( showValueAsLabel && '' === label ) {\n\t\t\t\t\tlabel = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.initUpgradeModal();\n\t}\n\n\tfunction addOneClick( element, type, upgradeLabel ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.addOneClick( element, type, upgradeLabel );\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tlet upgradeButton;\n\t\t\tlet upgradeActions = upgradeModalLink.closest( '.frm-upgrade-modal-actions' );\n\t\t\tif ( upgradeActions ) {\n\t\t\t\tupgradeActions = upgradeActions.cloneNode( true );\n\t\t\t\tupgradeButton = upgradeActions.querySelector( '.frm-upgrade-link' );\n\t\t\t} else {\n\t\t\t\tupgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\t}\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\t\t\tcontainer.appendChild( upgradeActions || upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
                                                                            ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction resetFieldsUpdated() {\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

                                                                            ' + res.data.name + ': ' + res.data.msg + '

                                                                            ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

                                                                            Imported ' + res.data.name + '

                                                                            ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.toggleAddonState( clicked, action );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.afterAddonInstall( response, button, message, el, saveAndReload, action );\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tconst addonState = require( './addon-state' );\n\t\treturn addonState.extractErrorFromAddOnResponse( response );\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.addonError( response, el, button );\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\treturn upgradePopup.initModal( id, width );\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\tdocument.addEventListener( 'show.bs.dropdown', function() {\n\t\t\t\t// Fixes issues with tooltips lingering after a dropdown is shown.\n\t\t\t\tdeleteTooltips();\n\t\t\t} );\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\n\t\t\twp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated );\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tdocument.querySelectorAll( '.frm-dropdown-menu' ).forEach( convertOldBootstrapDropdownsToBootstrap5 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-bs-toggle', 'dropdown' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle.\n\t\tdocument.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap5( frmDropdownMenu ) {\n\t\t\tfrmDropdownMenu.classList.add( 'dropdown-menu' );\n\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
                                                                          • and
                                                                              tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
                                                                                ', '' );\n\t\t\thtml = html.replaceAll( '
                                                                              • ', '
                                                                                ' );\n\t\t\thtml = html.replaceAll( '
                                                                              • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["__","_frmDom","frmDom","div","svg","toggleAddonState","clicked","action","_window$ajaxurl","ajaxurl","window","frm_js","ajax_url","jQuery","remove","button","plugin","attr","el","parent","message","find","addClass","ajax","url","type","async","cache","dataType","data","nonce","frmGlobal","success","response","_response$data","_response","saveAndReload","error","extractErrorFromAddOnResponse","addonError","afterAddonInstall","wp","hooks","doAction","removeClass","form","is","html","arguments","length","undefined","frmAdminJs","frm_admin_js","addonStatuses","document","querySelectorAll","forEach","addonStatus","textContent","style","display","css","opacity","oneClick","showUpgradeModalSuccess","actionMap","frm_activate_addon","class","active","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","parentElement","classList","add","buttonElement","refreshPage","location","reload","includes","inModal","closest","appendChild","getSaveAndReloadSettingsOptions","padding","on","installAddonWithCreds","append","delay","fadeOut","className","children","saveAndReloadSettingsButton","push","closePopupButton","createElement","addEventListener","saveAndReloadFormBuilder","saveAndReloadSettings","page","getElementById","querySelector","submit","a","setAttribute","submitButton","contains","click","upgradeModal","upgradeMessage","image","replaceChildren","frmAddonStatus","circledIcon","_circledIcon$querySel","replaceWith","href","getShowLinkHrefValue","link","showLink","customLink","getAttribute","addOneClick","context","upgradeLabel","container","substr","oneclickMessage","oneclick","newMessage","showIt","showMsg","hideIt","modalIconWrapper","_modalIconWrapper$que","learnMoreLink","dataset","learnMore","JSON","parse","replace","rel","linkIcon","innerHTML","upsellImage","img","src","alt","upgrade","showLinkParent","initModal","id","width","$info","dialogArgs","dialogClass","modal","autoOpen","closeOnEscape","resizable","draggable","open","bindClickForDialogClose","close","removeAttribute","optionType","value","dialog","$modal","closeModal","initUpgradeModal","handleUpgradeClick","util","documentOn","event","element","content","target","showExpiredModal","selectedOption","options","selectedIndex","hookName","preventDefault","get","lockIcon","upgradeImageId","oldImage","parentNode","insertBefore","level","getRequiredLicenseFromTrigger","requires","FrmFormsConnect","$","messageBox","reset","setElements","app","init","deauthorize","authorize","reauthorize","pluginSlug","input","license","wpmu","checked","msg","afterAuthorize","showMessage","showProgress","showAuthorized","showInlineSuccess","setTimeout","show","from","to","box","successElement","frmAdminBuild","purifyHtml","confirm","frmAdminBuildJS","MAX_FIELD_GROUP_SIZE","tag","span","onClickPreventDefault","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","empty","$obj","firstChild","removeChild","confirmClick","e","stopPropagation","confirmLinkClick","loadedFrom","applyFilters","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","continueButton","createTextNode","removeAtts","infoModal","toggleItem","toggle","text","$items","hideShowItem","hide","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","current","uncheckItem","uncheckItemElement","nodeName","loadTooltip","tooltipTarget","hasAttribute","tooltip","deleteTooltips","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","isTop","suffix","bulkActionSelector","confirmBulkDelete","removeMore","parseInt","deleteButton","indexOf","last","fadeEle","$fadeEle","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookArgs","b","popCalcFields","cont","inside","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","allowDrop","parents","nextAll","handle","settings","helper","getDraggableHelper","revert","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","each","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","fieldArgs","field_type","has_break","isInRepeater","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","getDeleteActionOption","getDuplicateActionOption","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","lastRowOrderInput","updateLastRowFieldsOrder","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","dropdownMenu","addedEvent","frmField","frmSection","frmType","frmToggles","fieldsOrder","_typeof","keys","orderInput","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","updateOpts","addFieldOption","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","$thisOption","fieldOptionEnableAllRemoveButtons","_element$closest","_parentEl$querySelect","parentEl","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","_wp","imagePreview","media","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","showValueAsLabel","labelName","optObj","optVals","no_label","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","upgradePopup","require","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","populateUpgradeTab","tab","h2","borderBottom","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","upgradeActions","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","resetFieldsUpdated","returnValue","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","activateAddon","installAddon","addonState","proceed","hostname","username","password","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","convertOldBootstrapDropdownsToBootstrap5","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable_blocks.js.map b/js/formidable_blocks.js.map index f768cf2ebf..9c75c7b2a4 100644 --- a/js/formidable_blocks.js.map +++ b/js/formidable_blocks.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable_blocks.js","mappings":"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;AACmH;AACjB;AAClG,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,OAAO,oGAAoG,YAAY,WAAW,YAAY,aAAa,WAAW,YAAY,MAAM,KAAK,UAAU,YAAY,aAAa,aAAa,aAAa,aAAa,aAAa,cAAc,aAAa,WAAW,UAAU,YAAY,aAAa,WAAW,WAAW,YAAY,8CAA8C,qBAAqB,iBAAiB,uBAAuB,wBAAwB,oBAAoB,qBAAqB,GAAG,6BAA6B,gBAAgB,0BAA0B,uBAAuB,4BAA4B,2BAA2B,kCAAkC,mCAAmC,uBAAuB,6BAA6B,aAAa,cAAc,sBAAsB,uBAAuB,gBAAgB,iBAAiB,yCAAyC,GAAG,mBAAmB;AACr+B;AACA;AAC+B;AACxB;AACP,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;ACrC1B;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA,MAAwG;AACxG,MAA8F;AAC9F,MAAqG;AACrG,MAAwH;AACxH,MAAiH;AACjH,MAAiH;AACjH,MAAoH;AACpH;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,8FAAO;;;;AAI8D;AACtF,OAAO,iEAAe,8FAAO,IAAI,8FAAO,UAAU,8FAAO,mBAAmB,EAAC;;;;;;;;;;;;AC1BhE;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;AACjF;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTa;;AAEb;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5Da;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;UCbA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;;AAEsB;AACK;AACL;AACA","sources":["webpack://formidable/./js/src/api/class-addon-api.js","webpack://formidable/./js/src/api/index.js","webpack://formidable/./js/src/common/components/icon.js","webpack://formidable/./js/src/common/components/itemselect.js","webpack://formidable/./js/src/common/utilities/values.js","webpack://formidable/./js/src/form/block.js","webpack://formidable/./js/src/form/calculator.js","webpack://formidable/./js/src/form/formselect.js","webpack://formidable/./js/src/form/formshortcode.js","webpack://formidable/./js/src/form/graph.js","webpack://formidable/./js/src/form/inspector.js","webpack://formidable/./js/src/form/modal.js","webpack://formidable/./js/src/form/views.js","webpack://formidable/./js/src/form/css/button.module.css","webpack://formidable/./node_modules/css-loader/dist/runtime/api.js","webpack://formidable/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://formidable/./node_modules/object-assign/index.js","webpack://formidable/./node_modules/prop-types/checkPropTypes.js","webpack://formidable/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://formidable/./node_modules/prop-types/index.js","webpack://formidable/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://formidable/./node_modules/prop-types/lib/has.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/index.js","webpack://formidable/./js/src/form/css/button.module.css?6e55","webpack://formidable/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://formidable/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/webpack/runtime/nonce","webpack://formidable/./js/src/blocks.js"],"sourcesContent":["export class frmAddonAPI {\n\t/**\n\t * A function designed to toggle different addon states.\n\t *\n\t * @param {'frm_install_addon'|'frm_activate_addon'|'frm_multiple_addons'} action The addon state action type.\n\t * @param {string} addon The addon path. Ex: formidable-views/formidable-views.php\n\t *\n\t * @return {Promise} The response from the server.\n\t */\n\tstatic toggleAddonState( action, addon ) {\n\t\treturn fetch( ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: action,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tplugin: addon\n\t\t\t} )\n\t\t} ).then( response => response.json() );\n\t}\n}\n","export { frmAddonAPI } from './class-addon-api';\n","/**\n * Formidable Forms icon\n */\nconst { Component } = wp.element;\nconst { Dashicon } = wp.components;\n\nexport default class FormidableIcon extends Component {\n\tloadCustomSvgIcon( ) {\n\t\tconst icon = formidable_form_selector.icon;\n\t\tif ( icon.match( /frm_white_label_icon/ ) ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\trender() {\n\t\tif ( false !== this.loadCustomSvgIcon() ) {\n\t\t\treturn this.loadCustomSvgIcon();\n\t\t}\n\n\t\tif ( formidable_form_selector.icon !== 'svg' ) {\n\t\t\treturn ;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n","const { __, sprintf } = wp.i18n;\nimport PropTypes from 'prop-types';\n\nconst {\n\tComponent,\n} = wp.element;\nconst {\n\tSelectControl,\n} = wp.components;\n\n/**\n * Displays a Select control with the specified items as options\n *\n */\nexport default class ItemSelect extends Component {\n\tcreateOptions( items, itemName ) {\n\t\tconst options = items.map( item => {\n\t\t\treturn {\n\t\t\t\tlabel: item.label,\n\t\t\t\tvalue: item.value,\n\t\t\t};\n\t\t} );\n\n\t\treturn [\n\t\t\t{\n\t\t\t\t// translators: %s is the name of the item\n\t\t\t\tlabel: sprintf( __( 'Select a %s', 'formidable' ), itemName ),\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t...options,\n\t\t];\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\titems,\n\t\t\tonChange,\n\t\t\titemName,\n\t\t\titemNamePlural,\n\t\t\tlabel,\n\t\t\thelp,\n\t\t} = this.props;\n\n\t\tif ( ( ! items || items.length === 0 ) ) {\n\t\t\treturn (\n\t\t\t\t

                                                                                \n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s is the name of the item\n\t\t\t\t\t\t__( 'Currently, there are no %s', 'formidable' ),\n\t\t\t\t\t\titemNamePlural\n\t\t\t\t\t) }\n\t\t\t\t

                                                                                \n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nItemSelect.defaultProps = {\n\titemName: 'item',\n\titemNamePlural: 'items',\n};\n\nItemSelect.propTypes = {\n\tselected: PropTypes.oneOfType( [\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t] ), //selected item\n\titems: PropTypes.array, //list of possible items\n\tonChange: PropTypes.func,\n\titemName: PropTypes.string, //name for item in select label\n\titemNamePlural: PropTypes.string, //plural of items, used in some labels\n\tlabel: PropTypes.string,\n\thelp: PropTypes.string,\n};\n","/**\n * Updates an attribute with the specified new value\n *\n * @param {string} attributeName Name of block attribute to be updated\n * @param {*} attributeValue Value of block attribute to be updated\n * @param {Function} setAttributes Function to set the block attribute to be updated\n */\nexport function updateAttribute( attributeName, attributeValue, setAttributes ) {\n\tsetAttributes( {\n\t\t[ attributeName ]: attributeValue\n\t} );\n}\n\n/**\n * Sets text attribute for a shortcode from a key value pair\n *\n * @param {*} value Value of text attribute to be set\n * @param {string} attributeName Name of text attribute to be set\n * @return {string} String of the text attribute in the format \" id=10\"\n */\nexport function setTextAttribute( value, attributeName ) {\n\tif ( value ) {\n\t\treturn ` ${ attributeName }=\"${ value }\"`;\n\t}\n\treturn '';\n}\n\n/**\n * Gets subdirectory of current site, if the site isn't on the top level of the domain\n *\n * @return {string} The subdirectory of the current site\n */\nexport function getSubDir() {\n\tconst page = window.location.pathname;\n\tconst index = page.indexOf( 'wp-admin' );\n\n\tlet subDir = '/';\n\n\tif ( index > -1 ) {\n\t\tsubDir = page.substr( 0, index );\n\t}\n\n\treturn subDir;\n}\n\nexport const cssHideAdvancedSettings = `\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n`;\n","/**\n * BLOCK: formidable/simple-form\n *\n * Block to display selected Formidable form with limited setting options\n */\nimport FormShortcode from './formshortcode';\nimport Inspector from './inspector';\nimport FormidableIcon from '../common/components/icon';\nimport FormSelect from './formselect';\nimport { cssHideAdvancedSettings } from '../common/utilities/values';\n\nconst { Fragment } = wp.element;\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { serverSideRender: ServerSideRender } = wp;\n\nregisterBlockType( 'formidable/simple-form', {\n\ttitle: formidable_form_selector.name,\n\tdescription: __( 'Display a Form', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t__( 'contact forms', 'formidable' ),\n\t\t'formidable',\n\t],\n\n\tedit: function( { setAttributes, attributes, isSelected } ) {\n\t\tconst { formId } = attributes;\n\n\t\tconst forms = formidable_form_selector.forms;\n\n\t\tif ( forms.length === 0 ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tif ( ! formId ) {\n\t\t\treturn (\n\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                { formidable_form_selector.name }
                                                                                \n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t{ isSelected && }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t},\n\n\tsave: function( props ) {\n\t\tconst {\n\t\t\tattributes,\n\t\t} = props;\n\t\tconst { formId } = attributes;\n\t\treturn (\n\t\t\t( formId === undefined )\n\t\t\t\t? ''\n\t\t\t\t: \n\t\t\t\t\t\n\t\t\t\t\n\t\t);\n\t},\n} );\n","/**\n * BLOCK: formidable/calculator\n *\n * Block to display selected Formidable calculator form\n */\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\n\nconst FrmCalcIcon = wp.element.createElement(\n\t'svg',\n\t{\n\t\twidth: 20,\n\t\theight: 20\n\t},\n\twp.element.createElement( 'path',\n\t\t{\n\t\t\td: 'M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z',\n\t\t}\n\t)\n);\n\nregisterBlockType( 'formidable/calculator', {\n\ttitle: __( 'Calculator Form', 'formidable' ),\n\tdescription: __( 'Display a Calculator Form', 'formidable' ),\n\ticon: FrmCalcIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'calculation',\n\t\t'formidable',\n\t],\n\n\tedit: function( { setAttributes, attributes } ) {\n\t\tconst { formId } = attributes;\n\n\t\tconst forms = formidable_form_selector.forms;\n\n\t\tif ( forms.length === 0 ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                { __( 'Calculator Form', 'formidable' ) }
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'This site does not have any calculator forms.', 'formidable' ) }\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms.', 'formidable' ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t{\n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t);\n\t},\n} );\n","/**\n * Form selector\n */\nimport ItemSelect from '../common/components/itemselect';\nimport PropTypes from 'prop-types';\n\nconst { __ } = wp.i18n;\nconst {\n\tComponent,\n} = wp.element;\n\nexport default class FormSelect extends Component {\n\trender() {\n\t\tconst {\n\t\t\tformId,\n\t\t\tsetAttributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tformId: newFormId,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\n\t\t);\n\t}\n}\n\nFormSelect.propTypes = {\n\tformId: PropTypes.string, //current formId\n\tsetAttributes: PropTypes.func.isRequired, //setAttributes of block\n};\n","/**\n * Form shortcode of current form\n */\nconst { Component } = wp.element;\n\nimport {\n\tsetTextAttribute,\n} from '../common/utilities/values';\n\nfunction createParamsText( atts ) {\n\tconst {\n\t\tformId,\n\t\ttitle,\n\t\tdescription,\n\t\tminimize,\n\t} = atts;\n\n\tlet paramsText = '';\n\n\tparamsText += setTextAttribute( formId, 'id' );\n\tparamsText += setTextAttribute( title, 'title' );\n\tparamsText += setTextAttribute( description, 'description' );\n\tparamsText += setTextAttribute( minimize, 'minimize' );\n\n\treturn paramsText;\n}\n\nexport default class FormShortcode extends Component {\n\trender() {\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t[formidable\n\t\t\t\t{ createParamsText( this.props ) }\n\t\t\t\t]\n\t\t\t
                                                                                \n\t\t);\n\t}\n}\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\n( function() {\n\t'use strict';\n\n\tif ( formidable_form_selector.chartsAddon.installed ) {\n\t\treturn;\n\t}\n\n\tconst { __ } = wp.i18n;\n\tconst { registerBlockType } = wp.blocks;\n\tconst { Notice } = wp.components;\n\n\tconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\t\n\t\t\t{ text }\n\t\t\t
                                                                                \n\t\t\t\n\t\t\t\t{ buttonText }\n\t\t\t\n\t\t
                                                                                \n\t);\n\n\tconst blockName = __( 'Formidable Chart', 'formidable' );\n\n\tregisterBlockType( 'frm-charts/graph', {\n\t\ttitle: blockName,\n\t\tdescription: __( 'Display a chart or graph', 'formidable' ),\n\t\ticon: (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tcategory: 'design',\n\n\t\tedit: () => {\n\t\t\tconst imageWrapperStyles = {\n\t\t\t\tpadding: '38px',\n\t\t\t\tmargin: '0 auto',\n\t\t\t\tmaxWidth: '600px'\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                { blockName }
                                                                                \n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t{ formidable_form_selector.chartsAddon.hasAccess ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t);\n\t\t}\n\t} );\n}() );\n","/**\n * Inspector controls for Formidable Simple Form block\n */\n\nconst { __ } = wp.i18n;\nconst { Component } = wp.element;\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\nconst {\n\tPanelBody,\n\tPanelRow,\n\tToggleControl,\n\tExternalLink,\n} = wp.components;\n\nimport PropTypes from 'prop-types';\nimport FormSelect from './formselect';\nimport FormShortcode from './formshortcode';\nimport {\n\tupdateAttribute,\n\tgetSubDir,\n} from '../common/utilities/values';\n\nexport default class Inspector extends Component {\n\trender() {\n\t\tconst {\n\t\t\tsetAttributes,\n\t\t\tattributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tformId,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\tminimize,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ formId &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'Go to form', 'formidable' ) }\n\t\t\t\t\t\t\n\t\t\t\t\t }\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'title', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'description', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'minimize', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nInspector.propTypes = {\n\tattributes: PropTypes.object, //block attributes\n\tsetAttributes: PropTypes.func, //setAttributes of block\n};\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\n\nconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\n\t\t{ text }\n\t\t
                                                                                \n\t\t\n\t\t\t{ buttonText }\n\t\t\n\t
                                                                                \n);\n\nregisterBlockType( 'frm-modal/modal', {\n\ttitle: formidable_form_selector.name + ' ' + __( 'Modal', 'formidable' ),\n\tdescription: __( 'Display a modal', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'modal',\n\t\t'formidable',\n\t],\n\n\tedit: ( { setAttributes, attributes } ) => {\n\t\tconst blockName = __( 'Bootstrap modal popup', 'formidable' );\n\t\tconst imageStyles = {\n\t\t\tmaxWidth: '504px',\n\t\t\theight: 'auto',\n\t\t\tborderRadius: '12px',\n\t\t};\n\t\tconst imageWrapperStyles = {\n\t\t\tpadding: '38px',\n\t\t\ttextAlign: 'center',\n\t\t\tbackgroundColor: '#f2f4f7',\n\t\t\tmarginTop: '24px',\n\t\t};\n\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                { blockName }
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t{ formidable_form_selector.modalAddon.hasAccess ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t);\n\t},\n} );\n","/* global formidable_form_selector */\nimport FormidableIcon from '../common/components/icon';\nimport { frmAddonAPI } from '../api/index';\n\nimport buttonStyles from './css/button.module.css';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useState, useEffect } = wp.element;\n\nconst blockData = formidable_form_selector; // eslint-disable-line camelcase\nconst upgradeLink = blockData.viewsAddon.hasAccess ? blockData.viewsAddon.link : blockData.link;\n\nregisterBlockType( 'formidable/simple-view', {\n\n\ttitle: __( 'Formidable Views', 'formidable' ),\n\tdescription: __( 'Display a Visual View', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'views',\n\t\t'formidable'\n\t],\n\n\tedit: () => {\n\t\tconst [ addonActivateButton, updateAddonActivateButton ] = useState( { // eslint-disable-line react-hooks/rules-of-hooks\n\t\t\tdefaultClassname: 'frm-activate-addon frm-button-primary button button-primary',\n\t\t\tloadingClassname: buttonStyles[ 'frm-loading' ],\n\t\t\tclassnames: 'frm-activate-addon frm-button-primary button button-primary',\n\t\t\tlabel: ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ? __( 'Install', 'formidable' ) : __( 'Activate', 'formidable' ),\n\t\t\tisLoading: false\n\t\t} );\n\n\t\tconst activateViewsAddon = () => {\n\t\t\tif ( true === addonActivateButton.isLoading ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateAddonActivateButton( { ...addonActivateButton, isLoading: true, classnames: addonActivateButton.defaultClassname + ' ' + addonActivateButton.loadingClassname } );\n\t\t\tif ( ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ) {\n\t\t\t\tfrmAddonAPI.toggleAddonState( 'frm_install_addon', blockData.viewsAddon.url ).then( () => {\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfrmAddonAPI.toggleAddonState( 'frm_activate_addon', 'formidable-views/formidable-views.php' ).then( () => {\n\t\t\t\twindow.location.reload();\n\t\t\t} );\n\t\t};\n\n\t\tconst blockName = __( 'Formidable Views', 'formidable' );\n\t\tconst imageStyles = {\n\t\t\tmaxWidth: '504px',\n\t\t\theight: 'auto',\n\t\t\tborderRadius: '12px'\n\t\t};\n\t\tconst imageWrapperStyles = {\n\t\t\tpadding: '38px',\n\t\t\ttextAlign: 'center',\n\t\t\tbackgroundColor: '#f2f4f7',\n\t\t\tmarginTop: '24px'\n\t\t};\n\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                { blockName }
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t{ ! blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms', 'formidable' ) }\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                \n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t}\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t);\n\t}\n} );\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button.t3RQZV1ZQbHGYyQUnhIY {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.t3RQZV1ZQbHGYyQUnhIY:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: Ts7haRQUDk0YMfLiQW00 2s linear infinite;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./js/src/form/css/button.module.css\"],\"names\":[],\"mappings\":\"AAAA;CACC,gBAAgB;CAChB,YAAY;CACZ,kBAAkB;CAClB,mBAAmB;CACnB,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,WAAW;CACX,qBAAqB;CACrB,kBAAkB;CAClB,uBAAuB;CACvB,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,kBAAkB;;CAElB,sBAAsB;CACtB,QAAQ;CACR,SAAS;CACT,iBAAiB;CACjB,kBAAkB;CAClB,WAAW;CACX,YAAY;;CAEZ,kDAAkC;AACnC\",\"sourcesContent\":[\"button.frm-loading {\\n\\tcursor: progress;\\n\\topacity: 0.7;\\n\\tposition: relative;\\n\\ttext-indent: -999px;\\n\\tmin-width: 70px;\\n\\toverflow: hidden;\\n}\\nbutton.frm-loading:before {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\tbackground: transparent;\\n\\tborder: 1px solid #fff;\\n\\tborder-top-color: transparent;\\n\\tborder-left-color: transparent;\\n\\tborder-radius: 50%;\\n\\n\\tbox-sizing: border-box;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\tmargin-top: -10px;\\n\\tmargin-left: -10px;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\n\\tanimation: spin 2s linear infinite;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nvar _1 = `t3RQZV1ZQbHGYyQUnhIY`;\nexport { _1 as \"frm-loading\" };\nexport var spin = `Ts7haRQUDk0YMfLiQW00`;\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","/**\n * Formidable Simple Blocks\n *\n */\n\nimport './form/block';\nimport './form/calculator';\nimport './form/modal';\nimport './form/graph';\nimport './form/views';\n"],"names":["frmAddonAPI","_classCallCheck","_createClass","key","value","toggleAddonState","action","addon","fetch","ajaxurl","method","headers","body","URLSearchParams","nonce","frmGlobal","plugin","then","response","json","Component","wp","element","Dashicon","components","FormidableIcon","_Component","_callSuper","arguments","_inherits","loadCustomSvgIcon","icon","formidable_form_selector","match","createElement","xmlns","viewBox","width","height","d","render","className","default","_wp$i18n","i18n","__","sprintf","PropTypes","SelectControl","ItemSelect","createOptions","items","itemName","options","map","item","label","concat","_toConsumableArray","_this$props","props","selected","onChange","itemNamePlural","help","length","defaultProps","propTypes","oneOfType","string","number","array","func","updateAttribute","attributeName","attributeValue","setAttributes","_defineProperty","setTextAttribute","getSubDir","page","window","location","pathname","index","indexOf","subDir","substr","cssHideAdvancedSettings","FormShortcode","Inspector","FormSelect","Fragment","registerBlockType","blocks","Notice","_wp","ServerSideRender","serverSideRender","title","name","description","category","keywords","edit","_ref","attributes","isSelected","formId","forms","status","isDismissible","block","save","undefined","FrmCalcIcon","href","link","target","src","url","alt","newFormId","isRequired","createParamsText","atts","minimize","paramsText","chartsAddon","installed","UpgradeNotice","text","buttonText","blockName","fill","stroke","strokeLinecap","strokeWidth","imageWrapperStyles","padding","margin","maxWidth","style","alignSelf","hasAccess","InspectorControls","blockEditor","_wp$components","PanelBody","PanelRow","ToggleControl","ExternalLink","initialOpen","checked","object","_ref2","imageStyles","borderRadius","textAlign","backgroundColor","marginTop","modalAddon","buttonStyles","_wp$element","useState","useEffect","blockData","upgradeLink","viewsAddon","_useState","defaultClassname","loadingClassname","classnames","isLoading","_useState2","_slicedToArray","addonActivateButton","updateAddonActivateButton","activateViewsAddon","_objectSpread","reload","rel","onClick","type"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"formidable_blocks.js","mappings":";;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,WAAW;EAAA,SAAAA,YAAA;IAAAC,eAAA,OAAAD,WAAA;EAAA;EAAA,OAAAE,YAAA,CAAAF,WAAA;IAAAG,GAAA;IAAAC,KAAA;IACvB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACC,SAAOC,gBAAgBA,CAAEC,MAAM,EAAEC,KAAK,EAAG;MACxC,OAAOC,KAAK,CAAEC,OAAO,EAAE;QACtBC,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACR,cAAc,EAAE;QACjB,CAAC;QACDC,IAAI,EAAE,IAAIC,eAAe,CAAE;UAC1BP,MAAM,EAAEA,MAAM;UACdQ,KAAK,EAAEC,SAAS,CAACD,KAAK;UACtBE,MAAM,EAAET;QACT,CAAE;MACH,CAAE,CAAC,CAACU,IAAI,CAAE,UAAAC,QAAQ;QAAA,OAAIA,QAAQ,CAACC,IAAI,CAAC,CAAC;MAAA,CAAC,CAAC;IACxC;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AErBF;AACA;AACA;AACA,IAAQC,SAAS,GAAKC,EAAE,CAACC,OAAO,CAAxBF,SAAS;AACjB,IAAQG,QAAQ,GAAKF,EAAE,CAACG,UAAU,CAA1BD,QAAQ;AAAmB,IAEdE,cAAc,0BAAAC,UAAA;EAAA,SAAAD,eAAA;IAAAxB,eAAA,OAAAwB,cAAA;IAAA,OAAAE,UAAA,OAAAF,cAAA,EAAAG,SAAA;EAAA;EAAAC,SAAA,CAAAJ,cAAA,EAAAC,UAAA;EAAA,OAAAxB,YAAA,CAAAuB,cAAA;IAAAtB,GAAA;IAAAC,KAAA,EAClC,SAAA0B,iBAAiBA,CAAA,EAAI;MACpB,IAAMC,IAAI,GAAGC,wBAAwB,CAACD,IAAI;MAC1C,IAAKA,IAAI,CAACE,KAAK,CAAE,sBAAuB,CAAC,EAAG;QAC3C,OACCZ,EAAA,CAAAC,OAAA,CAAAY,aAAA;UAAKC,KAAK,EAAC,4BAA4B;UAACC,OAAO,EAAC,WAAW;UAACC,KAAK,EAAC,KAAK;UAACC,MAAM,EAAC;QAAK,GACnFjB,EAAA,CAAAC,OAAA,CAAAY,aAAA;UAAMK,CAAC,EAAC;QAAgjB,CAAO,CAC3jB,CAAC;MAER;MACA,OAAO,KAAK;IACb;EAAC;IAAApC,GAAA;IAAAC,KAAA,EAED,SAAAoC,MAAMA,CAAA,EAAG;MACR,IAAK,KAAK,KAAK,IAAI,CAACV,iBAAiB,CAAC,CAAC,EAAG;QACzC,OAAO,IAAI,CAACA,iBAAiB,CAAC,CAAC;MAChC;MAEA,IAAKE,wBAAwB,CAACD,IAAI,KAAK,KAAK,EAAG;QAC9C,OAAOV,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACX,QAAQ;UAACQ,IAAI,EAAGC,wBAAwB,CAACD;QAAM,CAAE,CAAC;MAC3D;MAEA,OACCV,EAAA,CAAAC,OAAA,CAAAY,aAAA;QAAKC,KAAK,EAAC,4BAA4B;QAACC,OAAO,EAAC,mBAAmB;QAACC,KAAK,EAAC,KAAK;QAACC,MAAM,EAAC;MAAK,GAC3FjB,EAAA,CAAAC,OAAA,CAAAY,aAAA;QAAMO,SAAS,EAAC,cAAc;QAACF,CAAC,EAAC;MAAyB,CAAE,CAAC,EAC7DlB,EAAA,CAAAC,OAAA,CAAAY,aAAA;QAAMO,SAAS,EAAC,OAAO;QAACF,CAAC,EAAC;MAA8I,CAAE,CAAC,EAC3KlB,EAAA,CAAAC,OAAA,CAAAY,aAAA;QAAMO,SAAS,EAAC,OAAO;QAACF,CAAC,EAAC;MAAyL,CAAE,CACjN,CAAC;IAER;EAAC;AAAA,EA7B0CnB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNrD,IAAAuB,QAAA,GAAwBtB,EAAE,CAACuB,IAAI;EAAvBC,EAAE,GAAAF,QAAA,CAAFE,EAAE;EAAEC,OAAO,GAAAH,QAAA,CAAPG,OAAO;AACgB;AAEnC,IACC1B,SAAS,GACNC,EAAE,CAACC,OAAO,CADbF,SAAS;AAEV,IACC4B,aAAa,GACV3B,EAAE,CAACG,UAAU,CADhBwB,aAAa;;AAGd;AACA;AACA;AACA;AAHA,IAIqBC,UAAU,0BAAAvB,UAAA;EAAA,SAAAuB,WAAA;IAAAhD,eAAA,OAAAgD,UAAA;IAAA,OAAAtB,UAAA,OAAAsB,UAAA,EAAArB,SAAA;EAAA;EAAAC,SAAA,CAAAoB,UAAA,EAAAvB,UAAA;EAAA,OAAAxB,YAAA,CAAA+C,UAAA;IAAA9C,GAAA;IAAAC,KAAA,EAC9B,SAAA8C,aAAaA,CAAEC,KAAK,EAAEC,QAAQ,EAAG;MAChC,IAAMC,OAAO,GAAGF,KAAK,CAACG,GAAG,CAAE,UAAAC,IAAI,EAAI;QAClC,OAAO;UACNC,KAAK,EAAED,IAAI,CAACC,KAAK;UACjBpD,KAAK,EAAEmD,IAAI,CAACnD;QACb,CAAC;MACF,CAAE,CAAC;MAEH,QACC;QACC;QACAoD,KAAK,EAAEV,OAAO,CAAED,EAAE,CAAE,aAAa,EAAE,YAAa,CAAC,EAAEO,QAAS,CAAC;QAC7DhD,KAAK,EAAE;MACR,CAAC,EAAAqD,MAAA,CAAAC,kBAAA,CACEL,OAAO;IAEZ;EAAC;IAAAlD,GAAA;IAAAC,KAAA,EAED,SAAAoC,MAAMA,CAAA,EAAG;MACR,IAAAmB,WAAA,GAQI,IAAI,CAACC,KAAK;QAPbC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;QACRV,KAAK,GAAAQ,WAAA,CAALR,KAAK;QACLW,QAAQ,GAAAH,WAAA,CAARG,QAAQ;QACRV,QAAQ,GAAAO,WAAA,CAARP,QAAQ;QACRW,cAAc,GAAAJ,WAAA,CAAdI,cAAc;QACdP,KAAK,GAAAG,WAAA,CAALH,KAAK;QACLQ,IAAI,GAAAL,WAAA,CAAJK,IAAI;MAGL,IAAO,CAAEb,KAAK,IAAIA,KAAK,CAACc,MAAM,KAAK,CAAC,EAAK;QACxC,OACC5C,EAAA,CAAAC,OAAA,CAAAY,aAAA;UAAGO,SAAS,EAAC;QAA2B,GACrCK,OAAO;QACR;QACAD,EAAE,CAAE,4BAA4B,EAAE,YAAa,CAAC,EAChDkB,cACD,CACE,CAAC;MAEN;MACA,OACC1C,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACc,aAAa;QACb5C,KAAK,EAAGyD,QAAU;QAClBR,OAAO,EACN,IAAI,CAACH,aAAa,CAAEC,KAAK,EAAEC,QAAS,CACpC;QACDI,KAAK,EAAGA,KAAO;QACfQ,IAAI,EAAGA,IAAM;QACbF,QAAQ,EAAGA,QAAU;QACrBI,qBAAqB,EAAG,IAAM;QAC9BC,uBAAuB,EAAG;MAAM,CAChC,CAAC;IAEJ;EAAC;AAAA,EAtDsC/C,SAAS;AAAlB;AAyD/B6B,UAAU,CAACmB,YAAY,GAAG;EACzBhB,QAAQ,EAAE,MAAM;EAChBW,cAAc,EAAE;AACjB,CAAC;AAEDd,UAAU,CAACoB,SAAS,GAAG;EACtBR,QAAQ,EAAEd,2DAAmB,CAAE,CAC9BA,0DAAgB,EAChBA,0DAAgB,CACf,CAAC;EAAE;EACLI,KAAK,EAAEJ,yDAAe;EAAE;EACxBe,QAAQ,EAAEf,wDAAc;EACxBK,QAAQ,EAAEL,0DAAgB;EAAE;EAC5BgB,cAAc,EAAEhB,0DAAgB;EAAE;EAClCS,KAAK,EAAET,0DAAgB;EACvBiB,IAAI,EAAEjB,0DAAgBwB;AACvB,CAAC;;;;;;;;;;;;;;;;;;;;;;ACvFD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,eAAeA,CAAEC,aAAa,EAAEC,cAAc,EAAEC,aAAa,EAAG;EAC/EA,aAAa,CAAAC,eAAA,KACVH,aAAa,EAAIC,cAAc,CAChC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,gBAAgBA,CAAE5E,KAAK,EAAEwE,aAAa,EAAG;EACxD,IAAKxE,KAAK,EAAG;IACZ,WAAAqD,MAAA,CAAYmB,aAAa,SAAAnB,MAAA,CAAOrD,KAAK;EACtC;EACA,OAAO,EAAE;AACV;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS6E,SAASA,CAAA,EAAG;EAC3B,IAAMC,IAAI,GAAGC,MAAM,CAACC,QAAQ,CAACC,QAAQ;EACrC,IAAMC,KAAK,GAAGJ,IAAI,CAACK,OAAO,CAAE,UAAW,CAAC;EAExC,IAAIC,MAAM,GAAG,GAAG;EAEhB,IAAKF,KAAK,GAAG,CAAC,CAAC,EAAG;IACjBE,MAAM,GAAGN,IAAI,CAACO,MAAM,CAAE,CAAC,EAAEH,KAAM,CAAC;EACjC;EAEA,OAAOE,MAAM;AACd;AAEO,IAAME,uBAAuB,qGAInC;;;;;;;;;;;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AAC4C;AACR;AACmB;AACjB;AAC+B;AAErE,IAAQI,aAAa,GAAKzE,EAAE,CAAC0E,WAAW,CAAhCD,aAAa;AACrB,IAAQE,QAAQ,GAAK3E,EAAE,CAACC,OAAO,CAAvB0E,QAAQ;AAChB,IAAQnD,EAAE,GAAKxB,EAAE,CAACuB,IAAI,CAAdC,EAAE;AACV,IAAQoD,iBAAiB,GAAK5E,EAAE,CAAC6E,MAAM,CAA/BD,iBAAiB;AACzB,IAAQE,MAAM,GAAK9E,EAAE,CAACG,UAAU,CAAxB2E,MAAM;AACd,IAAAC,GAAA,GAA+C/E,EAAE;EAAvBgF,gBAAgB,GAAAD,GAAA,CAAlCE,gBAAgB;AAExB,SAASC,IAAIA,CAAAC,IAAA,EAA8C;EAAA,IAA1C1B,aAAa,GAAA0B,IAAA,CAAb1B,aAAa;IAAE2B,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;EACrD,IAAQC,MAAM,GAAKF,UAAU,CAArBE,MAAM;EACd,IAAMC,KAAK,GAAG5E,wBAAwB,CAAC4E,KAAK;EAC5C,IAAMC,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,IAAKc,KAAK,CAAC3C,MAAM,KAAK,CAAC,EAAG;IACzB,OACC5C,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACiE,MAAM;MAACW,MAAM,EAAC,SAAS;MAACC,aAAa,EAAG;IAAO,GAC7ClE,EAAE,CAAE,oCAAoC,EAAE,YAAa,CAClD,CACJ,CAAC;EAER;EAEA,IAAK,CAAE8D,MAAM,EAAG;IACf,OACCtF,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC;IAAwB,GACtCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC;IAAyB,GACvCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACT,+DAAc,MAAiB,CAAC,EACjCJ,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC;IAAiB,GAAGT,wBAAwB,CAACgF,IAAW,CAAC,EACxE3F,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC;IAA2B,GACzCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC2D,mDAAU;MACVc,MAAM,EAAGA,MAAQ;MACjB7B,aAAa,EAAGA,aAAe;MAC/B8B,KAAK,EAAGA;IAAO,CACf,CACG,CACD,CACD,CACD,CAAC;EAER;EAEA,OACCvF,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC0D,kDAAS;IACTa,UAAU,EAAGA,UAAY;IACzB3B,aAAa,EAAGA,aAAe;IAC/B8B,KAAK,EAAGA;EAAO,CACf,CAAC,EACAF,UAAU,IAAIrF,EAAA,CAAAC,OAAA,CAAAY,aAAA,gBAASwD,6EAAgC,CAAC,EAC1DrE,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACmE,gBAAgB;IAChBY,KAAK,EAAC,wBAAwB;IAC9BR,UAAU,EAAGA;EAAY,CACP,CACf,CAAC;AAER;AAEAR,iBAAiB,CAAE,wBAAwB,EAAE;EAC5CiB,UAAU,EAAE,CAAC;EACbC,KAAK,EAAEnF,wBAAwB,CAACgF,IAAI;EACpCI,WAAW,EAAEvE,EAAE,CAAE,gBAAgB,EAAE,YAAa,CAAC;EACjDd,IAAI,EAAEN,+DAAc;EACpB4F,QAAQ,EAAE,SAAS;EACnBC,QAAQ,EAAE,CACTzE,EAAE,CAAE,eAAe,EAAE,YAAa,CAAC,EACnC,YAAY,CACZ;EAED0E,IAAI,EAAEhB,IAAI;EAEViB,IAAI,EAAE,SAANA,IAAIA,CAAY5D,KAAK,EAAG;IACvB,IACC6C,UAAU,GACP7C,KAAK,CADR6C,UAAU;IAEX,IAAQE,MAAM,GAAKF,UAAU,CAArBE,MAAM;IACd,OACGA,MAAM,KAAKc,SAAS,GACnB,EAAE,GACFpG,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC8D,QAAQ,QACV3E,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACyD,sDAAa,EAAMc,UAAc,CACzB,CAAC;EAEd;AACD,CAAE,CAAC;;;;;;;;;;;;;AC/FH;AACA;AACA;AACA;AACA;AACuD;AAEvD,IAAQ5D,EAAE,GAAKxB,EAAE,CAACuB,IAAI,CAAdC,EAAE;AACV,IAAQoD,iBAAiB,GAAK5E,EAAE,CAAC6E,MAAM,CAA/BD,iBAAiB;AACzB,IAAQE,MAAM,GAAK9E,EAAE,CAACG,UAAU,CAAxB2E,MAAM;AACd,IAAQL,aAAa,GAAKzE,EAAE,CAAC0E,WAAW,CAAhCD,aAAa;AAErB,SAASS,IAAIA,CAAAC,IAAA,EAAkC;EAAA,IAA9B1B,aAAa,GAAA0B,IAAA,CAAb1B,aAAa;IAAE2B,UAAU,GAAAD,IAAA,CAAVC,UAAU;EACzC,IAAMG,KAAK,GAAG5E,wBAAwB,CAAC4E,KAAK;EAC5C,IAAMC,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,IAAKc,KAAK,CAAC3C,MAAM,KAAK,CAAC,EAAG;IACzB,OACC5C,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACiE,MAAM;MAACW,MAAM,EAAC,SAAS;MAACC,aAAa,EAAG;IAAO,GAC7ClE,EAAE,CAAE,oCAAoC,EAAE,YAAa,CAClD,CACJ,CAAC;EAER;EAEA,OACCxB,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAwB,GACtCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAyB,GACvCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACT,+DAAc,MAAiB,CAAC,EACjCJ,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAiB,GAAGI,EAAE,CAAE,iBAAiB,EAAE,YAAa,CAAQ,CAAC,EAChFxB,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAuC,GACrDpB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACiE,MAAM;IAACW,MAAM,EAAC,SAAS;IAACC,aAAa,EAAG;EAAO,GAC7ClE,EAAE,CAAE,+CAA+C,EAAE,YAAa,CAAC,EACrExB,EAAA,CAAAC,OAAA,CAAAY,aAAA,WAAK,CAAC,EACNb,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAGwF,IAAI,EAAG1F,wBAAwB,CAAC2F,IAAM;IAACC,MAAM,EAAC;EAAQ,GACtD/E,EAAE,CAAE,2BAA2B,EAAE,YAAa,CAC9C,CACI,CAAC,EACTxB,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAK2F,GAAG,EAAG7F,wBAAwB,CAAC8F,GAAG,GAAG,6BAA+B;IAACC,GAAG,EAAGlF,EAAE,CAAE,iBAAiB,EAAE,YAAa;EAAG,CAAE,CACrH,CACD,CACD,CACD,CAAC;AAER;AAEA,IAAMmF,WAAW,GAAG3G,EAAE,CAACC,OAAO,CAACY,aAAa,CAC3C,KAAK,EACL;EACCG,KAAK,EAAE,EAAE;EACTC,MAAM,EAAE;AACT,CAAC,EACDjB,EAAE,CAACC,OAAO,CAACY,aAAa,CAAE,MAAM,EAC/B;EACCK,CAAC,EAAE;AACJ,CACD,CACD,CAAC;AAED0D,iBAAiB,CAAE,uBAAuB,EAAE;EAC3CiB,UAAU,EAAE,CAAC;EACbC,KAAK,EAAEtE,EAAE,CAAE,iBAAiB,EAAE,YAAa,CAAC;EAC5CuE,WAAW,EAAEvE,EAAE,CAAE,2BAA2B,EAAE,YAAa,CAAC;EAC5Dd,IAAI,EAAEiG,WAAW;EACjBX,QAAQ,EAAE,SAAS;EACnBC,QAAQ,EAAE,CACT,aAAa,EACb,YAAY,CACZ;EAEDC,IAAI,EAAEhB;AACP,CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzEH;AACA;AACA;AACyD;AACtB;AAEnC,IAAQ1D,EAAE,GAAKxB,EAAE,CAACuB,IAAI,CAAdC,EAAE;AACV,IACCzB,SAAS,GACNC,EAAE,CAACC,OAAO,CADbF,SAAS;AACK,IAEMyE,UAAU,0BAAAnE,UAAA;EAAA,SAAAmE,WAAA;IAAA5F,eAAA,OAAA4F,UAAA;IAAA,OAAAlE,UAAA,OAAAkE,UAAA,EAAAjE,SAAA;EAAA;EAAAC,SAAA,CAAAgE,UAAA,EAAAnE,UAAA;EAAA,OAAAxB,YAAA,CAAA2F,UAAA;IAAA1F,GAAA;IAAAC,KAAA,EAC9B,SAAAoC,MAAMA,CAAA,EAAG;MACR,IAAAmB,WAAA,GAII,IAAI,CAACC,KAAK;QAHb+C,MAAM,GAAAhD,WAAA,CAANgD,MAAM;QACN7B,aAAa,GAAAnB,WAAA,CAAbmB,aAAa;QACb8B,KAAK,GAAAjD,WAAA,CAALiD,KAAK;MAGN,OACCvF,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACe,qEAAU;QACVY,QAAQ,EAAG8C,MAAQ;QACnBvD,QAAQ,EAAGP,EAAE,CAAE,MAAM,EAAE,YAAa,CAAG;QACvCkB,cAAc,EAAGlB,EAAE,CAAE,OAAO,EAAE,YAAa,CAAG;QAC9CM,KAAK,EAAGyD,KAAO;QACf9C,QAAQ,EAAG,SAAXA,QAAQA,CAAGmE,SAAS,EAAI;UACvBnD,aAAa,CAAE;YACd6B,MAAM,EAAEsB;UACT,CAAE,CAAC;QACJ;MAAG,CAEQ,CAAC;IAEf;EAAC;AAAA,EAtBsC7G,SAAS;AAAlB;AAyB/ByE,UAAU,CAACxB,SAAS,GAAG;EACtBsC,MAAM,EAAE5D,0DAAgB;EAAE;EAC1B+B,aAAa,EAAE/B,wDAAc,CAACmF,UAAU,CAAE;AAC3C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCD;AACA;AACA;AACA,IAAQ9G,SAAS,GAAKC,EAAE,CAACC,OAAO,CAAxBF,SAAS;AAImB;AAEpC,SAAS+G,gBAAgBA,CAAEC,IAAI,EAAG;EACjC,IACCzB,MAAM,GAIHyB,IAAI,CAJPzB,MAAM;IACNQ,KAAK,GAGFiB,IAAI,CAHPjB,KAAK;IACLC,WAAW,GAERgB,IAAI,CAFPhB,WAAW;IACXiB,QAAQ,GACLD,IAAI,CADPC,QAAQ;EAGT,IAAIC,UAAU,GAAG,EAAE;EAEnBA,UAAU,IAAItD,0EAAgB,CAAE2B,MAAM,EAAE,IAAK,CAAC;EAC9C2B,UAAU,IAAItD,0EAAgB,CAAEmC,KAAK,EAAE,OAAQ,CAAC;EAChDmB,UAAU,IAAItD,0EAAgB,CAAEoC,WAAW,EAAE,aAAc,CAAC;EAC5DkB,UAAU,IAAItD,0EAAgB,CAAEqD,QAAQ,EAAE,UAAW,CAAC;EAEtD,OAAOC,UAAU;AAClB;AAAC,IAEoB3C,aAAa,0BAAAjE,UAAA;EAAA,SAAAiE,cAAA;IAAA1F,eAAA,OAAA0F,aAAA;IAAA,OAAAhE,UAAA,OAAAgE,aAAA,EAAA/D,SAAA;EAAA;EAAAC,SAAA,CAAA8D,aAAA,EAAAjE,UAAA;EAAA,OAAAxB,YAAA,CAAAyF,aAAA;IAAAxF,GAAA;IAAAC,KAAA,EACjC,SAAAoC,MAAMA,CAAA,EAAG;MACR,OACCnB,EAAA,CAAAC,OAAA,CAAAY,aAAA,cAAK,aAEJ,EAAEiG,gBAAgB,CAAE,IAAI,CAACvE,KAAM,CAAC,EAAE,GAE9B,CAAC;IAER;EAAC;AAAA,EATyCxC,SAAS;;;;;;;;;;;;;;AC3BpD;;AAEuD;AAErD,aAAW;EACZ,YAAY;;EAEZ,IAAKY,wBAAwB,CAACuG,WAAW,CAACC,SAAS,EAAG;IACrD;EACD;EAEA,IAAQ3F,EAAE,GAAKxB,EAAE,CAACuB,IAAI,CAAdC,EAAE;EACV,IAAQoD,iBAAiB,GAAK5E,EAAE,CAAC6E,MAAM,CAA/BD,iBAAiB;EACzB,IAAQE,MAAM,GAAK9E,EAAE,CAACG,UAAU,CAAxB2E,MAAM;EACd,IAAQL,aAAa,GAAKzE,EAAE,CAAC0E,WAAW,CAAhCD,aAAa;EAErB,IAAM2C,aAAa,GAAG,SAAhBA,aAAaA,CAAAjC,IAAA;IAAA,IAAOkC,IAAI,GAAAlC,IAAA,CAAJkC,IAAI;MAAEC,UAAU,GAAAnC,IAAA,CAAVmC,UAAU;MAAEhB,IAAI,GAAAnB,IAAA,CAAJmB,IAAI;IAAA,OAC/CtG,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACiE,MAAM;MAACW,MAAM,EAAC,SAAS;MAACC,aAAa,EAAG;IAAO,GAC7C2B,IAAI,EACNrH,EAAA,CAAAC,OAAA,CAAAY,aAAA,WAAK,CAAC,EACNb,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAGwF,IAAI,EAAGC,IAAM;MAACC,MAAM,EAAC;IAAQ,GAC7Be,UACA,CACI,CAAC;EAAA,CACT;EAED,IAAMC,SAAS,GAAG/F,EAAE,CAAE,kBAAkB,EAAE,YAAa,CAAC;EAExD,SAAS0D,IAAIA,CAAA,EAAG;IACf,IAAMsC,kBAAkB,GAAG;MAC1BC,OAAO,EAAE,MAAM;MACfC,MAAM,EAAE,QAAQ;MAChBC,QAAQ,EAAE;IACX,CAAC;IAED,IAAMnC,UAAU,GAAGf,aAAa,CAAC,CAAC;IAElC,OACCzE,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC;IAAwB,GACtCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC;IAAyB,GACvCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACT,+DAAc,MAAiB,CAAC,EACjCJ,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC;IAAiB,GAAGmG,SAAgB,CAAC,EACpDvH,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKO,SAAS,EAAC,uCAAuC;MAACwG,KAAK,EAAG;QAAEC,SAAS,EAAE;MAAU;IAAG,GACtFlH,wBAAwB,CAACuG,WAAW,CAACY,SAAS,GAC/C9H,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACuG,aAAa;MACbC,IAAI,EAAG7F,EAAE,CAAE,mDAAmD,EAAE,YAAa,CAAG;MAChF8F,UAAU,EAAG9F,EAAE,CAAE,2BAA2B,EAAE,YAAa,CAAG;MAC9D8E,IAAI,EAAG3F,wBAAwB,CAACuG,WAAW,CAACZ;IAAM,CAClD,CAAC,GAEFtG,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACuG,aAAa;MACbC,IAAI,EAAG7F,EAAE,CAAE,sDAAsD,EAAE,YAAa,CAAG;MACnF8F,UAAU,EAAG9F,EAAE,CAAE,0BAA0B,EAAE,YAAa,CAAG;MAC7D8E,IAAI,EAAG3F,wBAAwB,CAAC2F;IAAM,CACtC,CACD,EAEDtG,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAK+G,KAAK,EAAGJ;IAAoB,GAChCxH,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAK2F,GAAG,EAAG7F,wBAAwB,CAAC8F,GAAG,GAAG,wBAA0B;MAACC,GAAG,EAAGa;IAAW,CAAE,CACpF,CACD,CACD,CACD,CACD,CAAC;EAER;EAEA3C,iBAAiB,CAAE,kBAAkB,EAAE;IACtCiB,UAAU,EAAE,CAAC;IACbC,KAAK,EAAEyB,SAAS;IAChBxB,WAAW,EAAEvE,EAAE,CAAE,0BAA0B,EAAE,YAAa,CAAC;IAC3Dd,IAAI,EACHV,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAKC,KAAK,EAAC,4BAA4B;MAACiH,IAAI,EAAC,MAAM;MAAChH,OAAO,EAAC;IAAW,GACtEf,EAAA,CAAAC,OAAA,CAAAY,aAAA;MAAMmH,MAAM,EAAC,cAAc;MAACC,aAAa,EAAC,OAAO;MAACC,WAAW,EAAC,KAAK;MAAChH,CAAC,EAAC;IAAwC,CAAE,CAC5G,CACL;IACD8E,QAAQ,EAAE,QAAQ;IAElBE,IAAI,EAAEhB;EACP,CAAE,CAAC;AACJ,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjFH;AACA;AACA;;AAEA,IAAQ1D,EAAE,GAAKxB,EAAE,CAACuB,IAAI,CAAdC,EAAE;AACV,IAAQzB,SAAS,GAAKC,EAAE,CAACC,OAAO,CAAxBF,SAAS;AACjB,IACCoI,iBAAiB,GACdnI,EAAE,CAAC0E,WAAW,CADjByD,iBAAiB;AAElB,IAAAC,cAAA,GAKIpI,EAAE,CAACG,UAAU;EAJhBkI,SAAS,GAAAD,cAAA,CAATC,SAAS;EACTC,QAAQ,GAAAF,cAAA,CAARE,QAAQ;EACRC,aAAa,GAAAH,cAAA,CAAbG,aAAa;EACbC,YAAY,GAAAJ,cAAA,CAAZI,YAAY;AAGsB;AACG;AACM;AAIR;AAAA,IAEfjE,SAAS,0BAAAlE,UAAA;EAAA,SAAAkE,UAAA;IAAA3F,eAAA,OAAA2F,SAAA;IAAA,OAAAjE,UAAA,OAAAiE,SAAA,EAAAhE,SAAA;EAAA;EAAAC,SAAA,CAAA+D,SAAA,EAAAlE,UAAA;EAAA,OAAAxB,YAAA,CAAA0F,SAAA;IAAAzF,GAAA;IAAAC,KAAA,EAC7B,SAAAoC,MAAMA,CAAA,EAAG;MACR,IAAAmB,WAAA,GAII,IAAI,CAACC,KAAK;QAHbkB,aAAa,GAAAnB,WAAA,CAAbmB,aAAa;QACb2B,UAAU,GAAA9C,WAAA,CAAV8C,UAAU;QACVG,KAAK,GAAAjD,WAAA,CAALiD,KAAK;MAGN,IACCD,MAAM,GAIHF,UAAU,CAJbE,MAAM;QACNQ,KAAK,GAGFV,UAAU,CAHbU,KAAK;QACLC,WAAW,GAERX,UAAU,CAFbW,WAAW;QACXiB,QAAQ,GACL5B,UAAU,CADb4B,QAAQ;MAGT,OACChH,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACsH,iBAAiB,QACjBnI,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACwH,SAAS;QACTvC,KAAK,EAAGtE,EAAE,CAAE,aAAa,EAAE,YAAa,CAAG;QAC3CiH,WAAW,EAAG;MAAM,GAEpBzI,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACyH,QAAQ,QACRtI,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC2D,mDAAU;QACVc,MAAM,EAAGA,MAAQ;QACjB7B,aAAa,EAAGA,aAAe;QAC/B8B,KAAK,EAAGA;MAAO,CACf,CACQ,CAAC,EACTD,MAAM,IACRtF,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACyH,QAAQ,QACRtI,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC2H,YAAY;QACZnC,IAAI,EAAGzC,mEAAS,CAAC,CAAC,4DAAAxB,MAAA,CAA8DkD,MAAM;MAAK,GACzF9D,EAAE,CAAE,YAAY,EAAE,YAAa,CACpB,CACL,CACA,CAAC,EACZxB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACwH,SAAS;QACTvC,KAAK,EAAGtE,EAAE,CAAE,SAAS,EAAE,YAAa,CAAG;QACvCiH,WAAW,EAAG;MAAO,GAErBzI,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC0H,aAAa;QACbpG,KAAK,EAAGX,EAAE,CAAE,iBAAiB,EAAE,YAAa,CAAG;QAC/CkH,OAAO,EAAG5C,KAAO;QACjBrD,QAAQ,EAAG,SAAXA,QAAQA,CAAG5C,QAAQ,EAAI;UACtByD,yEAAe,CAAE,OAAO,EAAEzD,QAAQ,GAAG,GAAG,GAAG,EAAE,EAAE4D,aAAc,CAAC;QAC/D;MAAG,CACH,CAAC,EACFzD,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC0H,aAAa;QACbpG,KAAK,EAAGX,EAAE,CAAE,uBAAuB,EAAE,YAAa,CAAG;QACrDkH,OAAO,EAAG3C,WAAa;QACvBtD,QAAQ,EAAG,SAAXA,QAAQA,CAAG5C,QAAQ,EAAI;UACtByD,yEAAe,CAAE,aAAa,EAAEzD,QAAQ,GAAG,GAAG,GAAG,EAAE,EAAE4D,aAAc,CAAC;QACrE;MAAG,CACH,CAAC,EACFzD,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAAC0H,aAAa;QACbpG,KAAK,EAAGX,EAAE,CAAE,eAAe,EAAE,YAAa,CAAG;QAC7CkH,OAAO,EAAG1B,QAAU;QACpBvE,QAAQ,EAAG,SAAXA,QAAQA,CAAG5C,QAAQ,EAAI;UACtByD,yEAAe,CAAE,UAAU,EAAEzD,QAAQ,GAAG,GAAG,GAAG,EAAE,EAAE4D,aAAc,CAAC;QAClE;MAAG,CACH,CACS,CAAC,EACZzD,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACwH,SAAS;QACTvC,KAAK,EAAGtE,EAAE,CAAE,WAAW,EAAE,YAAa,CAAG;QACzCiH,WAAW,EAAG;MAAO,GAErBzI,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACyH,QAAQ,QACRtI,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACyD,sDAAa,EAAM,IAAI,CAAC/B,KAAK,CAAC6C,UAAc,CACpC,CACA,CACO,CAAC;IAEtB;EAAC;AAAA,EAxEqCrF,SAAS;AAAlB;AA2E9BwE,SAAS,CAACvB,SAAS,GAAG;EACrBoC,UAAU,EAAE1D,0DAAgB;EAAE;EAC9B+B,aAAa,EAAE/B,wDAAc,CAAE;AAChC,CAAC;;;;;;;;;;;;;ACtGD;;AAEuD;AAEvD,IAAQF,EAAE,GAAKxB,EAAE,CAACuB,IAAI,CAAdC,EAAE;AACV,IAAQoD,iBAAiB,GAAK5E,EAAE,CAAC6E,MAAM,CAA/BD,iBAAiB;AACzB,IAAQE,MAAM,GAAK9E,EAAE,CAACG,UAAU,CAAxB2E,MAAM;AACd,IAAQL,aAAa,GAAKzE,EAAE,CAAC0E,WAAW,CAAhCD,aAAa;AAErB,IAAM2C,aAAa,GAAG,SAAhBA,aAAaA,CAAAjC,IAAA;EAAA,IAAOkC,IAAI,GAAAlC,IAAA,CAAJkC,IAAI;IAAEC,UAAU,GAAAnC,IAAA,CAAVmC,UAAU;IAAEhB,IAAI,GAAAnB,IAAA,CAAJmB,IAAI;EAAA,OAC/CtG,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACiE,MAAM;IAACW,MAAM,EAAC,SAAS;IAACC,aAAa,EAAG;EAAO,GAC7C2B,IAAI,EACNrH,EAAA,CAAAC,OAAA,CAAAY,aAAA,WAAK,CAAC,EACNb,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAGwF,IAAI,EAAGC,IAAM;IAACC,MAAM,EAAC;EAAQ,GAC7Be,UACA,CACI,CAAC;AAAA,CACT;AAED,SAASpC,IAAIA,CAAA0D,KAAA,EAAkC;EAAA,IAA9BnF,aAAa,GAAAmF,KAAA,CAAbnF,aAAa;IAAE2B,UAAU,GAAAwD,KAAA,CAAVxD,UAAU;EACzC,IAAMmC,SAAS,GAAG/F,EAAE,CAAE,uBAAuB,EAAE,YAAa,CAAC;EAC7D,IAAMqH,WAAW,GAAG;IACnBlB,QAAQ,EAAE,OAAO;IACjB1G,MAAM,EAAE,MAAM;IACd6H,YAAY,EAAE;EACf,CAAC;EACD,IAAMtB,kBAAkB,GAAG;IAC1BC,OAAO,EAAE,MAAM;IACfsB,SAAS,EAAE,QAAQ;IACnBC,eAAe,EAAE,SAAS;IAC1BC,SAAS,EAAE;EACZ,CAAC;EAED,IAAMzD,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,OACCzE,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAwB,GACtCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAyB,GACvCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACT,+DAAc,MAAiB,CAAC,EACjCJ,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAiB,GAAGmG,SAAgB,CAAC,EACpDvH,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC,uCAAuC;IAACwG,KAAK,EAAG;MAAEC,SAAS,EAAE;IAAU;EAAG,GACtFlH,wBAAwB,CAACuI,UAAU,CAACpB,SAAS,GAC9C9H,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACuG,aAAa;IACbC,IAAI,EAAG7F,EAAE,CAAE,8CAA8C,EAAE,YAAa,CAAG;IAC3E8F,UAAU,EAAG9F,EAAE,CAAE,2BAA2B,EAAE,YAAa,CAAG;IAC9D8E,IAAI,EAAG3F,wBAAwB,CAACuI,UAAU,CAAC5C;EAAM,CACjD,CAAC,GAEFtG,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACuG,aAAa;IACbC,IAAI,EAAG7F,EAAE,CAAE,uCAAuC,EAAE,YAAa,CAAG;IACpE8F,UAAU,EAAG9F,EAAE,CAAE,0BAA0B,EAAE,YAAa,CAAG;IAC7D8E,IAAI,EAAG3F,wBAAwB,CAAC2F;EAAM,CACtC,CACD,EAEDtG,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAK+G,KAAK,EAAGJ;EAAoB,GAChCxH,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAK2F,GAAG,EAAG7F,wBAAwB,CAAC8F,GAAG,GAAG,mBAAqB;IAACC,GAAG,EAAGa,SAAW;IAACK,KAAK,EAAGiB;EAAa,CAAE,CACrG,CACD,CACD,CACD,CACD,CAAC;AAER;AAEAjE,iBAAiB,CAAE,iBAAiB,EAAE;EACrCiB,UAAU,EAAE,CAAC;EACbC,KAAK,EAAEnF,wBAAwB,CAACgF,IAAI,GAAG,GAAG,GAAGnE,EAAE,CAAE,OAAO,EAAE,YAAa,CAAC;EACxEuE,WAAW,EAAEvE,EAAE,CAAE,iBAAiB,EAAE,YAAa,CAAC;EAClDd,IAAI,EAAEN,+DAAc;EACpB4F,QAAQ,EAAE,SAAS;EACnBC,QAAQ,EAAE,CACT,OAAO,EACP,YAAY,CACZ;EAEDC,IAAI,EAAEhB;AACP,CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EH;AACuD;AACZ;AAEV;AAEjC,IAAQ1D,EAAE,GAAKxB,EAAE,CAACuB,IAAI,CAAdC,EAAE;AACV,IAAQoD,iBAAiB,GAAK5E,EAAE,CAAC6E,MAAM,CAA/BD,iBAAiB;AACzB,IAAQE,MAAM,GAAK9E,EAAE,CAACG,UAAU,CAAxB2E,MAAM;AACd,IAAAqE,WAAA,GAAgCnJ,EAAE,CAACC,OAAO;EAAlCmJ,QAAQ,GAAAD,WAAA,CAARC,QAAQ;EAAEC,SAAS,GAAAF,WAAA,CAATE,SAAS;AAC3B,IAAQ5E,aAAa,GAAKzE,EAAE,CAAC0E,WAAW,CAAhCD,aAAa;AAErB,IAAM6E,SAAS,GAAG3I,wBAAwB,CAAC,CAAC;AAC5C,IAAM4I,WAAW,GAAGD,SAAS,CAACE,UAAU,CAAC1B,SAAS,GAAGwB,SAAS,CAACE,UAAU,CAAClD,IAAI,GAAGgD,SAAS,CAAChD,IAAI;AAE/F,SAASpB,IAAIA,CAAA,EAAG;EACf,IAAAuE,SAAA,GAA2DL,QAAQ,CAAE;MACpEM,gBAAgB,EAAE,6DAA6D;MAC/EC,gBAAgB,EAAE,aAAa;MAC/BC,UAAU,EAAE,6DAA6D;MACzEzH,KAAK,EAAE,CAAEmH,SAAS,CAACE,UAAU,CAACrC,SAAS,IAAImC,SAAS,CAACE,UAAU,CAAC1B,SAAS,GAAGtG,EAAE,CAAE,SAAS,EAAE,YAAa,CAAC,GAAGA,EAAE,CAAE,UAAU,EAAE,YAAa,CAAC;MAC1IqI,SAAS,EAAE;IACZ,CAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAN,SAAA;IANKO,mBAAmB,GAAAF,UAAA;IAAEG,yBAAyB,GAAAH,UAAA;EAQtD,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA,EAAS;IAChC,IAAK,IAAI,KAAKF,mBAAmB,CAACH,SAAS,EAAG;MAC7C;IACD;IACAI,yBAAyB,CAAAE,aAAA,CAAAA,aAAA,KAAOH,mBAAmB;MAAEH,SAAS,EAAE,IAAI;MAAED,UAAU,EAAEI,mBAAmB,CAACN,gBAAgB,GAAG,GAAG,GAAGM,mBAAmB,CAACL;IAAgB,EAAG,CAAC;IACvK,IAAK,CAAEL,SAAS,CAACE,UAAU,CAACrC,SAAS,IAAImC,SAAS,CAACE,UAAU,CAAC1B,SAAS,EAAG;MACzEnJ,mDAAW,CAACK,gBAAgB,CAAE,mBAAmB,EAAEsK,SAAS,CAACE,UAAU,CAAC/C,GAAI,CAAC,CAAC7G,IAAI,CAAE,YAAM;QACzFkE,MAAM,CAACC,QAAQ,CAACqG,MAAM,CAAC,CAAC;MACzB,CAAE,CAAC;MACH;IACD;IACAzL,mDAAW,CAACK,gBAAgB,CAAE,oBAAoB,EAAE,uCAAwC,CAAC,CAACY,IAAI,CAAE,YAAM;MACzGkE,MAAM,CAACC,QAAQ,CAACqG,MAAM,CAAC,CAAC;IACzB,CAAE,CAAC;EACJ,CAAC;EAED,IAAM7C,SAAS,GAAG/F,EAAE,CAAE,kBAAkB,EAAE,YAAa,CAAC;EACxD,IAAMqH,WAAW,GAAG;IACnBlB,QAAQ,EAAE,OAAO;IACjB1G,MAAM,EAAE,MAAM;IACd6H,YAAY,EAAE;EACf,CAAC;EACD,IAAMtB,kBAAkB,GAAG;IAC1BC,OAAO,EAAE,MAAM;IACfsB,SAAS,EAAE,QAAQ;IACnBC,eAAe,EAAE,SAAS;IAC1BC,SAAS,EAAE;EACZ,CAAC;EAED,IAAMzD,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,OACCzE,EAAA,CAAAC,OAAA,CAAAY,aAAA,QAAU2E,UAAU,EACnBxF,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAwB,GACtCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAyB,GACvCpB,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACT,+DAAc,MAAiB,CAAC,EACjCJ,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC;EAAiB,GAAGmG,SAAgB,CAAC,EACpDvH,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAKO,SAAS,EAAC,uCAAuC;IAACwG,KAAK,EAAG;MAAEC,SAAS,EAAE;IAAU;EAAG,GACtF,CAAEyB,SAAS,CAACE,UAAU,CAAC1B,SAAS,IACjC9H,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACiE,MAAM;IAACW,MAAM,EAAC,SAAS;IAACC,aAAa,EAAG;EAAO,GAC/C1F,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAK+G,KAAK,EAAG;MAAED,QAAQ,EAAE,OAAO;MAAED,MAAM,EAAE;IAAO;EAAG,GACjDlG,EAAE,CAAE,4GAA4G,EAAE,YAAa,CAC7H,CAAC,EACNxB,EAAA,CAAAC,OAAA,CAAAY,aAAA,WAAK,CAAC,EACNb,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAGwF,IAAI,EAAGkD,WAAa;IAACc,GAAG,EAAC,YAAY;IAAC9D,MAAM,EAAC;EAAQ,GACrD/E,EAAE,CAAE,0BAA0B,EAAE,YAAa,CAC7C,CACI,CAAC,EAGR8H,SAAS,CAACE,UAAU,CAAC1B,SAAS,IAC/B9H,EAAA,CAAAC,OAAA,CAAAY,aAAA,CAACiE,MAAM;IAACW,MAAM,EAAC,SAAS;IAACC,aAAa,EAAG;EAAO,GAC/C1F,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAK+G,KAAK,EAAG;MAAED,QAAQ,EAAE,OAAO;MAAED,MAAM,EAAE;IAAO;EAAG,GACjDlG,EAAE,CAAE,4GAA4G,EAAE,YAAa,CAC7H,CAAC,EACNxB,EAAA,CAAAC,OAAA,CAAAY,aAAA,WAAK,CAAC,EACNb,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAQO,SAAS,EAAG4I,mBAAmB,CAACJ,UAAY;IAACU,OAAO,EAAGJ,kBAAoB;IAACK,IAAI,EAAC;EAAQ,GAAC,GAAC,EAAEP,mBAAmB,CAAC7H,KAAK,EAAE,GAAS,CAClI,CAAC,EAEVnC,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAK+G,KAAK,EAAGJ;EAAoB,GAChCxH,EAAA,CAAAC,OAAA,CAAAY,aAAA;IAAK2F,GAAG,EAAG8C,SAAS,CAAC7C,GAAG,GAAG,4CAA8C;IAACC,GAAG,EAAGa,SAAW;IAACK,KAAK,EAAGiB;EAAa,CAAE,CAC/G,CACD,CACD,CACD,CACD,CAAC;AAER;AAEAjE,iBAAiB,CAAE,wBAAwB,EAAE;EAC5CiB,UAAU,EAAE,CAAC;EACbC,KAAK,EAAEtE,EAAE,CAAE,kBAAkB,EAAE,YAAa,CAAC;EAC7CuE,WAAW,EAAEvE,EAAE,CAAE,uBAAuB,EAAE,YAAa,CAAC;EACxDd,IAAI,EAAEN,+DAAc;EACpB4F,QAAQ,EAAE,SAAS;EACnBC,QAAQ,EAAE,CACT,OAAO,EACP,YAAY,CACZ;EAEDC,IAAI,EAAEhB;AACP,CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;ACzGH;AACmH;AACjB;AAClG,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,OAAO,oGAAoG,YAAY,WAAW,YAAY,aAAa,WAAW,YAAY,MAAM,KAAK,UAAU,YAAY,aAAa,aAAa,aAAa,aAAa,aAAa,cAAc,aAAa,WAAW,UAAU,YAAY,aAAa,WAAW,WAAW,YAAY,8CAA8C,qBAAqB,iBAAiB,uBAAuB,wBAAwB,oBAAoB,qBAAqB,GAAG,6BAA6B,gBAAgB,0BAA0B,uBAAuB,4BAA4B,2BAA2B,kCAAkC,mCAAmC,uBAAuB,6BAA6B,aAAa,cAAc,sBAAsB,uBAAuB,gBAAgB,iBAAiB,yCAAyC,GAAG,mBAAmB;AACr+B;AACA;AAC+B;AACxB;AACP,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;ACrC1B;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA,MAAwG;AACxG,MAA8F;AAC9F,MAAqG;AACrG,MAAwH;AACxH,MAAiH;AACjH,MAAiH;AACjH,MAAoH;AACpH;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,8FAAO;;;;AAI8D;AACtF,OAAO,iEAAe,8FAAO,IAAI,8FAAO,UAAU,8FAAO,mBAAmB,EAAC;;;;;;;;;;;;AC1BhE;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;AACjF;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTa;;AAEb;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5Da;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;UCbA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;;AAEsB;AACK;AACL;AACA","sources":["webpack://formidable/./js/src/api/class-addon-api.js","webpack://formidable/./js/src/api/index.js","webpack://formidable/./js/src/common/components/icon.js","webpack://formidable/./js/src/common/components/itemselect.js","webpack://formidable/./js/src/common/utilities/values.js","webpack://formidable/./js/src/form/block.js","webpack://formidable/./js/src/form/calculator.js","webpack://formidable/./js/src/form/formselect.js","webpack://formidable/./js/src/form/formshortcode.js","webpack://formidable/./js/src/form/graph.js","webpack://formidable/./js/src/form/inspector.js","webpack://formidable/./js/src/form/modal.js","webpack://formidable/./js/src/form/views.js","webpack://formidable/./js/src/form/css/button.module.css","webpack://formidable/./node_modules/css-loader/dist/runtime/api.js","webpack://formidable/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://formidable/./node_modules/object-assign/index.js","webpack://formidable/./node_modules/prop-types/checkPropTypes.js","webpack://formidable/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://formidable/./node_modules/prop-types/index.js","webpack://formidable/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://formidable/./node_modules/prop-types/lib/has.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/index.js","webpack://formidable/./js/src/form/css/button.module.css?6e55","webpack://formidable/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://formidable/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/webpack/runtime/nonce","webpack://formidable/./js/src/blocks.js"],"sourcesContent":["export class frmAddonAPI {\n\t/**\n\t * A function designed to toggle different addon states.\n\t *\n\t * @param {'frm_install_addon'|'frm_activate_addon'|'frm_multiple_addons'} action The addon state action type.\n\t * @param {string} addon The addon path. Ex: formidable-views/formidable-views.php\n\t *\n\t * @return {Promise} The response from the server.\n\t */\n\tstatic toggleAddonState( action, addon ) {\n\t\treturn fetch( ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: action,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tplugin: addon\n\t\t\t} )\n\t\t} ).then( response => response.json() );\n\t}\n}\n","export { frmAddonAPI } from './class-addon-api';\n","/**\n * Formidable Forms icon\n */\nconst { Component } = wp.element;\nconst { Dashicon } = wp.components;\n\nexport default class FormidableIcon extends Component {\n\tloadCustomSvgIcon( ) {\n\t\tconst icon = formidable_form_selector.icon;\n\t\tif ( icon.match( /frm_white_label_icon/ ) ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\trender() {\n\t\tif ( false !== this.loadCustomSvgIcon() ) {\n\t\t\treturn this.loadCustomSvgIcon();\n\t\t}\n\n\t\tif ( formidable_form_selector.icon !== 'svg' ) {\n\t\t\treturn ;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n","const { __, sprintf } = wp.i18n;\nimport PropTypes from 'prop-types';\n\nconst {\n\tComponent,\n} = wp.element;\nconst {\n\tSelectControl,\n} = wp.components;\n\n/**\n * Displays a Select control with the specified items as options\n *\n */\nexport default class ItemSelect extends Component {\n\tcreateOptions( items, itemName ) {\n\t\tconst options = items.map( item => {\n\t\t\treturn {\n\t\t\t\tlabel: item.label,\n\t\t\t\tvalue: item.value,\n\t\t\t};\n\t\t} );\n\n\t\treturn [\n\t\t\t{\n\t\t\t\t// translators: %s is the name of the item\n\t\t\t\tlabel: sprintf( __( 'Select a %s', 'formidable' ), itemName ),\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t...options,\n\t\t];\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\titems,\n\t\t\tonChange,\n\t\t\titemName,\n\t\t\titemNamePlural,\n\t\t\tlabel,\n\t\t\thelp,\n\t\t} = this.props;\n\n\t\tif ( ( ! items || items.length === 0 ) ) {\n\t\t\treturn (\n\t\t\t\t

                                                                                \n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s is the name of the item\n\t\t\t\t\t\t__( 'Currently, there are no %s', 'formidable' ),\n\t\t\t\t\t\titemNamePlural\n\t\t\t\t\t) }\n\t\t\t\t

                                                                                \n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nItemSelect.defaultProps = {\n\titemName: 'item',\n\titemNamePlural: 'items',\n};\n\nItemSelect.propTypes = {\n\tselected: PropTypes.oneOfType( [\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t] ), //selected item\n\titems: PropTypes.array, //list of possible items\n\tonChange: PropTypes.func,\n\titemName: PropTypes.string, //name for item in select label\n\titemNamePlural: PropTypes.string, //plural of items, used in some labels\n\tlabel: PropTypes.string,\n\thelp: PropTypes.string,\n};\n","/**\n * Updates an attribute with the specified new value\n *\n * @param {string} attributeName Name of block attribute to be updated\n * @param {*} attributeValue Value of block attribute to be updated\n * @param {Function} setAttributes Function to set the block attribute to be updated\n */\nexport function updateAttribute( attributeName, attributeValue, setAttributes ) {\n\tsetAttributes( {\n\t\t[ attributeName ]: attributeValue\n\t} );\n}\n\n/**\n * Sets text attribute for a shortcode from a key value pair\n *\n * @param {*} value Value of text attribute to be set\n * @param {string} attributeName Name of text attribute to be set\n * @return {string} String of the text attribute in the format \" id=10\"\n */\nexport function setTextAttribute( value, attributeName ) {\n\tif ( value ) {\n\t\treturn ` ${ attributeName }=\"${ value }\"`;\n\t}\n\treturn '';\n}\n\n/**\n * Gets subdirectory of current site, if the site isn't on the top level of the domain\n *\n * @return {string} The subdirectory of the current site\n */\nexport function getSubDir() {\n\tconst page = window.location.pathname;\n\tconst index = page.indexOf( 'wp-admin' );\n\n\tlet subDir = '/';\n\n\tif ( index > -1 ) {\n\t\tsubDir = page.substr( 0, index );\n\t}\n\n\treturn subDir;\n}\n\nexport const cssHideAdvancedSettings = `\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n`;\n","/**\n * BLOCK: formidable/simple-form\n *\n * Block to display selected Formidable form with limited setting options\n */\nimport FormShortcode from './formshortcode';\nimport Inspector from './inspector';\nimport FormidableIcon from '../common/components/icon';\nimport FormSelect from './formselect';\nimport { cssHideAdvancedSettings } from '../common/utilities/values';\n\nconst { useBlockProps } = wp.blockEditor;\nconst { Fragment } = wp.element;\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { serverSideRender: ServerSideRender } = wp;\n\nfunction Edit( { setAttributes, attributes, isSelected } ) {\n\tconst { formId } = attributes;\n\tconst forms = formidable_form_selector.forms;\n\tconst blockProps = useBlockProps();\n\n\tif ( forms.length === 0 ) {\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t
                                                                                \n\t\t);\n\t}\n\n\tif ( ! formId ) {\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                { formidable_form_selector.name }
                                                                                \n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t);\n\t}\n\n\treturn (\n\t\t
                                                                                \n\t\t\t\n\t\t\t{ isSelected && }\n\t\t\t\n\t\t
                                                                                \n\t);\n}\n\nregisterBlockType( 'formidable/simple-form', {\n\tapiVersion: 3,\n\ttitle: formidable_form_selector.name,\n\tdescription: __( 'Display a Form', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t__( 'contact forms', 'formidable' ),\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n\n\tsave: function( props ) {\n\t\tconst {\n\t\t\tattributes,\n\t\t} = props;\n\t\tconst { formId } = attributes;\n\t\treturn (\n\t\t\t( formId === undefined )\n\t\t\t\t? ''\n\t\t\t\t: \n\t\t\t\t\t\n\t\t\t\t\n\t\t);\n\t},\n} );\n","/**\n * BLOCK: formidable/calculator\n *\n * Block to display selected Formidable calculator form\n */\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useBlockProps } = wp.blockEditor;\n\nfunction Edit( { setAttributes, attributes } ) {\n\tconst forms = formidable_form_selector.forms;\n\tconst blockProps = useBlockProps();\n\n\tif ( forms.length === 0 ) {\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t
                                                                                \n\t\t);\n\t}\n\n\treturn (\n\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                { __( 'Calculator Form', 'formidable' ) }
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'This site does not have any calculator forms.', 'formidable' ) }\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms.', 'formidable' ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t{\n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t
                                                                                \n\t);\n}\n\nconst FrmCalcIcon = wp.element.createElement(\n\t'svg',\n\t{\n\t\twidth: 20,\n\t\theight: 20\n\t},\n\twp.element.createElement( 'path',\n\t\t{\n\t\t\td: 'M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z',\n\t\t}\n\t)\n);\n\nregisterBlockType( 'formidable/calculator', {\n\tapiVersion: 3,\n\ttitle: __( 'Calculator Form', 'formidable' ),\n\tdescription: __( 'Display a Calculator Form', 'formidable' ),\n\ticon: FrmCalcIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'calculation',\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n} );\n","/**\n * Form selector\n */\nimport ItemSelect from '../common/components/itemselect';\nimport PropTypes from 'prop-types';\n\nconst { __ } = wp.i18n;\nconst {\n\tComponent,\n} = wp.element;\n\nexport default class FormSelect extends Component {\n\trender() {\n\t\tconst {\n\t\t\tformId,\n\t\t\tsetAttributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tformId: newFormId,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\n\t\t);\n\t}\n}\n\nFormSelect.propTypes = {\n\tformId: PropTypes.string, //current formId\n\tsetAttributes: PropTypes.func.isRequired, //setAttributes of block\n};\n","/**\n * Form shortcode of current form\n */\nconst { Component } = wp.element;\n\nimport {\n\tsetTextAttribute,\n} from '../common/utilities/values';\n\nfunction createParamsText( atts ) {\n\tconst {\n\t\tformId,\n\t\ttitle,\n\t\tdescription,\n\t\tminimize,\n\t} = atts;\n\n\tlet paramsText = '';\n\n\tparamsText += setTextAttribute( formId, 'id' );\n\tparamsText += setTextAttribute( title, 'title' );\n\tparamsText += setTextAttribute( description, 'description' );\n\tparamsText += setTextAttribute( minimize, 'minimize' );\n\n\treturn paramsText;\n}\n\nexport default class FormShortcode extends Component {\n\trender() {\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t[formidable\n\t\t\t\t{ createParamsText( this.props ) }\n\t\t\t\t]\n\t\t\t
                                                                                \n\t\t);\n\t}\n}\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\n( function() {\n\t'use strict';\n\n\tif ( formidable_form_selector.chartsAddon.installed ) {\n\t\treturn;\n\t}\n\n\tconst { __ } = wp.i18n;\n\tconst { registerBlockType } = wp.blocks;\n\tconst { Notice } = wp.components;\n\tconst { useBlockProps } = wp.blockEditor;\n\n\tconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\t\n\t\t\t{ text }\n\t\t\t
                                                                                \n\t\t\t\n\t\t\t\t{ buttonText }\n\t\t\t\n\t\t
                                                                                \n\t);\n\n\tconst blockName = __( 'Formidable Chart', 'formidable' );\n\n\tfunction Edit() {\n\t\tconst imageWrapperStyles = {\n\t\t\tpadding: '38px',\n\t\t\tmargin: '0 auto',\n\t\t\tmaxWidth: '600px'\n\t\t};\n\n\t\tconst blockProps = useBlockProps();\n\n\t\treturn (\n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                { blockName }
                                                                                \n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t{ formidable_form_selector.chartsAddon.hasAccess ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t);\n\t}\n\n\tregisterBlockType( 'frm-charts/graph', {\n\t\tapiVersion: 3,\n\t\ttitle: blockName,\n\t\tdescription: __( 'Display a chart or graph', 'formidable' ),\n\t\ticon: (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tcategory: 'design',\n\n\t\tedit: Edit\n\t} );\n}() );\n","/**\n * Inspector controls for Formidable Simple Form block\n */\n\nconst { __ } = wp.i18n;\nconst { Component } = wp.element;\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\nconst {\n\tPanelBody,\n\tPanelRow,\n\tToggleControl,\n\tExternalLink,\n} = wp.components;\n\nimport PropTypes from 'prop-types';\nimport FormSelect from './formselect';\nimport FormShortcode from './formshortcode';\nimport {\n\tupdateAttribute,\n\tgetSubDir,\n} from '../common/utilities/values';\n\nexport default class Inspector extends Component {\n\trender() {\n\t\tconst {\n\t\t\tsetAttributes,\n\t\t\tattributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tformId,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\tminimize,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ formId &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'Go to form', 'formidable' ) }\n\t\t\t\t\t\t\n\t\t\t\t\t }\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'title', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'description', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'minimize', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nInspector.propTypes = {\n\tattributes: PropTypes.object, //block attributes\n\tsetAttributes: PropTypes.func, //setAttributes of block\n};\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useBlockProps } = wp.blockEditor;\n\nconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\n\t\t{ text }\n\t\t
                                                                                \n\t\t\n\t\t\t{ buttonText }\n\t\t\n\t
                                                                                \n);\n\nfunction Edit( { setAttributes, attributes } ) {\n\tconst blockName = __( 'Bootstrap modal popup', 'formidable' );\n\tconst imageStyles = {\n\t\tmaxWidth: '504px',\n\t\theight: 'auto',\n\t\tborderRadius: '12px',\n\t};\n\tconst imageWrapperStyles = {\n\t\tpadding: '38px',\n\t\ttextAlign: 'center',\n\t\tbackgroundColor: '#f2f4f7',\n\t\tmarginTop: '24px',\n\t};\n\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                { blockName }
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t{ formidable_form_selector.modalAddon.hasAccess ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t
                                                                                \n\t);\n}\n\nregisterBlockType( 'frm-modal/modal', {\n\tapiVersion: 3,\n\ttitle: formidable_form_selector.name + ' ' + __( 'Modal', 'formidable' ),\n\tdescription: __( 'Display a modal', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'modal',\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n} );\n","/* global formidable_form_selector */\nimport FormidableIcon from '../common/components/icon';\nimport { frmAddonAPI } from '../api/index';\n\nimport './css/button.module.css';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useState, useEffect } = wp.element;\nconst { useBlockProps } = wp.blockEditor;\n\nconst blockData = formidable_form_selector; // eslint-disable-line camelcase\nconst upgradeLink = blockData.viewsAddon.hasAccess ? blockData.viewsAddon.link : blockData.link;\n\nfunction Edit() {\n\tconst [ addonActivateButton, updateAddonActivateButton ] = useState( {\n\t\tdefaultClassname: 'frm-activate-addon frm-button-primary button button-primary',\n\t\tloadingClassname: 'frm-loading',\n\t\tclassnames: 'frm-activate-addon frm-button-primary button button-primary',\n\t\tlabel: ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ? __( 'Install', 'formidable' ) : __( 'Activate', 'formidable' ),\n\t\tisLoading: false\n\t} );\n\n\tconst activateViewsAddon = () => {\n\t\tif ( true === addonActivateButton.isLoading ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateAddonActivateButton( { ...addonActivateButton, isLoading: true, classnames: addonActivateButton.defaultClassname + ' ' + addonActivateButton.loadingClassname } );\n\t\tif ( ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ) {\n\t\t\tfrmAddonAPI.toggleAddonState( 'frm_install_addon', blockData.viewsAddon.url ).then( () => {\n\t\t\t\twindow.location.reload();\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tfrmAddonAPI.toggleAddonState( 'frm_activate_addon', 'formidable-views/formidable-views.php' ).then( () => {\n\t\t\twindow.location.reload();\n\t\t} );\n\t};\n\n\tconst blockName = __( 'Formidable Views', 'formidable' );\n\tconst imageStyles = {\n\t\tmaxWidth: '504px',\n\t\theight: 'auto',\n\t\tborderRadius: '12px'\n\t};\n\tconst imageWrapperStyles = {\n\t\tpadding: '38px',\n\t\ttextAlign: 'center',\n\t\tbackgroundColor: '#f2f4f7',\n\t\tmarginTop: '24px'\n\t};\n\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                { blockName }
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t{ ! blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms', 'formidable' ) }\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                \n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t}\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                \n\t\t\t\t\t
                                                                                \n\t\t\t\t
                                                                                \n\t\t\t
                                                                                \n\t\t
                                                                                \n\t);\n}\n\nregisterBlockType( 'formidable/simple-view', {\n\tapiVersion: 3,\n\ttitle: __( 'Formidable Views', 'formidable' ),\n\tdescription: __( 'Display a Visual View', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'views',\n\t\t'formidable'\n\t],\n\n\tedit: Edit\n} );\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button.t3RQZV1ZQbHGYyQUnhIY {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.t3RQZV1ZQbHGYyQUnhIY:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: Ts7haRQUDk0YMfLiQW00 2s linear infinite;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./js/src/form/css/button.module.css\"],\"names\":[],\"mappings\":\"AAAA;CACC,gBAAgB;CAChB,YAAY;CACZ,kBAAkB;CAClB,mBAAmB;CACnB,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,WAAW;CACX,qBAAqB;CACrB,kBAAkB;CAClB,uBAAuB;CACvB,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,kBAAkB;;CAElB,sBAAsB;CACtB,QAAQ;CACR,SAAS;CACT,iBAAiB;CACjB,kBAAkB;CAClB,WAAW;CACX,YAAY;;CAEZ,kDAAkC;AACnC\",\"sourcesContent\":[\"button.frm-loading {\\n\\tcursor: progress;\\n\\topacity: 0.7;\\n\\tposition: relative;\\n\\ttext-indent: -999px;\\n\\tmin-width: 70px;\\n\\toverflow: hidden;\\n}\\nbutton.frm-loading:before {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\tbackground: transparent;\\n\\tborder: 1px solid #fff;\\n\\tborder-top-color: transparent;\\n\\tborder-left-color: transparent;\\n\\tborder-radius: 50%;\\n\\n\\tbox-sizing: border-box;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\tmargin-top: -10px;\\n\\tmargin-left: -10px;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\n\\tanimation: spin 2s linear infinite;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nvar _1 = `t3RQZV1ZQbHGYyQUnhIY`;\nexport { _1 as \"frm-loading\" };\nexport var spin = `Ts7haRQUDk0YMfLiQW00`;\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","/**\n * Formidable Simple Blocks\n *\n */\n\nimport './form/block';\nimport './form/calculator';\nimport './form/modal';\nimport './form/graph';\nimport './form/views';\n"],"names":["frmAddonAPI","_classCallCheck","_createClass","key","value","toggleAddonState","action","addon","fetch","ajaxurl","method","headers","body","URLSearchParams","nonce","frmGlobal","plugin","then","response","json","Component","wp","element","Dashicon","components","FormidableIcon","_Component","_callSuper","arguments","_inherits","loadCustomSvgIcon","icon","formidable_form_selector","match","createElement","xmlns","viewBox","width","height","d","render","className","default","_wp$i18n","i18n","__","sprintf","PropTypes","SelectControl","ItemSelect","createOptions","items","itemName","options","map","item","label","concat","_toConsumableArray","_this$props","props","selected","onChange","itemNamePlural","help","length","__next40pxDefaultSize","__nextHasNoMarginBottom","defaultProps","propTypes","oneOfType","string","number","array","func","updateAttribute","attributeName","attributeValue","setAttributes","_defineProperty","setTextAttribute","getSubDir","page","window","location","pathname","index","indexOf","subDir","substr","cssHideAdvancedSettings","FormShortcode","Inspector","FormSelect","useBlockProps","blockEditor","Fragment","registerBlockType","blocks","Notice","_wp","ServerSideRender","serverSideRender","Edit","_ref","attributes","isSelected","formId","forms","blockProps","status","isDismissible","name","block","apiVersion","title","description","category","keywords","edit","save","undefined","href","link","target","src","url","alt","FrmCalcIcon","newFormId","isRequired","createParamsText","atts","minimize","paramsText","chartsAddon","installed","UpgradeNotice","text","buttonText","blockName","imageWrapperStyles","padding","margin","maxWidth","style","alignSelf","hasAccess","fill","stroke","strokeLinecap","strokeWidth","InspectorControls","_wp$components","PanelBody","PanelRow","ToggleControl","ExternalLink","initialOpen","checked","object","_ref2","imageStyles","borderRadius","textAlign","backgroundColor","marginTop","modalAddon","_wp$element","useState","useEffect","blockData","upgradeLink","viewsAddon","_useState","defaultClassname","loadingClassname","classnames","isLoading","_useState2","_slicedToArray","addonActivateButton","updateAddonActivateButton","activateViewsAddon","_objectSpread","reload","rel","onClick","type"],"sourceRoot":""} \ No newline at end of file From 31960b6431f0741f93af340a98b4cbf31839e105 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 6 Jan 2026 15:52:15 +0300 Subject: [PATCH 38/39] Trim value before comparison check --- css/admin/frm-settings-components.css | 628 +- css/admin/welcome-tour.css | 153 +- css/font_icons.css | 854 +- css/frm_admin.css | 12560 ++++++++++++++++++- css/frm_testing_mode.css | 2852 ++++- js/addons-page.js | 4844 +++++++- js/addons-page.js.map | 2 +- js/form-templates.js | 6798 ++++++++++- js/form-templates.js.map | 2 +- js/formidable-settings-components.js | 2809 ++++- js/formidable-settings-components.js.map | 2 +- js/formidable.js | 7 +- js/formidable_admin.js | 13234 ++++++++++++++++++++- js/formidable_admin.js.map | 2 +- js/formidable_blocks.js | 2739 ++++- js/formidable_blocks.js.map | 2 +- js/formidable_dashboard.js | 962 +- js/formidable_dashboard.js.map | 2 +- js/formidable_overlay.js | 790 +- js/formidable_overlay.js.map | 2 +- js/formidable_styles.js | 3161 ++++- js/formidable_styles.js.map | 2 +- js/frm_testing_mode.js | 3400 +++++- js/onboarding-wizard.js | 1900 ++- js/onboarding-wizard.js.map | 2 +- js/welcome-tour.js | 4440 ++++++- 26 files changed, 62116 insertions(+), 33 deletions(-) diff --git a/css/admin/frm-settings-components.css b/css/admin/frm-settings-components.css index 405b8e2789..aa7eb07c43 100644 --- a/css/admin/frm-settings-components.css +++ b/css/admin/frm-settings-components.css @@ -1 +1,627 @@ -.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus{background:none}.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover>svg:last-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:first-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:last-child{color:var(--grey-900)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component{align-self:center}.frm_settings_form .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button{background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button{position:relative;height:36px !important;background-image:none !important;overflow:hidden;background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container::after,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm_settings_form .frm-style-component .wp-color-result-text,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm_settings_form .frm-style-component .color-alpha,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm_settings_form .frm-style-component .wp-picker-input-wrap input,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component>div{max-width:216px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container{max-width:calc(100% - 44px);position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box{width:36px;height:36px;padding:0;background:#fff;overflow:hidden;text-indent:-999px;flex-wrap:wrap;border:none}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame{margin-left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper{position:relative;width:36px;height:36px;margin:0;border:1px solid var(--grey-300);border-radius:var(--small-radius);overflow:hidden;box-sizing:border-box}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame{max-width:120%;height:120%;margin:-10%;position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;margin:0;border-radius:var(--small-radius)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option{width:100%;height:100%;border:1px solid var(--red-500);text-indent:-9999px;position:absolute;top:0;left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:rgba(255,255,255,.8)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:url("../../images/style/close.svg") no-repeat;background-position:center}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after{opacity:1}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img{width:100%;height:100%}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper+*,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option *{display:none}.frm-style-component .frm-radio-container{max-width:216px;height:36px;background:#f2f4f7;gap:var(--small-gap);padding:var(--gap-2xs);box-sizing:border-box;border-radius:var(--small-radius);position:relative}.frm-style-component.frm-field-shape .frm-radio-container{max-width:unset}.frm-style-component.frm-direction-component .frm-radio-container{gap:var(--gap-xs)}.frm-style-component .frm-radio-container svg{width:16px}.frm-style-component .frm-radio-container .frm-radio-active-tracker{display:block;width:28%;height:calc(100% - 8px);background:#fff;border-radius:var(--small-radius);box-shadow:var(--button-shadow);position:absolute;top:var(--gap-2xs);bottom:0;left:var(--gap-2xs);z-index:1;transition:.35s transform cubic-bezier(0.075, 0.82, 0.165, 1)}.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{width:calc(50% - var(--gap-xs))}.frm-style-component .frm-radio-container>label{width:30%;height:100%;margin:0;cursor:pointer;position:relative;display:flex;z-index:2}.frm-style-component.frm-field-shape .frm-radio-container>label{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container>label,.frm-style-component.frm-direction-component .frm-radio-container>label,.frm-style-component.frm-text-toggle-component .frm-radio-container>label{width:50%}.frm-style-component.frm-text-toggle-component .frm-radio-container{height:44px;max-width:unset;gap:var(--gap-xs);padding:var(--gap-xs)}.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{height:calc(100% - var(--gap-sm));top:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul>li:not(.frm-active):hover,.frm-style-component .frm-radio-container input:not(:checked)+label:hover{background:#eaecf0;border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-component .frm-radio-container input{display:none}.frm-style-component .frm-slider-container{width:calc(100% - 91px);display:flex;align-items:center;color:#1d2939}.frm-style-component .frm-slider-container svg.frmsvg{color:currentColor;margin-right:8px;margin-left:-5px;position:relative;z-index:15}.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover{color:#4199fd;cursor:pointer}.frm-style-component .frm-slider-container .frm-slider-active-track{display:block;height:100%;width:0;position:relative;border-radius:200px}.frm-style-component .frm-slider-container .frm-slider-active-track,.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{background:#4199fd;box-shadow:0 1.88px 4px -1px rgba(16,24,40,.03),0 6px 8px -2px rgba(16,24,40,.08)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{position:absolute;display:block;width:16px;height:16px;border-radius:50%;transform:translateX(15px);cursor:grab;right:0;top:0;bottom:0;margin:auto}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label{position:absolute;display:block;width:48px;height:36px;background:#101828;color:#fff;font-weight:400;font-size:var(--text-sm);line-height:36px;border-radius:var(--small-radius);transform:translate(-18px, -42px) scale3d(0.7, 1, 1);opacity:0;z-index:-2;pointer-events:none;text-align:center;user-select:none}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label{z-index:12;transform:translate(-18px, -42px) scale3d(1, 1, 1);opacity:1;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before{content:"";display:block;position:absolute;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-5px, -5px) scale3d(0.7, 0.7, 1);border:4px solid #4199fd;opacity:0;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before{opacity:.5;transform:translate(-5px, -5px) scale3d(1, 1, 1);transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after{content:"";position:absolute;display:block;width:180%;height:200%;border-radius:50%;left:0;top:0;transform:translate(-24%, -24%)}.frm-style-component .frm-slider-value{width:86px;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300)}.frm-style-component .frm-slider-value>*{border:none}.frm-style-component .frm-slider-value input{width:40px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-style-component .frm-slider-value select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px;padding-right:24px !important}.frm-style-component .frm-slider{display:block;width:calc(100% - 5px);height:4px;background:#eaecf0;border-radius:200px;cursor:pointer}.frm-slider-component .frm-independent-slider-field{margin-top:10px}.frm-slider-component.frm-disabled .frm-slider-container{pointer-events:none;opacity:.5}.frm-slider-component.frm-disabled .frm-slider-value input[type=text]{width:28px}.frm-slider-component.frm-disabled .frm-slider-value select{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text]{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select{width:28px}.frm-style-component .frm-slider-component.frm-has-multiple-values{margin-bottom:10px}.frm-tabs-wrapper{position:relative;overflow:hidden}.frm-tabs-wrapper .frm-tabs-navigator{margin:0;padding:0;display:flex;gap:var(--gap-xs);justify-content:space-between;align-items:center;background:#f2f4f7;border-radius:var(--small-radius);box-sizing:border-box;height:44px;position:relative;z-index:2}.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item{flex:1;text-align:center;cursor:pointer}.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background{display:block;height:100%;background:#fff;position:absolute;top:0;left:0;z-index:1}.frm-style-tabs-wrapper{position:relative}.frm-style-tabs-wrapper .frm-tabs-navs{padding:0;min-height:44px}.frm-style-tabs-wrapper .frm-tabs-navs ul{margin:0;height:var(--h-md);position:relative;justify-content:space-between}.frm-style-tabs-wrapper .frm-tabs-navs ul li,.frm-style-tabs-wrapper .frm-tabs-navs ul li a{color:var(--grey-500);font-weight:500;font-size:var(--text-sm);line-height:28px}.frm-style-tabs-wrapper .frm-tabs-navs ul li{flex:1;height:28px;text-align:center;margin-top:var(--gap-xs);margin-bottom:0;cursor:pointer}.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active,.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a{color:var(--grey-900)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter{position:absolute;top:0;left:0;width:100%;background:#f2f4f7;height:44px;margin:0;border-radius:var(--small-radius)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline{height:28px;background:#fff;position:absolute;left:0;bottom:8px;width:45px;transition:.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94);border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first{left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last{left:calc(-1*var(--gap-xs))}.frm-tabs-container{position:relative;overflow:hidden;margin-top:var(--gap-md);height:100%}.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track{transition:.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-tabs-wrapper .frm-tabs-slide-track>div{flex:0 0 100%;opacity:0;transition:.25s opacity linear;position:relative;height:auto;max-height:unset;overflow:hidden;box-sizing:border-box}.frm-style-tabs-wrapper .frm-tabs-slide-track>div>div{overflow:auto;position:relative;width:100%;padding:0;box-sizing:border-box}.frm-tabs-slide-track>div>div:first-child{height:100%}.frm-tabs-slide-track>div.frm-active{opacity:1;transition:.35s opacity linear}.frm-style-component .frm_toggle_slider{background:#f2f4f7}.frm-style-component label.frm-copy-text{line-height:32px;cursor:pointer;white-space:nowrap}.frm-style-component .wp-picker-holder{right:0}.frm-style-component .CodeMirror{min-height:unset !important;height:350px !important}.frm-style-component .CodeMirror .CodeMirror-placeholder{color:var(--grey-400)}.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading{font-weight:500;font-size:var(--text-md);color:var(--grey-900)}.frm-unit-input{position:relative;display:flex;align-items:center}.frm-unit-input input[type=number]::-webkit-outer-spin-button,.frm-unit-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.frm-unit-input .frm-input-group-suffix{position:absolute;top:1px;right:1px;display:flex;align-items:center;height:calc(100% - 2px);padding-right:var(--gap-xs)}.frm-unit-input .frm-input-group-suffix select{width:fit-content;height:100%;min-height:unset;font-size:var(--text-sm);text-align:right;color:var(--grey-500) !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%;padding-left:var(--gap-2xs);padding-right:21px !important;border:rgba(0,0,0,0)}.frm-unit-input .frm-input-group-suffix select:focus-visible{outline:1px solid var(--primary-500);outline-offset:-2px} +/*!***********************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/admin/frm-settings-components.scss ***! + \***********************************************************************************************************************************************************************************************************************************************/ +/** + * Formidable Forms settings components styles + */ +/** + * Accordion settings component styles + */ +.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus { + background: none; +} +.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover > svg:last-child, +.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title > svg:first-child, +.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title > svg:last-child { + color: var(--grey-900); +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component { + align-self: center; +} + +/** + * Color picker component styles + */ +.frm_settings_form .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button, +.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button { + background-color: #fff !important; +} +.frm_settings_form .frm-style-component .wp-picker-container button, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button { + position: relative; + height: 36px !important; + background-image: none !important; + overflow: hidden; + background-color: #fff !important; +} +.frm_settings_form .frm-style-component .wp-picker-container::after, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after { + content: ""; + width: 20px; + height: 20px; + display: block; + position: absolute; + top: 0; + right: 8px; + bottom: 0; + margin: auto; + background: url("../../images/style/small-arrow.svg") no-repeat; + background-position: center; + z-index: 10; +} +.frm_settings_form .frm-style-component .wp-color-result-text, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text { + line-height: 36px !important; + padding: 0 12px; + border: 0; +} +.frm_settings_form .frm-style-component .color-alpha, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha { + width: 20px !important; + height: 20px !important; + border-radius: 50% !important; + border: 1px solid rgb(208, 213, 221); + top: 0; + left: 0; + bottom: 0; + margin: auto; + margin-left: 12px; +} +.frm_settings_form .frm-style-component .wp-picker-input-wrap input, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input { + width: calc(100% - 10px) !important; + margin: 1px 5px; + height: 32px; + line-height: 32px; +} + +/** + * Background image component styles + */ +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component > div { + max-width: 216px; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container { + max-width: calc(100% - 44px); + position: relative; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box { + width: 36px; + height: 36px; + padding: 0; + background: white; + overflow: hidden; + text-indent: -999px; + flex-wrap: wrap; + border: none; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame { + margin-left: 0; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper { + position: relative; + width: 36px; + height: 36px; + margin: 0; + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); + overflow: hidden; + box-sizing: border-box; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame { + max-width: 120%; + height: 120%; + margin: -10%; + position: relative; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + margin: 0; + border-radius: var(--small-radius); +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option { + width: 100%; + height: 100%; + border: 1px solid var(--red-500); + text-indent: -9999px; + position: absolute; + top: 0; + left: 0; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before { + opacity: 0; + content: ""; + display: block; + position: absolute; + width: 100%; + height: 100%; + z-index: 1; + top: 0; + left: 0; + background: rgba(255, 255, 255, 0.8); +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after { + opacity: 0; + content: ""; + display: block; + position: absolute; + width: 100%; + height: 100%; + z-index: 1; + top: 0; + left: 0; + background: url("../../images/style/close.svg") no-repeat; + background-position: center; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after { + opacity: 1; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img { + width: 100%; + height: 100%; +} +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper + *, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings, +.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option * { + display: none; +} + +/** + * Radio buttons component styles + */ +.frm-style-component .frm-radio-container { + max-width: 216px; + height: 36px; + background: rgb(242, 244, 247); + gap: var(--small-gap); + padding: var(--gap-2xs); + box-sizing: border-box; + border-radius: var(--small-radius); + position: relative; +} +.frm-style-component.frm-field-shape .frm-radio-container { + max-width: unset; +} +.frm-style-component.frm-direction-component .frm-radio-container { + gap: var(--gap-xs); +} +.frm-style-component .frm-radio-container svg { + width: 16px; +} +.frm-style-component .frm-radio-container .frm-radio-active-tracker { + display: block; + width: 28%; + height: calc(100% - 8px); + background: white; + border-radius: var(--small-radius); + box-shadow: var(--button-shadow); + position: absolute; + top: var(--gap-2xs); + bottom: 0; + left: var(--gap-2xs); + z-index: 1; + transition: 0.35s transform cubic-bezier(0.075, 0.82, 0.165, 1); +} +.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker { + width: 23%; +} +.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker, .frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker, .frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker { + width: calc(50% - var(--gap-xs)); +} +.frm-style-component .frm-radio-container > label { + width: 30%; + height: 100%; + margin: 0; + cursor: pointer; + position: relative; + display: flex; + z-index: 2; +} +.frm-style-component.frm-field-shape .frm-radio-container > label { + width: 23%; +} +.frm-style-component.frm-align-component.frm-2-options .frm-radio-container > label, .frm-style-component.frm-direction-component .frm-radio-container > label, .frm-style-component.frm-text-toggle-component .frm-radio-container > label { + width: 50%; +} +.frm-style-component.frm-text-toggle-component .frm-radio-container { + height: 44px; + max-width: unset; + gap: var(--gap-xs); + padding: var(--gap-xs); +} +.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker { + height: calc(100% - var(--gap-sm)); + top: var(--gap-xs); +} + +.frm-style-tabs-wrapper .frm-tabs-navs ul > li:not(.frm-active):hover, +.frm-style-component .frm-radio-container input:not(:checked) + label:hover { + background: rgb(234, 236, 240); + border-radius: var(--small-radius); + box-shadow: var(--button-shadow); +} + +.frm-style-component .frm-radio-container input { + display: none; +} + +/** + * Sliders component styles + */ +.frm-style-component .frm-slider-container { + width: calc(100% - 91px); + display: flex; + align-items: center; + color: rgb(29, 41, 57); +} +.frm-style-component .frm-slider-container svg.frmsvg { + color: currentColor; + margin-right: 8px; + margin-left: -5px; + position: relative; + z-index: 15; +} + +.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover { + color: rgb(65, 153, 253); + cursor: pointer; +} + +.frm-style-component .frm-slider-container .frm-slider-active-track { + display: block; + height: 100%; + width: 0; + position: relative; + border-radius: 200px; +} +.frm-style-component .frm-slider-container .frm-slider-active-track, +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet { + background: rgb(65, 153, 253); + box-shadow: 0 1.88px 4px -1px rgba(16, 24, 40, 0.03), 0 6px 8px -2px rgba(16, 24, 40, 0.08); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet { + position: absolute; + display: block; + width: 16px; + height: 16px; + border-radius: 50%; + transform: translateX(15px); + cursor: grab; + right: 0; + top: 0; + bottom: 0; + margin: auto; +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label { + position: absolute; + display: block; + width: 48px; + height: 36px; + background: rgb(16, 24, 40); + color: white; + font-weight: 400; + font-size: var(--text-sm); + line-height: 36px; + border-radius: var(--small-radius); + transform: translate(-18px, -42px) scale3d(0.7, 1, 1); + opacity: 0; + z-index: -2; + pointer-events: none; + text-align: center; + user-select: none; +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label { + z-index: 12; + transform: translate(-18px, -42px) scale3d(1, 1, 1); + opacity: 1; + transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before { + content: ""; + display: block; + position: absolute; + width: 18px; + height: 18px; + border-radius: 50%; + left: 0; + top: 0; + transform: translate(-5px, -5px) scale3d(0.7, 0.7, 1); + border: 4px solid rgb(65, 153, 253); + opacity: 0; + transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before { + opacity: 0.5; + transform: translate(-5px, -5px) scale3d(1, 1, 1); + transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after { + content: ""; + position: absolute; + display: block; + width: 180%; + height: 200%; + border-radius: 50%; + left: 0; + top: 0; + transform: translate(-24%, -24%); +} + +.frm-style-component .frm-slider-value { + width: 86px; + height: 36px; + display: flex; + justify-content: center; + box-sizing: border-box; + background: white; + border-radius: var(--small-radius); + border: 1px solid var(--grey-300); +} +.frm-style-component .frm-slider-value > * { + border: none; +} +.frm-style-component .frm-slider-value input { + width: 40px; + height: 100%; + padding: 0; + font-size: var(--text-sm); + color: rgb(16, 24, 40); + padding-left: 12px; + box-sizing: border-box; +} +.frm-style-component .frm-slider-value select { + text-align: right; + padding: 0; + font-size: var(--text-sm); + color: rgb(102, 112, 133); + width: 44px; + background: url("../../images/style/small-arrow.svg") no-repeat; + background-position: center right 12px; + padding-right: 24px !important; +} +.frm-style-component .frm-slider { + display: block; + width: calc(100% - 5px); + height: 4px; + background: rgb(234, 236, 240); + border-radius: 200px; + cursor: pointer; +} + +.frm-slider-component .frm-independent-slider-field { + margin-top: 10px; +} +.frm-slider-component.frm-disabled .frm-slider-container { + pointer-events: none; + opacity: 0.5; +} +.frm-slider-component.frm-disabled .frm-slider-value input[type=text] { + width: 28px; +} +.frm-slider-component.frm-disabled .frm-slider-value select { + width: 56px; +} +.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text] { + width: 56px; +} +.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select { + width: 28px; +} + +.frm-style-component .frm-slider-component.frm-has-multiple-values { + margin-bottom: 10px; +} + +/** + * Tabs component styles + */ +.frm-tabs-wrapper { + position: relative; + overflow: hidden; +} +.frm-tabs-wrapper .frm-tabs-navigator { + margin: 0; + padding: 0; + display: flex; + gap: var(--gap-xs); + justify-content: space-between; + align-items: center; + background: rgb(242, 244, 247); + border-radius: var(--small-radius); + box-sizing: border-box; + height: 44px; + position: relative; + z-index: 2; +} +.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item { + flex: 1; + text-align: center; + cursor: pointer; +} +.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background { + display: block; + height: 100%; + background: white; + position: absolute; + top: 0; + left: 0; + z-index: 1; +} + +.frm-style-tabs-wrapper { + position: relative; +} +.frm-style-tabs-wrapper .frm-tabs-navs { + padding: 0; + min-height: 44px; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul { + margin: 0; + height: var(--h-md); + position: relative; + justify-content: space-between; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li, +.frm-style-tabs-wrapper .frm-tabs-navs ul li a { + color: var(--grey-500); + font-weight: 500; + font-size: var(--text-sm); + line-height: 28px; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li { + flex: 1; + height: 28px; + text-align: center; + margin-top: var(--gap-xs); + margin-bottom: 0; + cursor: pointer; +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active, .frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a { + color: var(--grey-900); +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child { + margin-left: var(--gap-xs); +} +.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child { + margin-right: var(--gap-xs); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter { + position: absolute; + top: 0; + left: 0; + width: 100%; + background: rgb(242, 244, 247); + height: 44px; + margin: 0; + border-radius: var(--small-radius); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline { + height: 28px; + background: white; + position: absolute; + left: 0; + bottom: 8px; + width: 45px; + transition: 0.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); + border-radius: var(--small-radius); + box-shadow: var(--button-shadow); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first { + left: var(--gap-xs); +} +.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last { + left: calc(-1 * var(--gap-xs)); +} + +.frm-tabs-container { + position: relative; + overflow: hidden; + margin-top: var(--gap-md); + height: 100%; +} + +.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track { + transition: 0.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-style-tabs-wrapper .frm-tabs-slide-track > div { + flex: 0 0 100%; + opacity: 0; + transition: 0.25s opacity linear; + position: relative; + height: auto; + max-height: unset; + overflow: hidden; + box-sizing: border-box; +} +.frm-style-tabs-wrapper .frm-tabs-slide-track > div > div { + overflow: auto; + position: relative; + width: 100%; + padding: 0; + box-sizing: border-box; +} + +.frm-tabs-slide-track > div > div:first-child { + height: 100%; +} +.frm-tabs-slide-track > div.frm-active { + opacity: 1; + transition: 0.35s opacity linear; +} + +/** + * Miscellaneous settings component styles + */ +.frm-style-component .frm_toggle_slider { + background: rgb(242, 244, 247); +} + +.frm-style-component label.frm-copy-text { + line-height: 32px; + cursor: pointer; + white-space: nowrap; +} + +.frm-style-component .wp-picker-holder { + right: 0; +} + +.frm-style-component .CodeMirror { + min-height: unset !important; + height: 350px !important; +} +.frm-style-component .CodeMirror .CodeMirror-placeholder { + color: var(--grey-400); +} + +.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading { + font-weight: 500; + font-size: var(--text-md); + color: var(--grey-900); +} + +.frm-unit-input { + position: relative; + display: flex; + align-items: center; +} +.frm-unit-input input[type=number]::-webkit-outer-spin-button, +.frm-unit-input input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + appearance: none; +} +.frm-unit-input .frm-input-group-suffix { + position: absolute; + top: 1px; + right: 1px; + display: flex; + align-items: center; + height: calc(100% - 2px); + padding-right: var(--gap-xs); +} +.frm-unit-input .frm-input-group-suffix select { + width: fit-content; + height: 100%; + min-height: unset; + font-size: var(--text-sm); + text-align: right; + color: var(--grey-500) !important; + background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%; + padding-left: var(--gap-2xs); + padding-right: 21px !important; + border: transparent; +} +.frm-unit-input .frm-input-group-suffix select:focus-visible { + outline: 1px solid var(--primary-500); + outline-offset: -2px; +} + +/*# sourceMappingURL=frm-settings-components.css.map*/ \ No newline at end of file diff --git a/css/admin/welcome-tour.css b/css/admin/welcome-tour.css index 6b3f3cf0fc..306d2df092 100644 --- a/css/admin/welcome-tour.css +++ b/css/admin/welcome-tour.css @@ -1 +1,152 @@ -.frm-checklist{width:316px;height:400px;overflow:hidden}.frm-checklist,.frm-checklist *,.frm-checklist *::before,.frm-checklist *::after{box-sizing:border-box}.frm-checklist p,.frm-checklist span{font-size:var(--text-xs)}.frm-checklist__header .frmsvg{transition:transform 200ms ease-out 50ms}.frm-checklist__progress-bar{height:8px}.frm-checklist__progress-fill{width:0}.frm-checklist__dismiss{height:50px;border-top:1px solid var(--grey-100) !important;cursor:pointer;transition:height 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-checklist__dismiss>span{transition:color 150ms ease-out}.frm-checklist__dismiss:hover>span{color:var(--grey-600) !important}.frm-checklist__completed{height:100%}.frm-checklist__completed p{color:var(--grey-800);margin:0}.frm-checklist__step-status{height:16px;width:16px;border-radius:50%;border:1.5px dashed var(--grey-400)}.frm-checklist__step-description{background-color:var(--grey-50);border-radius:var(--small-radius);line-height:var(--leading);display:none}.frm-checklist__step--active .frm-checklist__step-title,.frm-checklist__step--active .frm-checklist__step-title a{font-weight:600;color:var(--grey-800)}.frm-checklist__step--active .frm-checklist__step-description{display:block}.frm-checklist__step--completed .frm-checklist__step-status{background-color:var(--success-500);border-style:solid;border-color:var(--success-500)}.frm-checklist--collapsed{height:auto}.frm-checklist--collapsed .frm-checklist__steps{display:none}.frm-checklist--collapsed .frm-checklist__dismiss{height:0;overflow:hidden}.frm-checklist--collapsed .frm-checklist__header .frmsvg{transform:rotate(-180deg)}.frm-spotlight{--fadeout-time: 25ms;position:fixed;cursor:default}.frm-spotlight[data-placement=right]{transform:translateY(-50%)}.frm-spotlight[data-placement=bottom]{transform:translateX(-50%)}.frm-spotlight>*{flex:0 0 auto}.frm-spotlight__content{position:relative;box-sizing:border-box;flex-shrink:0;width:242px;border:1px solid var(--grey-200);overflow:visible}.frm-spotlight__content::after{content:"";position:absolute;width:11px;height:11px;background-color:inherit;transform:translateY(-50%) rotate(45deg);border-left:1px solid var(--grey-200);border-radius:2px}.frm-spotlight[data-placement=right] .frm-spotlight__content::after{top:50%;left:-6px;transform:translateY(-50%) rotate(45deg);border-bottom:1px solid var(--grey-200)}.frm-spotlight[data-placement=bottom] .frm-spotlight__content::after{top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);border-top:1px solid var(--grey-200)}.frm-spotlight__pointer{box-sizing:border-box;width:14px;height:14px;background-color:var(--grey-600);padding:3px;border-radius:50%}.frm-spotlight[data-placement=right] .frm-spotlight__pointer{margin-right:var(--gap-2xs)}.frm-spotlight[data-placement=bottom] .frm-spotlight__pointer{margin-bottom:var(--gap-2xs)}.frm-welcome-tour .frm-checklist{position:fixed;right:var(--gap-md);bottom:var(--gap-sm);z-index:9999} +/*!************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/admin/welcome-tour.scss ***! + \************************************************************************************************************************************************************************************************************************************/ +.frm-checklist { + width: 316px; + height: 400px; + overflow: hidden; +} +.frm-checklist, +.frm-checklist *, +.frm-checklist *::before, +.frm-checklist *::after { + box-sizing: border-box; +} +.frm-checklist p, +.frm-checklist span { + font-size: var(--text-xs); +} +.frm-checklist__header .frmsvg { + transition: transform 200ms ease-out 50ms; +} +.frm-checklist__progress-bar { + height: 8px; +} +.frm-checklist__progress-fill { + width: 0; +} +.frm-checklist__dismiss { + height: 50px; + border-top: 1px solid var(--grey-100) !important; + cursor: pointer; + transition: height 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.frm-checklist__dismiss > span { + transition: color 150ms ease-out; +} +.frm-checklist__dismiss:hover > span { + color: var(--grey-600) !important; +} +.frm-checklist__completed { + height: 100%; +} +.frm-checklist__completed p { + color: var(--grey-800); + margin: 0; +} +.frm-checklist__step-status { + height: 16px; + width: 16px; + border-radius: 50%; + border: 1.5px dashed var(--grey-400); +} +.frm-checklist__step-description { + background-color: var(--grey-50); + border-radius: var(--small-radius); + line-height: var(--leading); + display: none; +} +.frm-checklist__step--active .frm-checklist__step-title, +.frm-checklist__step--active .frm-checklist__step-title a { + font-weight: 600; + color: var(--grey-800); +} +.frm-checklist__step--active .frm-checklist__step-description { + display: block; +} +.frm-checklist__step--completed .frm-checklist__step-status { + background-color: var(--success-500); + border-style: solid; + border-color: var(--success-500); +} +.frm-checklist--collapsed { + height: auto; +} +.frm-checklist--collapsed .frm-checklist__steps { + display: none; +} +.frm-checklist--collapsed .frm-checklist__dismiss { + height: 0; + overflow: hidden; +} +.frm-checklist--collapsed .frm-checklist__header .frmsvg { + transform: rotate(-180deg); +} + +.frm-spotlight { + --fadeout-time: 25ms; + position: fixed; + cursor: default; +} +.frm-spotlight[data-placement=right] { + transform: translateY(-50%); +} +.frm-spotlight[data-placement=bottom] { + transform: translateX(-50%); +} +.frm-spotlight > * { + flex: 0 0 auto; +} +.frm-spotlight__content { + position: relative; + box-sizing: border-box; + flex-shrink: 0; + width: 242px; + border: 1px solid var(--grey-200); + overflow: visible; +} +.frm-spotlight__content::after { + content: ""; + position: absolute; + width: 11px; + height: 11px; + background-color: inherit; + transform: translateY(-50%) rotate(45deg); + border-left: 1px solid var(--grey-200); + border-radius: 2px; +} +.frm-spotlight[data-placement=right] .frm-spotlight__content::after { + top: 50%; + left: -6px; + transform: translateY(-50%) rotate(45deg); + border-bottom: 1px solid var(--grey-200); +} +.frm-spotlight[data-placement=bottom] .frm-spotlight__content::after { + top: -6px; + left: 50%; + transform: translateX(-50%) rotate(45deg); + border-top: 1px solid var(--grey-200); +} +.frm-spotlight__pointer { + box-sizing: border-box; + width: 14px; + height: 14px; + background-color: var(--grey-600); + padding: 3px; + border-radius: 50%; +} +.frm-spotlight[data-placement=right] .frm-spotlight__pointer { + margin-right: var(--gap-2xs); +} +.frm-spotlight[data-placement=bottom] .frm-spotlight__pointer { + margin-bottom: var(--gap-2xs); +} + +.frm-welcome-tour .frm-checklist { + position: fixed; + right: var(--gap-md); + bottom: var(--gap-sm); + z-index: 9999; +} + +/*# sourceMappingURL=welcome-tour.css.map*/ \ No newline at end of file diff --git a/css/font_icons.css b/css/font_icons.css index b21fe208ed..c25d12cac0 100644 --- a/css/font_icons.css +++ b/css/font_icons.css @@ -1 +1,853 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"} +/*!****************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/font_icons.scss ***! + \****************************************************************************************************************************************************************************************************************************/ +@charset "UTF-8"; +/** + * Font Icons + */ +@font-face { + font-family: "s11-fp"; + src: url("../fonts/s11-fp.woff?v=7") format("woff"); + font-weight: 400; + font-style: normal; +} +.frm-submenu-highlight { + background: #1da867; +} + +.frm-submenu-highlight a span { + color: #fff; + font-weight: 600; +} + +.frmfont, +.frm_icon_font { + text-decoration: none; + text-shadow: none; + font-weight: 400; + display: inline-block; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: auto; + line-height: 1.5; + transition: color 0.1s ease-in-out, opacity 0.1s ease-in-out; + font-size: 18px; +} + +i.frmfont, +i.frm_icon_font { + font-style: normal; + font-variant: normal; + speak: none; +} + +.frmfont::before, +select.frmfont, +.frm_icon_font::before, +select.frm_icon_font { + font-family: "s11-fp" !important; + text-align: center; +} + +.frmfont, +a.frmfont, +.frmfont:hover, +a.frmfont:hover .frm_icon_font, +a.frm_icon_font, +.frm_icon_font:hover, +a.frm_icon_font:hover { + text-decoration: none !important; + box-shadow: none; +} + +.frmfont:focus, +.frm_icon_font:focus { + box-shadow: none; +} + +.frmfont:active, +.frm_icon_font:active { + outline: none; +} + +.frm_trigger .frm_icon_font { + padding: 0 5px; +} + +.frm_logo_icon::before { + content: "\e601"; +} + +.frm_required_icon::before { + content: "\e612"; +} + +.frm_delete_icon::before { + content: "\e610" !important; +} + +.frm_move_icon::before { + content: "\e61a"; +} + +.frm_drag_icon::before { + content: "\e93b"; +} + +.frm_clear_icon::before { + content: "\e60a"; +} + +.frm_noclear_icon::before { + content: "\e60b"; +} + +.frm_duplicate_icon::before { + content: "\e61b"; +} + +.frm_copy_icon::before { + content: "\f0c5"; +} + +.frm_clone_icon::before { + content: "\f24d"; +} + +.frm_tooltip_icon::before { + content: "\e611"; +} + +.frm_tooltip_solid_icon::before { + content: "\e907"; +} + +.frm_forbid_icon::before { + content: "\e636"; +} + +.frm_checkmark_icon::before { + content: "\e90a"; +} + +.frm_check_icon::before { + content: "\e605"; +} + +.frm_check1_icon::before { + content: "\e606"; +} + +.frm_plus_icon::before { + content: "\e62f"; +} + +.frm_plus1_icon::before { + content: "\e602"; +} + +.frm_plus2_icon::before { + content: "\e603"; +} + +.frm_plus3_icon::before { + content: "\e632"; +} + +.frm_plus4_icon::before { + content: "\e60f"; +} + +.frm_minus_icon::before { + content: "\e62e"; +} + +.frm_minus1_icon::before { + content: "\e600"; +} + +.frm_minus2_icon::before { + content: "\e604"; +} + +.frm_minus3_icon::before { + content: "\e633"; +} + +.frm_minus4_icon::before { + content: "\e613"; +} + +.frm_cancel_icon::before { + content: "\e607"; +} + +.frm_cancel1_icon::before { + content: "\e608"; +} + +.frm_close_icon::before { + content: "\e928"; +} + +.frm_report_problem_solid_icon::before { + content: "\e914"; +} + +.frm_report_problem_icon::before { + content: "\e915"; +} + +.frm_arrowup_icon::before { + content: "\e60d"; +} + +.frm_arrowup1_icon::before { + content: "\e60e"; +} + +.frm_arrowup2_icon::before { + content: "\e630"; +} + +.frm_arrowup3_icon::before { + content: "\e62b"; +} + +.frm_arrowup4_icon::before { + content: "\e62c"; +} + +.frm_arrowup5_icon::before { + content: "\e635"; +} + +.frm_arrowup5_solid_icon::before { + content: "\e9d"; +} + +.frm_arrowup7_icon::before { + content: "\e908"; +} + +.frm_arrowup6_icon::before { + content: "\e62d"; +} + +.frm_arrowdown_icon::before { + content: "\e609"; +} + +.frm_arrowdown1_icon::before { + content: "\e60c"; +} + +.frm_arrowdown2_icon::before { + content: "\e631"; +} + +.frm_arrowdown3_icon::before { + content: "\e628"; +} + +.frm_arrowdown4_icon::before { + content: "\e629"; +} + +.frm_arrowdown5_icon::before { + content: "\e634"; +} + +.frm_arrowdown5_solid_icon::before { + content: "\e905"; +} + +.frm_arrowdown7_icon::before { + content: "\e90b"; +} + +.frm_arrowdown6_icon::before { + content: "\e62a"; +} + +.frm_arrow_left_icon::before { + content: "\e912"; +} + +.frm_arrow_right_icon::before { + content: "\e913"; +} + +.frm_filter_icon::before { + content: "\e90c"; +} + +.frm_download_icon::before { + content: "\e615"; +} + +.frm_upload2_icon::before { + content: "\f093"; +} + +.frm_upload_icon::before { + content: "\e616"; +} + +.frm_download2_icon::before { + content: "\f019"; +} + +.frm_hard_drive_icon::before { + content: "\e916"; +} + +.frm_pencil_solid_icon::before { + content: "\e901"; +} + +.frm_pencil_icon::before { + content: "\e61d"; +} + +.frm_signature_icon::before { + content: "\e919"; +} + +.frm_user_icon::before { + content: "\e7ff"; +} + +.frm_register_icon::before { + content: "\e637"; +} + +.frm_account_circle_solid_icon::before { + content: "\e853"; +} + +.frm_account_circle_icon::before { + content: "\e921"; +} + +.frm_address_card_icon::before { + content: "\e996"; +} + +.frm_paragraph_icon::before { + content: "\f1dd"; +} + +.frm_checkbox_unchecked_icon::before { + content: "\e91e"; +} + +.frm_checkbox_icon::before { + content: "\e922"; +} + +.frm_checkbox_solid_icon::before { + content: "\e91f"; +} + +.frm_dropdown_icon::before { + content: "\e909"; +} + +.frm_caret_square_down_icon::before { + content: "\f150"; +} + +.frm_check_square_icon::before { + content: "\f14a"; +} + +.frm_radio_unchecked_icon::before { + content: "\e971"; +} + +.frm_radio_checked_icon::before { + content: "\ea54"; +} + +.frm_scrubber_icon::before { + content: "\f2f8"; +} + +.frm_location_solid_icon::before { + content: "\e955"; +} + +.frm_location_icon::before { + content: "\e947"; +} + +.frm_toggle_on_icon::before { + content: "\f205"; +} + +.frm_toggle_off_icon::before { + content: "\f204"; +} + +.frm_shield_check_icon::before { + content: "\f2f7"; +} + +.frm_shield_check_solid_icon::before { + content: "\e97d"; +} + +.frm_clock_icon::before { + content: "\e929"; +} + +.frm_clock_solid_icon::before { + content: "\e985"; +} + +.frm_link_icon::before { + content: "\f0c1"; +} + +.frm_email_icon::before { + content: "\e626"; +} + +.frm_email_solid_icon::before { + content: "\f0e0"; +} + +.frm_mail_bulk_icon::before { + content: "\e95c"; +} + +.frm_phone_icon::before { + content: "\e942"; +} + +.frm_calendar_icon::before { + content: "\f073"; +} + +.frm_code_icon::before { + content: "\e90d"; +} + +.frm_tag_icon::before { + content: "\e98b"; +} + +.frm_tag_solid_icon::before { + content: "\e989"; +} + +.frm_price_tags_icon::before { + content: "\e936"; +} + +.frm_search_icon::before { + content: "\e978"; +} + +.frm_sitemap_icon::before { + content: "\f0e8"; +} + +.frm_file_icon::before { + content: "\f15b"; +} + +.frm_file_text_solid_icon::before { + content: "\f15c"; +} + +.frm_file_text_icon::before { + content: "\e923"; +} + +.frm-option-icon::before, +.frm_option_icon::before { + content: "\e904"; +} + +.frm_option_solid_icon::before { + content: "\e906"; +} + +.frm_more_horiz_icon::before { + content: "\e5d3"; +} + +.frm_more_vert_icon::before { + content: "\e5d4"; +} + +.frm_more_horiz_solid_icon { + font-size: 28px !important; + font-weight: 700; + line-height: 18px; +} + +.frm_more_horiz_solid_icon::before { + content: "···"; +} + +.frm_more_vert_solid_icon::before { + content: "\f142"; +} + +.frm_calculator_icon::before { + content: "\f1ec"; +} + +.frm_keyboard_icon::before { + content: "\e924"; +} + +.frm_eye_icon::before { + content: "\f06e"; +} + +.frm_eye_solid_icon::before { + content: "\e945"; +} + +.frm_eye_slash_icon::before { + content: "\f070"; +} + +.frm_eye_slash_solid_icon::before { + content: "\e949"; +} + +.frm_page_break_icon::before { + content: "\e8e9"; +} + +.frm_view_day_icon::before { + content: "\e8ed"; +} + +.frm_attach_file_icon::before { + content: "\e226"; +} + +.frm_printer_icon::before { + content: "\e926"; +} + +.frm_header_icon::before { + content: "\f1dc"; +} + +.frm_h1_icon::before { + content: "\e94c"; +} + +.frm_repeat_icon::before { + content: "\f363"; +} + +.frm_repeater_icon::before { + content: "\e974"; +} + +.frm_hashtag_icon::before { + content: "\e292"; +} + +.frm_save_icon::before { + content: "\e927"; +} + +.frm_sliders_icon::before { + content: "\f1de"; +} + +.frm_code_commit_icon::before { + content: "\f386"; +} + +.frm_star_icon::before { + content: "\e9d7"; +} + +.frm_star_full_icon::before { + content: "\e9d9"; +} + +.frm_star_half_icon::before { + content: "\e9d8"; +} + +.frm_linear_scale_icon::before { + content: "\e260"; +} + +.frm_pie_chart_icon::before { + content: "\e99a"; +} + +.frm_stats_bars_icon::before { + content: "\e99c"; +} + +.frm_sms_icon::before { + content: "\e61c"; +} + +.frm_highrise_icon::before { + content: "\e617"; +} + +.frm_mailchimp_icon::before { + content: "\e622"; +} + +.frm_feed_icon::before { + content: "\e624"; +} + +.frm_align_right_icon::before { + content: "\e90f"; +} + +.frm_align_left_icon::before { + content: "\e910"; +} + +.frm_button_icon::before { + content: "\e911"; +} + +.frm_browser_icon::before { + content: "\e925"; +} + +.frm_cloud_upload_solid_icon::before { + content: "\e92c"; +} + +.frm_shuffle_icon::before { + content: "\e917"; +} + +.frm_swap_icon::before { + content: "\e918"; +} + +.frm_pallet_icon::before { + content: "\e96d"; +} + +.frm_fingerprint_icon::before { + content: "\e94a"; +} + +.frm_ghost_icon::before { + content: "\e94b"; +} + +.frm_heart_solid_icon::before { + content: "\e94d"; +} + +.frm_heart_icon::before { + content: "\e94e"; +} + +.frm_history_icon::before { + content: "\e94f"; +} + +.frm_import_icon::before { + content: "\e91a"; +} + +.frm_export_icon::before { + content: "\e91b"; +} + +.frm_label_solid_icon::before { + content: "\e952"; +} + +.frm_label_icon::before { + content: "\e953"; +} + +.frm_lock_open_icon::before { + content: "\e957"; +} + +.frm_lock_icon::before { + content: "\e959"; +} + +.frm_dollar_sign_icon::before { + content: "\e91c"; +} + +.frm_percent_icon::before { + content: "\e939"; +} + +.frm_external_link_icon::before { + content: "\e966"; +} + +.frm_pageview_solid_icon::before { + content: "\e96a"; +} + +.frm_pageview_icon::before { + content: "\e96b"; +} + +.frm_settings_icon::before { + content: "\e97a"; +} + +.frm_stamp_icon::before { + content: "\e980"; +} + +.frm_support_icon::before { + content: "\f1cd"; +} + +.frm_text_icon::before { + content: "\e98d"; +} + +.frm_text2_icon::before { + content: "\f031"; +} + +.frm_white_label_icon::before { + content: "\e91d" !important; +} + +.frm_authorize_icon::before { + content: "\e903"; +} + +.frm_icon_font.frm_activecampaign_icon { + background-image: none; +} + +.frm_activecampaign_icon::before { + content: "\e930"; +} + +.frm_aweber_icon::before { + content: "\e627"; +} + +.frm_campaignmonitor_icon::before { + content: "\e946"; +} + +.frm_constant_contact_icon::before { + content: "\e931"; +} + +.frm_getresponse_icon::before { + content: "\e932"; +} + +.frm_googlesheets_icon::before { + content: "\e944"; +} + +.frm_building_icon::before { + content: "\e93f"; +} + +.frm_hubspot_icon::before { + content: "\e933"; +} + +.frm_icontact_icon::before { + content: "\e940"; +} + +.frm_icon_font.frm_mailpoet_icon::before { + content: "\e934"; +} + +.frm_paypal_icon::before { + content: "\e61f"; +} + +.frm_sendinblue_icon::before { + content: "\e943"; +} + +.frm_sendy_icon::before { + content: "\e941"; +} + +.frm_salesforce_icon::before { + content: "\e935"; +} + +.frm_salesforcealt_icon::before { + content: "\e937"; +} + +.frm_stripe_icon::before { + content: "\e902"; +} + +.frm_stripealt_icon::before { + content: "\e93d"; +} + +.frm_twilio_icon::before { + content: "\e620"; +} + +.frm_woocommerce_icon::before { + content: "\e90e"; +} + +.frm_wordpress_icon::before { + content: "\f19a"; +} + +.frm_credit_card_icon::before { + content: "\e938"; +} + +.frm_credit-card-alt_icon::before, +.frm_credit_card_alt_icon::before { + content: "\f283"; +} + +.frm_cc_amex_icon::before { + content: "\f1f3"; +} + +.frm_cc_discover_icon::before { + content: "\f1f2"; +} + +.frm_cc_mastercard_icon::before { + content: "\f1f1"; +} + +.frm_cc_visa_icon::before { + content: "\f1f0"; +} + +.frm_cc_paypal_icon::before { + content: "\f1f4"; +} + +.frm_cc_stripe_icon::before { + content: "\f1f5"; +} + +/*# sourceMappingURL=font_icons.css.map*/ \ No newline at end of file diff --git a/css/frm_admin.css b/css/frm_admin.css index 973a41e393..93baeb1a4c 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,3 +1,12559 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_logo_icon::before{content:"\e601"}.frm_required_icon::before{content:"\e612"}.frm_delete_icon::before{content:"\e610" !important}.frm_move_icon::before{content:"\e61a"}.frm_drag_icon::before{content:"\e93b"}.frm_clear_icon::before{content:"\e60a"}.frm_noclear_icon::before{content:"\e60b"}.frm_duplicate_icon::before{content:"\e61b"}.frm_copy_icon::before{content:"\f0c5"}.frm_clone_icon::before{content:"\f24d"}.frm_tooltip_icon::before{content:"\e611"}.frm_tooltip_solid_icon::before{content:"\e907"}.frm_forbid_icon::before{content:"\e636"}.frm_checkmark_icon::before{content:"\e90a"}.frm_check_icon::before{content:"\e605"}.frm_check1_icon::before{content:"\e606"}.frm_plus_icon::before{content:"\e62f"}.frm_plus1_icon::before{content:"\e602"}.frm_plus2_icon::before{content:"\e603"}.frm_plus3_icon::before{content:"\e632"}.frm_plus4_icon::before{content:"\e60f"}.frm_minus_icon::before{content:"\e62e"}.frm_minus1_icon::before{content:"\e600"}.frm_minus2_icon::before{content:"\e604"}.frm_minus3_icon::before{content:"\e633"}.frm_minus4_icon::before{content:"\e613"}.frm_cancel_icon::before{content:"\e607"}.frm_cancel1_icon::before{content:"\e608"}.frm_close_icon::before{content:"\e928"}.frm_report_problem_solid_icon::before{content:"\e914"}.frm_report_problem_icon::before{content:"\e915"}.frm_arrowup_icon::before{content:"\e60d"}.frm_arrowup1_icon::before{content:"\e60e"}.frm_arrowup2_icon::before{content:"\e630"}.frm_arrowup3_icon::before{content:"\e62b"}.frm_arrowup4_icon::before{content:"\e62c"}.frm_arrowup5_icon::before{content:"\e635"}.frm_arrowup5_solid_icon::before{content:"\e9d"}.frm_arrowup7_icon::before{content:"\e908"}.frm_arrowup6_icon::before{content:"\e62d"}.frm_arrowdown_icon::before{content:"\e609"}.frm_arrowdown1_icon::before{content:"\e60c"}.frm_arrowdown2_icon::before{content:"\e631"}.frm_arrowdown3_icon::before{content:"\e628"}.frm_arrowdown4_icon::before{content:"\e629"}.frm_arrowdown5_icon::before{content:"\e634"}.frm_arrowdown5_solid_icon::before{content:"\e905"}.frm_arrowdown7_icon::before{content:"\e90b"}.frm_arrowdown6_icon::before{content:"\e62a"}.frm_arrow_left_icon::before{content:"\e912"}.frm_arrow_right_icon::before{content:"\e913"}.frm_filter_icon::before{content:"\e90c"}.frm_download_icon::before{content:"\e615"}.frm_upload2_icon::before{content:"\f093"}.frm_upload_icon::before{content:"\e616"}.frm_download2_icon::before{content:"\f019"}.frm_hard_drive_icon::before{content:"\e916"}.frm_pencil_solid_icon::before{content:"\e901"}.frm_pencil_icon::before{content:"\e61d"}.frm_signature_icon::before{content:"\e919"}.frm_user_icon::before{content:"\e7ff"}.frm_register_icon::before{content:"\e637"}.frm_account_circle_solid_icon::before{content:"\e853"}.frm_account_circle_icon::before{content:"\e921"}.frm_address_card_icon::before{content:"\e996"}.frm_paragraph_icon::before{content:"\f1dd"}.frm_checkbox_unchecked_icon::before{content:"\e91e"}.frm_checkbox_icon::before{content:"\e922"}.frm_checkbox_solid_icon::before{content:"\e91f"}.frm_dropdown_icon::before{content:"\e909"}.frm_caret_square_down_icon::before{content:"\f150"}.frm_check_square_icon::before{content:"\f14a"}.frm_radio_unchecked_icon::before{content:"\e971"}.frm_radio_checked_icon::before{content:"\ea54"}.frm_scrubber_icon::before{content:"\f2f8"}.frm_location_solid_icon::before{content:"\e955"}.frm_location_icon::before{content:"\e947"}.frm_toggle_on_icon::before{content:"\f205"}.frm_toggle_off_icon::before{content:"\f204"}.frm_shield_check_icon::before{content:"\f2f7"}.frm_shield_check_solid_icon::before{content:"\e97d"}.frm_clock_icon::before{content:"\e929"}.frm_clock_solid_icon::before{content:"\e985"}.frm_link_icon::before{content:"\f0c1"}.frm_email_icon::before{content:"\e626"}.frm_email_solid_icon::before{content:"\f0e0"}.frm_mail_bulk_icon::before{content:"\e95c"}.frm_phone_icon::before{content:"\e942"}.frm_calendar_icon::before{content:"\f073"}.frm_code_icon::before{content:"\e90d"}.frm_tag_icon::before{content:"\e98b"}.frm_tag_solid_icon::before{content:"\e989"}.frm_price_tags_icon::before{content:"\e936"}.frm_search_icon::before{content:"\e978"}.frm_sitemap_icon::before{content:"\f0e8"}.frm_file_icon::before{content:"\f15b"}.frm_file_text_solid_icon::before{content:"\f15c"}.frm_file_text_icon::before{content:"\e923"}.frm-option-icon::before,.frm_option_icon::before{content:"\e904"}.frm_option_solid_icon::before{content:"\e906"}.frm_more_horiz_icon::before{content:"\e5d3"}.frm_more_vert_icon::before{content:"\e5d4"}.frm_more_horiz_solid_icon{font-size:28px !important;font-weight:700;line-height:18px}.frm_more_horiz_solid_icon::before{content:"···"}.frm_more_vert_solid_icon::before{content:"\f142"}.frm_calculator_icon::before{content:"\f1ec"}.frm_keyboard_icon::before{content:"\e924"}.frm_eye_icon::before{content:"\f06e"}.frm_eye_solid_icon::before{content:"\e945"}.frm_eye_slash_icon::before{content:"\f070"}.frm_eye_slash_solid_icon::before{content:"\e949"}.frm_page_break_icon::before{content:"\e8e9"}.frm_view_day_icon::before{content:"\e8ed"}.frm_attach_file_icon::before{content:"\e226"}.frm_printer_icon::before{content:"\e926"}.frm_header_icon::before{content:"\f1dc"}.frm_h1_icon::before{content:"\e94c"}.frm_repeat_icon::before{content:"\f363"}.frm_repeater_icon::before{content:"\e974"}.frm_hashtag_icon::before{content:"\e292"}.frm_save_icon::before{content:"\e927"}.frm_sliders_icon::before{content:"\f1de"}.frm_code_commit_icon::before{content:"\f386"}.frm_star_icon::before{content:"\e9d7"}.frm_star_full_icon::before{content:"\e9d9"}.frm_star_half_icon::before{content:"\e9d8"}.frm_linear_scale_icon::before{content:"\e260"}.frm_pie_chart_icon::before{content:"\e99a"}.frm_stats_bars_icon::before{content:"\e99c"}.frm_sms_icon::before{content:"\e61c"}.frm_highrise_icon::before{content:"\e617"}.frm_mailchimp_icon::before{content:"\e622"}.frm_feed_icon::before{content:"\e624"}.frm_align_right_icon::before{content:"\e90f"}.frm_align_left_icon::before{content:"\e910"}.frm_button_icon::before{content:"\e911"}.frm_browser_icon::before{content:"\e925"}.frm_cloud_upload_solid_icon::before{content:"\e92c"}.frm_shuffle_icon::before{content:"\e917"}.frm_swap_icon::before{content:"\e918"}.frm_pallet_icon::before{content:"\e96d"}.frm_fingerprint_icon::before{content:"\e94a"}.frm_ghost_icon::before{content:"\e94b"}.frm_heart_solid_icon::before{content:"\e94d"}.frm_heart_icon::before{content:"\e94e"}.frm_history_icon::before{content:"\e94f"}.frm_import_icon::before{content:"\e91a"}.frm_export_icon::before{content:"\e91b"}.frm_label_solid_icon::before{content:"\e952"}.frm_label_icon::before{content:"\e953"}.frm_lock_open_icon::before{content:"\e957"}.frm_lock_icon::before{content:"\e959"}.frm_dollar_sign_icon::before{content:"\e91c"}.frm_percent_icon::before{content:"\e939"}.frm_external_link_icon::before{content:"\e966"}.frm_pageview_solid_icon::before{content:"\e96a"}.frm_pageview_icon::before{content:"\e96b"}.frm_settings_icon::before{content:"\e97a"}.frm_stamp_icon::before{content:"\e980"}.frm_support_icon::before{content:"\f1cd"}.frm_text_icon::before{content:"\e98d"}.frm_text2_icon::before{content:"\f031"}.frm_white_label_icon::before{content:"\e91d" !important}.frm_authorize_icon::before{content:"\e903"}.frm_icon_font.frm_activecampaign_icon{background-image:none}.frm_activecampaign_icon::before{content:"\e930"}.frm_aweber_icon::before{content:"\e627"}.frm_campaignmonitor_icon::before{content:"\e946"}.frm_constant_contact_icon::before{content:"\e931"}.frm_getresponse_icon::before{content:"\e932"}.frm_googlesheets_icon::before{content:"\e944"}.frm_building_icon::before{content:"\e93f"}.frm_hubspot_icon::before{content:"\e933"}.frm_icontact_icon::before{content:"\e940"}.frm_icon_font.frm_mailpoet_icon::before{content:"\e934"}.frm_paypal_icon::before{content:"\e61f"}.frm_sendinblue_icon::before{content:"\e943"}.frm_sendy_icon::before{content:"\e941"}.frm_salesforce_icon::before{content:"\e935"}.frm_salesforcealt_icon::before{content:"\e937"}.frm_stripe_icon::before{content:"\e902"}.frm_stripealt_icon::before{content:"\e93d"}.frm_twilio_icon::before{content:"\e620"}.frm_woocommerce_icon::before{content:"\e90e"}.frm_wordpress_icon::before{content:"\f19a"}.frm_credit_card_icon::before{content:"\e938"}.frm_credit-card-alt_icon::before,.frm_credit_card_alt_icon::before{content:"\f283"}.frm_cc_amex_icon::before{content:"\f1f3"}.frm_cc_discover_icon::before{content:"\f1f2"}.frm_cc_mastercard_icon::before{content:"\f1f1"}.frm_cc_visa_icon::before{content:"\f1f0"}.frm_cc_paypal_icon::before{content:"\f1f4"}.frm_cc_stripe_icon::before{content:"\f1f5"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}td.column-title .frm_actions_dropdown{float:right}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! +/*!*********************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/admin/frm_admin.scss ***! + \*********************************************************************************************************************************************************************************************************************************/ +@charset "UTF-8"; +/** + * Formidable Admin Styles + * + * Note: Do not modify the import order unless the change is part of a deliberate refactor. + */ +/** + * Base & Foundation + * + * Core variables, typography, and essential base styles + */ +/** + * Font Icons + */ +@font-face { + font-family: "s11-fp"; + src: url("../fonts/s11-fp.woff?v=7") format("woff"); + font-weight: 400; + font-style: normal; +} +.frm-submenu-highlight { + background: #1da867; +} + +.frm-submenu-highlight a span { + color: #fff; + font-weight: 600; +} + +.frmfont, +.frm_icon_font { + text-decoration: none; + text-shadow: none; + font-weight: 400; + display: inline-block; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: auto; + line-height: 1.5; + transition: color 0.1s ease-in-out, opacity 0.1s ease-in-out; + font-size: 18px; +} + +i.frmfont, +i.frm_icon_font { + font-style: normal; + font-variant: normal; + speak: none; +} + +.frmfont::before, +select.frmfont, +.frm_icon_font::before, +select.frm_icon_font { + font-family: "s11-fp" !important; + text-align: center; +} + +.frmfont, +a.frmfont, +.frmfont:hover, +a.frmfont:hover .frm_icon_font, +a.frm_icon_font, +.frm_icon_font:hover, +a.frm_icon_font:hover { + text-decoration: none !important; + box-shadow: none; +} + +.frmfont:focus, +.frm_icon_font:focus { + box-shadow: none; +} + +.frmfont:active, +.frm_icon_font:active { + outline: none; +} + +.frm_trigger .frm_icon_font { + padding: 0 5px; +} + +.frm_logo_icon::before { + content: "\e601"; +} + +.frm_required_icon::before { + content: "\e612"; +} + +.frm_delete_icon::before { + content: "\e610" !important; +} + +.frm_move_icon::before { + content: "\e61a"; +} + +.frm_drag_icon::before { + content: "\e93b"; +} + +.frm_clear_icon::before { + content: "\e60a"; +} + +.frm_noclear_icon::before { + content: "\e60b"; +} + +.frm_duplicate_icon::before { + content: "\e61b"; +} + +.frm_copy_icon::before { + content: "\f0c5"; +} + +.frm_clone_icon::before { + content: "\f24d"; +} + +.frm_tooltip_icon::before { + content: "\e611"; +} + +.frm_tooltip_solid_icon::before { + content: "\e907"; +} + +.frm_forbid_icon::before { + content: "\e636"; +} + +.frm_checkmark_icon::before { + content: "\e90a"; +} + +.frm_check_icon::before { + content: "\e605"; +} + +.frm_check1_icon::before { + content: "\e606"; +} + +.frm_plus_icon::before { + content: "\e62f"; +} + +.frm_plus1_icon::before { + content: "\e602"; +} + +.frm_plus2_icon::before { + content: "\e603"; +} + +.frm_plus3_icon::before { + content: "\e632"; +} + +.frm_plus4_icon::before { + content: "\e60f"; +} + +.frm_minus_icon::before { + content: "\e62e"; +} + +.frm_minus1_icon::before { + content: "\e600"; +} + +.frm_minus2_icon::before { + content: "\e604"; +} + +.frm_minus3_icon::before { + content: "\e633"; +} + +.frm_minus4_icon::before { + content: "\e613"; +} + +.frm_cancel_icon::before { + content: "\e607"; +} + +.frm_cancel1_icon::before { + content: "\e608"; +} + +.frm_close_icon::before { + content: "\e928"; +} + +.frm_report_problem_solid_icon::before { + content: "\e914"; +} + +.frm_report_problem_icon::before { + content: "\e915"; +} + +.frm_arrowup_icon::before { + content: "\e60d"; +} + +.frm_arrowup1_icon::before { + content: "\e60e"; +} + +.frm_arrowup2_icon::before { + content: "\e630"; +} + +.frm_arrowup3_icon::before { + content: "\e62b"; +} + +.frm_arrowup4_icon::before { + content: "\e62c"; +} + +.frm_arrowup5_icon::before { + content: "\e635"; +} + +.frm_arrowup5_solid_icon::before { + content: "\e9d"; +} + +.frm_arrowup7_icon::before { + content: "\e908"; +} + +.frm_arrowup6_icon::before { + content: "\e62d"; +} + +.frm_arrowdown_icon::before { + content: "\e609"; +} + +.frm_arrowdown1_icon::before { + content: "\e60c"; +} + +.frm_arrowdown2_icon::before { + content: "\e631"; +} + +.frm_arrowdown3_icon::before { + content: "\e628"; +} + +.frm_arrowdown4_icon::before { + content: "\e629"; +} + +.frm_arrowdown5_icon::before { + content: "\e634"; +} + +.frm_arrowdown5_solid_icon::before { + content: "\e905"; +} + +.frm_arrowdown7_icon::before { + content: "\e90b"; +} + +.frm_arrowdown6_icon::before { + content: "\e62a"; +} + +.frm_arrow_left_icon::before { + content: "\e912"; +} + +.frm_arrow_right_icon::before { + content: "\e913"; +} + +.frm_filter_icon::before { + content: "\e90c"; +} + +.frm_download_icon::before { + content: "\e615"; +} + +.frm_upload2_icon::before { + content: "\f093"; +} + +.frm_upload_icon::before { + content: "\e616"; +} + +.frm_download2_icon::before { + content: "\f019"; +} + +.frm_hard_drive_icon::before { + content: "\e916"; +} + +.frm_pencil_solid_icon::before { + content: "\e901"; +} + +.frm_pencil_icon::before { + content: "\e61d"; +} + +.frm_signature_icon::before { + content: "\e919"; +} + +.frm_user_icon::before { + content: "\e7ff"; +} + +.frm_register_icon::before { + content: "\e637"; +} + +.frm_account_circle_solid_icon::before { + content: "\e853"; +} + +.frm_account_circle_icon::before { + content: "\e921"; +} + +.frm_address_card_icon::before { + content: "\e996"; +} + +.frm_paragraph_icon::before { + content: "\f1dd"; +} + +.frm_checkbox_unchecked_icon::before { + content: "\e91e"; +} + +.frm_checkbox_icon::before { + content: "\e922"; +} + +.frm_checkbox_solid_icon::before { + content: "\e91f"; +} + +.frm_dropdown_icon::before { + content: "\e909"; +} + +.frm_caret_square_down_icon::before { + content: "\f150"; +} + +.frm_check_square_icon::before { + content: "\f14a"; +} + +.frm_radio_unchecked_icon::before { + content: "\e971"; +} + +.frm_radio_checked_icon::before { + content: "\ea54"; +} + +.frm_scrubber_icon::before { + content: "\f2f8"; +} + +.frm_location_solid_icon::before { + content: "\e955"; +} + +.frm_location_icon::before { + content: "\e947"; +} + +.frm_toggle_on_icon::before { + content: "\f205"; +} + +.frm_toggle_off_icon::before { + content: "\f204"; +} + +.frm_shield_check_icon::before { + content: "\f2f7"; +} + +.frm_shield_check_solid_icon::before { + content: "\e97d"; +} + +.frm_clock_icon::before { + content: "\e929"; +} + +.frm_clock_solid_icon::before { + content: "\e985"; +} + +.frm_link_icon::before { + content: "\f0c1"; +} + +.frm_email_icon::before { + content: "\e626"; +} + +.frm_email_solid_icon::before { + content: "\f0e0"; +} + +.frm_mail_bulk_icon::before { + content: "\e95c"; +} + +.frm_phone_icon::before { + content: "\e942"; +} + +.frm_calendar_icon::before { + content: "\f073"; +} + +.frm_code_icon::before { + content: "\e90d"; +} + +.frm_tag_icon::before { + content: "\e98b"; +} + +.frm_tag_solid_icon::before { + content: "\e989"; +} + +.frm_price_tags_icon::before { + content: "\e936"; +} + +.frm_search_icon::before { + content: "\e978"; +} + +.frm_sitemap_icon::before { + content: "\f0e8"; +} + +.frm_file_icon::before { + content: "\f15b"; +} + +.frm_file_text_solid_icon::before { + content: "\f15c"; +} + +.frm_file_text_icon::before { + content: "\e923"; +} + +.frm-option-icon::before, +.frm_option_icon::before { + content: "\e904"; +} + +.frm_option_solid_icon::before { + content: "\e906"; +} + +.frm_more_horiz_icon::before { + content: "\e5d3"; +} + +.frm_more_vert_icon::before { + content: "\e5d4"; +} + +.frm_more_horiz_solid_icon { + font-size: 28px !important; + font-weight: 700; + line-height: 18px; +} + +.frm_more_horiz_solid_icon::before { + content: "···"; +} + +.frm_more_vert_solid_icon::before { + content: "\f142"; +} + +.frm_calculator_icon::before { + content: "\f1ec"; +} + +.frm_keyboard_icon::before { + content: "\e924"; +} + +.frm_eye_icon::before { + content: "\f06e"; +} + +.frm_eye_solid_icon::before { + content: "\e945"; +} + +.frm_eye_slash_icon::before { + content: "\f070"; +} + +.frm_eye_slash_solid_icon::before { + content: "\e949"; +} + +.frm_page_break_icon::before { + content: "\e8e9"; +} + +.frm_view_day_icon::before { + content: "\e8ed"; +} + +.frm_attach_file_icon::before { + content: "\e226"; +} + +.frm_printer_icon::before { + content: "\e926"; +} + +.frm_header_icon::before { + content: "\f1dc"; +} + +.frm_h1_icon::before { + content: "\e94c"; +} + +.frm_repeat_icon::before { + content: "\f363"; +} + +.frm_repeater_icon::before { + content: "\e974"; +} + +.frm_hashtag_icon::before { + content: "\e292"; +} + +.frm_save_icon::before { + content: "\e927"; +} + +.frm_sliders_icon::before { + content: "\f1de"; +} + +.frm_code_commit_icon::before { + content: "\f386"; +} + +.frm_star_icon::before { + content: "\e9d7"; +} + +.frm_star_full_icon::before { + content: "\e9d9"; +} + +.frm_star_half_icon::before { + content: "\e9d8"; +} + +.frm_linear_scale_icon::before { + content: "\e260"; +} + +.frm_pie_chart_icon::before { + content: "\e99a"; +} + +.frm_stats_bars_icon::before { + content: "\e99c"; +} + +.frm_sms_icon::before { + content: "\e61c"; +} + +.frm_highrise_icon::before { + content: "\e617"; +} + +.frm_mailchimp_icon::before { + content: "\e622"; +} + +.frm_feed_icon::before { + content: "\e624"; +} + +.frm_align_right_icon::before { + content: "\e90f"; +} + +.frm_align_left_icon::before { + content: "\e910"; +} + +.frm_button_icon::before { + content: "\e911"; +} + +.frm_browser_icon::before { + content: "\e925"; +} + +.frm_cloud_upload_solid_icon::before { + content: "\e92c"; +} + +.frm_shuffle_icon::before { + content: "\e917"; +} + +.frm_swap_icon::before { + content: "\e918"; +} + +.frm_pallet_icon::before { + content: "\e96d"; +} + +.frm_fingerprint_icon::before { + content: "\e94a"; +} + +.frm_ghost_icon::before { + content: "\e94b"; +} + +.frm_heart_solid_icon::before { + content: "\e94d"; +} + +.frm_heart_icon::before { + content: "\e94e"; +} + +.frm_history_icon::before { + content: "\e94f"; +} + +.frm_import_icon::before { + content: "\e91a"; +} + +.frm_export_icon::before { + content: "\e91b"; +} + +.frm_label_solid_icon::before { + content: "\e952"; +} + +.frm_label_icon::before { + content: "\e953"; +} + +.frm_lock_open_icon::before { + content: "\e957"; +} + +.frm_lock_icon::before { + content: "\e959"; +} + +.frm_dollar_sign_icon::before { + content: "\e91c"; +} + +.frm_percent_icon::before { + content: "\e939"; +} + +.frm_external_link_icon::before { + content: "\e966"; +} + +.frm_pageview_solid_icon::before { + content: "\e96a"; +} + +.frm_pageview_icon::before { + content: "\e96b"; +} + +.frm_settings_icon::before { + content: "\e97a"; +} + +.frm_stamp_icon::before { + content: "\e980"; +} + +.frm_support_icon::before { + content: "\f1cd"; +} + +.frm_text_icon::before { + content: "\e98d"; +} + +.frm_text2_icon::before { + content: "\f031"; +} + +.frm_white_label_icon::before { + content: "\e91d" !important; +} + +.frm_authorize_icon::before { + content: "\e903"; +} + +.frm_icon_font.frm_activecampaign_icon { + background-image: none; +} + +.frm_activecampaign_icon::before { + content: "\e930"; +} + +.frm_aweber_icon::before { + content: "\e627"; +} + +.frm_campaignmonitor_icon::before { + content: "\e946"; +} + +.frm_constant_contact_icon::before { + content: "\e931"; +} + +.frm_getresponse_icon::before { + content: "\e932"; +} + +.frm_googlesheets_icon::before { + content: "\e944"; +} + +.frm_building_icon::before { + content: "\e93f"; +} + +.frm_hubspot_icon::before { + content: "\e933"; +} + +.frm_icontact_icon::before { + content: "\e940"; +} + +.frm_icon_font.frm_mailpoet_icon::before { + content: "\e934"; +} + +.frm_paypal_icon::before { + content: "\e61f"; +} + +.frm_sendinblue_icon::before { + content: "\e943"; +} + +.frm_sendy_icon::before { + content: "\e941"; +} + +.frm_salesforce_icon::before { + content: "\e935"; +} + +.frm_salesforcealt_icon::before { + content: "\e937"; +} + +.frm_stripe_icon::before { + content: "\e902"; +} + +.frm_stripealt_icon::before { + content: "\e93d"; +} + +.frm_twilio_icon::before { + content: "\e620"; +} + +.frm_woocommerce_icon::before { + content: "\e90e"; +} + +.frm_wordpress_icon::before { + content: "\f19a"; +} + +.frm_credit_card_icon::before { + content: "\e938"; +} + +.frm_credit-card-alt_icon::before, +.frm_credit_card_alt_icon::before { + content: "\f283"; +} + +.frm_cc_amex_icon::before { + content: "\f1f3"; +} + +.frm_cc_discover_icon::before { + content: "\f1f2"; +} + +.frm_cc_mastercard_icon::before { + content: "\f1f1"; +} + +.frm_cc_visa_icon::before { + content: "\f1f0"; +} + +.frm_cc_paypal_icon::before { + content: "\f1f4"; +} + +.frm_cc_stripe_icon::before { + content: "\f1f5"; +} + +/** + * Base - Variables + */ +:root, +.frm-white-body, +.frm_wrap { + --grey-900: #101828; + --grey-800: #1D2939; + --grey-700: #344054; + --grey-600: #475467; + --grey-500: #667085; /* Roughly 65% opacity */ + --grey-400: #98A2B3; + --grey-300: #D0D5DD; + --grey-200: #EAECF0; + --grey-100: #F2F4F7; + --grey-50: #F9FAFB; + --grey-25: #FCFCFD; + --dark-grey: var(--grey-700); /* Deprecated */ + --medium-grey: rgba(40, 47, 54, .65); + --grey: var(--grey-500); /* Deprecated */ + --grey-border: var(--grey-300); /* Deprecated */ + --lightest-grey: rgb(250, 250, 250); + --sidebar-color: var(--grey-50); + --sidebar-hover: var(--grey-200); + --primary-700: #2B66A9; + --primary-500: #4199FD; + --primary-300: #80BBFE; + --primary-200: #C0DDFE; + --primary-50: #ECF5FF; + --primary-25: #F5FAFF; + --primary-color: var(--primary-500); /* Deprecated */ + --primary-hover: var(--primary-700); /* Deprecated */ + --light-blue: var(--primary-25); /* Deprecated */ + --blue-border: rgb(188, 224, 253); + --error-700: #B42318; + --error-500: #F04438; + --error-300: #FECDCA; + --error-100: #FEE4E2; + --error-25: #FFF5F4; + --green: rgb(63, 172, 37); + --orange: #F15A24; + --warning-500: #F79009; + --pink: rgb(226, 42, 110); + --purple: rgb(141, 53, 245); + --success-900: #054F31; + --success-800: #065F46; + --success-500: #12b76a; + --success-100: #D1FAE5; + --success-200: #A6F4C5; + --success-50: #ECFDF3; + --success-25: #f6fef9; + --border-radius: 35px; + --small-radius: 8px; + --medium-radius: 16px; + --small-sidebar: 275px; + --medium-sidebar: 350px; + --big-sidebar: 390px; + --biggest-sidebar: 450px; + --text-xs: 12px; + --text-sm: 14px; + --text-md: 16px; + --text-lg: 18px; + --text-xl: 20px; + --h-xs: 24px; + --h-sm: 30px; + --h-md: 36px; + --leading: 1.5; + --gap-2xs: 4px; + --gap-xs: 8px; + --gap-sm: 16px; + --gap-md: 24px; + --gap-lg: 32px; + --gap-xl: 40px; + --gap-2xl: 48px; + --box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05); + --box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03); + --box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18); + --button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1); + /* Override front-end CSS */ + --check-label-color: var(--grey-700); +} + +/** + * Base - Font + */ +@font-face { + font-family: "Inter"; + src: url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype"); +} +.with_frm_style, +.frm-white-body .wpbody-content, +.frm_wrap { + font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +/* Safari 11+ */ +@media not all and (min-resolution: 0.001dpcm) { + @supports (-webkit-appearance: none) and (stroke-color: transparent) { + .with_frm_style, + .frm-white-body .wpbody-content, + .frm_wrap { + -webkit-font-smoothing: antialiased; + } + } +} +/** + * Utilities - Z-index + */ +.frm-sm-z-index { + z-index: 1; +} + +.frm-md-z-index { + z-index: 5; +} + +/** + * Base - Text + */ +.frm-white-body, +.frm-white-body p, +.frm_wrap, +.frm_wrap p, +.frm-modal, +.frm-white-body .postbox .inside { + font-size: var(--text-sm); + color: var(--grey-500); + line-height: var(--leading); +} + +.frm-white-body p, +.frm_wrap p { + margin: var(--gap-sm) 0; +} + +body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields > fieldset { + --fieldset-padding: 15px 0; +} + +a, +.widget .widget-top, +.stuffbox h3, +.frm-collapsed { + cursor: pointer; + text-decoration: none; +} + +/** + * Layout & Primary Components + * + * Core structure and primary UI elements + */ +/** + * Layout - Wrap + */ +.post-type-frm_display .wrap > #posts-filter, +.wrap.frm-with-margin, +.frm_wrap > .wrap { + margin: var(--gap-sm) var(--gap-md) var(--gap-md); +} + +#frm_top_bar + .wrap { + margin: var(--gap-xl); +} + +.frm-full-screen #wpbody-content > .wrap { + margin: 0; +} + +.post-type-frm_display .wrap { + margin: 0; +} + +.toplevel_page_formidable #post-body-content { + overflow-x: visible; +} + +/** + * Components - Full Screen + */ +.frm-full-screen { + height: 100%; + overflow: hidden; +} + +.frm-full-screen.frm-admin-page-reports, +.frm-full-screen.frm-admin-page-entries, +.frm-full-screen.post-type-frm_display { + overflow: auto; +} + +.frm-full-screen #wpadminbar, +.frm-full-screen #adminmenumain, +.frm-full-screen .wp-header-end { + display: none; +} + +body.frm-white-body:not(.frm-full-screen) .mce-fullscreen { + top: 32px; + left: 160px; +} + +.frm-full-screen #wpbody-content, +.frm-full-screen #wpbody, +.frm-full-screen #wpcontent { + padding: 0; + overflow: hidden; + margin: 0 !important; +} + +/** + * Layout - Screen Meta + */ +.frm-white-body #wpbody-content { + position: relative; /* For screen meta links */ + padding-bottom: 0; +} + +.post-new-php.post-type-frm_display #screen-meta-links, +.post-php.post-type-frm_display #screen-meta-links { + display: none; +} + +.frm-white-body #screen-meta-links { + position: fixed; + bottom: 0; + right: 20px; +} + +.frm-full-screen #screen-meta-links .screen-meta-toggle { + right: 55px; +} + +.frm-white-body #screen-meta-links .show-settings { + border-radius: var(--small-radius) var(--small-radius) 0 0; + border: 1px solid var(--grey-300); + border-bottom: none; +} + +.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle { + right: 125px; /* Don't cover the lite upgrade button */ +} + +.frm-white-body #screen-meta { + margin: 0; +} + +.frm-white-body #screen-meta-links .show-settings::after { + color: var(--grey); +} + +/** + * Layout - Columns + */ +.frm-white-body .columns-2 { + border-bottom: 1px solid var(--grey-300); +} + +.frm-full-screen .columns-2 { + border: none; +} + +/** + * Layout - Body + */ +body.post-type-frm_display.edit-php, +body.frm-white-body { + background: #fff; +} + +body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after, +body.frm-white-body ul#adminmenu > li.current > a.current::after { + border-right-color: #fff; +} + +.frm-white-body #wpcontent { + padding-left: 0; + padding-right: 0; +} + +.frm-white-body .wrap #post-body { + padding: 0 20px; +} + +.frm-grey-body #wpbody { + background: var(--grey-100); +} + +.frm-grey-body #frm_top_bar { + background: #fff; +} + +/** + * Components - Table Nav + */ +.post-type-frm_display .tablenav, +.frm_wrap .tablenav { + margin-bottom: 10px; +} + +.frm-white-body .tablenav .actions select, +.wp-admin .frm_wrap .tablenav select { + margin-right: var(--gap-xs); +} + +.tablenav .actions .button { + margin-top: 1px; +} + +/** + * Components - Table Widefat + */ +.frm-white-body table.widefat { + background: var(--lightest-grey); + border-width: 0; + box-shadow: none; + margin: 20px 0; +} + +.frm-white-body table.widefat tfoot, +.frm-white-body table.widefat thead { + background: #fff; +} + +.frm-white-body table.widefat th { + font-size: var(--text-md); +} + +.frm-white-body table.widefat th a { + color: var(--grey-700); +} + +.frm-white-body table.widefat strong a { + color: var(--primary-700); +} + +/** + * Components - Scroll Box + */ +.frm-scroll-box { + clear: both; + overflow: auto; + max-height: 405px; + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); +} + +.frm_form_field.frm_scroll_box .frm_opt_container { + height: 100px; + overflow: auto; + border: 1px solid var(--grey-300); +} + +.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden) + p, +.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden) + div, +.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden) + span { + grid-column: span 6/span 6; + align-content: center; +} + +.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden) + p, +.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden) + div, +.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden) + span { + grid-column: span 12/span 12 !important; + align-content: center; +} + +.frm_form_field.frm-phone-type ~ [id*=frm-field-format-custom-] > label, +.frm_form_field.frm-format-dropdown ~ [id*=frm-field-format-custom-] > label { + opacity: 0; /* Hide the label for the format input in the phone field. */ +} + +.frm_form_field.frm-format-dropdown ~ [id*=frm-field-format-custom-] { + grid-column: span 6/span 6; +} + +/* Adjust "CSS Layout Classes" to full width when the "Format" setting is present. */ +.frm-single-settings.frm-type-textarea > .frm_grid_container [id*=frm-field-format-custom-] + p { + grid-column: span 12/span 12; +} + +.frm-single-settings .frm_grid_container { + column-gap: var(--gap-sm); +} + +.frm-content-center { + align-content: center; +} + +.frm-self-end { + align-self: end; +} + +/** + * Components - Short List + */ +.frm-short-list { + overflow: auto; + max-height: 190px; +} + +/** + * Components - Table Elements + */ +.frm-white-body table.frm-border td { + font-size: var(--text-sm); +} + +.frm-white-body .striped > tbody > :nth-child(odd) { + background-color: #fff; +} + +.frm_wrap td.column-title strong { + display: inline; +} + +td.column-title .frm_actions_dropdown { + float: right; +} + +/** + * Layout - Top Bar + */ +#frm_top_bar { + display: flex; + gap: var(--gap-sm); + width: 100%; + height: 72px; + margin: 0; + box-sizing: border-box; + text-align: center; + padding: 0 var(--gap-md); +} + +#frm_top_bar > .frm-full-close:last-child, +#frm_top_bar > #frm-publishing:last-child { + margin-left: auto; +} + +#frm_top_bar { + border-bottom: 1px solid var(--grey-300); + padding: 0 var(--gap-md); + overflow: visible; +} + +/** + * Base - Headings + */ +.frm-white-body h1, +.frm-white-body h2, +.frm-white-body h3, +.frm-white-body h4 { + color: var(--grey-900); + font-weight: 400; + line-height: var(--leading) !important; +} + +.frm-white-body .wrap h1, +.frm-white-body h1 { + font-size: var(--text-xl); +} + +.frm-white-body .wrap h2, +.frm-white-body h2 { + font-size: var(--text-lg); + font-weight: 500; +} + +.frm-white-body .wrap h3, +.frm-white-body h3 { + font-size: var(--text-md); +} + +.frm-white-body .wrap h4, +.frm-white-body h4 { + font-size: var(--text-sm); + font-weight: 500; +} + +/** + * Components - Error Modal + */ +#frm_error_modal .frm_lock_simple { + padding: 20px; + border-radius: 50%; + background-color: var(--primary-25); + display: inline-block; +} + +#frm_error_modal #frm_lock_simple { + color: var(--primary-500); +} + +#frm_error_modal .frm-modal-title { + display: block; +} + +#frm_error_modal .frm-modal-title h2 { + font-weight: 600; + font-size: var(--text-xl); + margin: 0; +} + +#frm_error_modal .frm_modal_content { + padding: var(--gap-md); + color: var(--grey-900); +} + +/** + * Layout - Editor Overrides + */ +/* Override CSS in Views plugin. */ +.frm-views-editor-body .frm_page_container #frm_top_bar h1 { + padding: 0 !important; + color: var(--grey-900); + font-size: var(--text-xl) !important; +} + +.post-type-frm_display .frm_top_left { + padding-bottom: 0 !important; +} + +.frm-new-table-view-option.frm-selected-table-view-option { + border-radius: var(--small-radius); + background: var(--primary-25); +} + +.frm-views-editor-body #frm_adv_info .tabs-panel { /* Views sidebar */ + padding-left: 4px; + padding-right: 4px; +} + +#frm_edit_box_content_modal .frm_modal_footer { + padding-top: var(--gap-sm); + border-top: 1px solid var(--grey-300); +} + +#frm_edit_box_content_modal .frm_modal_footer > div { + display: flex; + justify-content: space-between; +} + +#frm_edit_box_content_modal #frm_modal_box_select_area, +#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper, +#frm_edit_box_content_modal .frm_modal_content { + max-height: calc(100vh - 176px) !important; +} + +#frm_edit_box_content_modal #frm_modal_box_select_area { + height: calc(100vh - 176px) !important; +} + +#frm_edit_box_content_modal #wp-content-editor-tools { + padding-top: 0; +} + +#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title + div:last-child { + right: var(--gap-md); +} + +.frm_code_list.frm-full-hover .frm-dropdown-view a { + flex-direction: row-reverse; /* Switch in the HTML */ +} + +#frm_view_editor_left.frm-right-panel .accordion-section-title::before { + content: "" !important; + margin: 0; +} + +/** End Temporary View CSS */ +/** + * Components - Upgrade Bar + */ +.frm-gradient, +.frm-upgrade-bar { + background: linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important; + color: #fff !important; + border: 0 !important; +} + +.frm-gradient.frm-button-primary:not([disabled]), +.frm-gradient.frm-button-primary:not([disabled]):hover, +.frm-gradient.frm-button-primary:not([disabled]):focus { + background: linear-gradient(90deg, #1961D5, #816CFA) !important; +} + +.frm-upgrade-bar, +.frm-gradient { + position: relative; +} + +.frm-upgrade-bar::before, +.frm-gradient::before { + content: ""; + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(255, 255, 255, 0.1); + z-index: 0; +} + +.frm-upgrade-bar:hover::before, +.frm-gradient:hover::before, +.frm-gradient:focus::before { + display: block; +} + +.frm-upgrade-bar-inner, +.frm-gradient > * { + position: relative; + z-index: 1; +} + +.frm-upgrade-bar { + border-bottom: 1px solid var(--sidebar-hover); + padding: 9px 0; + font-size: 12px; + text-align: center; +} + +.frm-upgrade-bar a { + color: currentColor !important; + text-decoration: underline; +} + +.frm-upgrade-bar a:focus { + outline: 1px dotted var(--sidebar-hover); +} + +.frm-upgrade-bar span { + opacity: 0.9; +} + +/** + * Components - Links + */ +a h1 .frmsvg { + color: var(--grey-400); + vertical-align: middle; + min-width: var(--text-sm); +} + +a .frmsvg { + color: currentColor; +} + +.frm_wrap .view-switch a.current::before, +.frm-white-body a, +.frm_wrap a, +.frm_wrap a i { + color: var(--primary-color); +} + +.frm_wrap a:active, +.frm_wrap a:hover { + color: var(--primary-700); + box-shadow: none; +} + +.post-type-frm_display a:focus, +.frm_wrap a:focus { + box-shadow: none; +} + +/** + * Layout - Top Bar - Navigation + */ +.frm_top_left { + text-align: left; + float: left; + white-space: nowrap; + max-width: 250px; + overflow: hidden; + text-overflow: ellipsis; + align-self: center; +} + +.post-type-frm_display .frm_top_left, +.frm_top_left.frm_top_wide { + max-width: 100%; +} + +.post-type-frm_display .frm_nav_bar .frm-header-logo, +.frm_nav_bar .frm-header-logo { + margin: 18px 0 10px; +} + +#frm_top_bar .frm_form_nav { + flex: 1; +} + +ul.frm_form_nav { + margin: 0 auto; + padding-top: 18px; + display: block; + min-width: 240px; +} + +.nav-tab-wrapper.frm_form_nav { + padding: 0 25px; +} + +ul.frm_form_nav > li { + margin: 0 min(3.5%, 32px) 0 0; + display: inline-block; +} + +.post-type-frm_display #advanced-sortables h2.hndle, +.post-type-frm_display #side-sortables h2.hndle, +.post-type-frm_display #normal-sortables h2.hndle, +.post-type-frm_display .frm_form_nav .nav-tab-active, +.frm_form_nav > li > a { + font-size: 1.3em; + text-decoration: none; + display: block; + padding: 6px 2px 4px; + font-weight: 500; + color: var(--grey-700); + border-bottom: 2px solid transparent; +} + +.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before { + margin-top: 10px; +} + +.frm-nav-tabs a:focus, +.frm-nav-tabs a:active, +.frm_form_nav a:active, +.frm_form_nav a:focus { + outline: none; + box-shadow: none; +} + +.frm_form_nav > li > a { + font-size: var(--text-md); + font-weight: 400; + color: var(--grey-500); +} + +.frm_form_nav > li > a:hover { + border-color: var(--primary-700); +} + +.frm_form_nav .frm-dropdown-menu a:hover { + background-color: #eaf2fa; +} + +.post-type-frm_display .frm_form_nav .nav-tab-active, +.post-type-frm_display .frm_form_nav .nav-tab-active:hover, +.frm_form_nav > li a.current_page { + color: var(--primary-500); + border-color: var(--primary-500); + background: transparent; + opacity: 1; + font-weight: 600; +} + +/** + * Components - Full Close + */ +.frm-full-close { + display: none; + padding-left: var(--gap-md); + border: 0 solid var(--grey-300); + border-left-width: 1px; /* Make RTL a bit less maintenance */ + height: 100%; + box-sizing: border-box; +} + +.frm-full-screen .frm-full-close { + display: flex; + align-items: center; +} + +.frm-full-close a { + display: block; +} + +.frm-full-close .frmsvg { + font-size: 20px; + width: 20px; + height: 20px; + color: var(--grey-500); +} + +/** + * Layout - Top Bar - Elements + */ +#frm_top_bar h1 { + font-weight: 400; + padding: 0; + margin: 0; + color: var(--grey-900); + display: inline-flex; + gap: var(--gap-sm); + align-items: center; + text-align: left; + min-width: 200px; +} + +#frm_top_bar h1 span { + max-width: 175px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: inline-block; + vertical-align: bottom; +} + +#frm_top_bar ul.frm_form_nav, +#frm_top_bar .frm-header-logo, +#frm_top_bar #frm_bs_dropdown { + align-self: center; + margin-top: 0; + margin-bottom: 0; + padding-top: 0; +} + +#frm_top_bar .frm-header-logo { + display: flex; /* Get rid of extra padding below logo */ +} + +#frm_top_bar h2 { + float: left; + margin: 0 0 0 var(--gap-sm); + padding: 2px 0 2px var(--gap-sm); + font-weight: 400; + border-left: 2px solid var(--grey); +} + +.frm_wrap > #frm_top_bar #frm-publishing { + margin-top: 0; +} + +#frm-publishing { + min-width: 225px; + align-self: center; + align-items: center; + display: flex; + flex-direction: row-reverse; + gap: 0 var(--gap-sm); + flex-wrap: wrap; +} + +/** + * Layout - Postbox + */ +.frm_wrap .postbox { + border-color: var(--grey-300); + border-radius: 6px; + box-shadow: none; +} + +.frm_wrap .postbox h3.hndle { + cursor: default; + padding: 10px 20px; + margin: 0; + line-height: 1.4em; + border-color: var(--grey-300); +} + +.frm-pre-hndle { + font-size: 15px; + padding: 5px; + margin: 9px 15px; +} + +/** + * Components - Table - Row + */ +.frm-empty-row { + display: none; +} + +.frm-child-row { + box-shadow: 5px 0 0 0 inset var(--sidebar-hover); +} + +/** + * Utilities - Effects - Animate + */ +.frm_animate_bg { + transition: background 200ms linear, color 200ms linear; +} + +/** + * Components - List - Subsubsub + */ +.wrap > .subsubsub { + clear: both; + margin: 0; +} + +.frm_wrap .subsubsub a { + line-height: var(--leading); + font-size: var(--text-sm); +} + +/** + * Layout - Container + */ +.frm-admin-page-styles .frm_page_container, +.frm_wrap .frm_page_container { /* Use .frm_wrap to avoid messing up Views editor layout */ + height: calc(100vh - 32px); + display: flex; + flex-direction: column; + overflow: hidden; + padding-top: 0; + position: fixed; + top: 32px; + bottom: 0; + left: 0; + right: 0; +} + +.frm-admin-page-translate .frm_wrap .frm_page_container, .frm-admin-page-update_translations .frm_wrap .frm_page_container { + position: static; +} + +.auto-fold.frm-admin-page-styles .frm_page_container, +.auto-fold .frm_wrap .frm_page_container, +.frm-unfold.frm-admin-page-styles .frm_page_container, +.frm-unfold .frm_wrap .frm_page_container { + left: 160px; +} + +.folded.frm-admin-page-styles .frm_page_container, +.folded .frm_wrap .frm_page_container { + left: 38px; +} + +.frm-full-screen.frm-admin-page-styles .frm_page_container, +.frm-full-screen .frm_wrap .frm_page_container { + height: 100vh; + top: 0; + left: 0; +} + +.frm-full-screen.frm-admin-page-entries .frm_page_container, +.frm-new-entry .frm_page_container, +.frm-admin-page-reports .frm_page_container, +.frm_list_entry_page .frm_page_container { + height: auto; + display: block; +} + +/** + * Layout - Container - Columns Elements + */ +.frm-new-entry .columns-2 { + border: none; +} + +.frm-white-body #frm_top_bar, +.frm-white-body .columns-2 { + flex: 0 0 auto; +} + +.columns-2 .frm-right-panel + div { + padding-bottom: var(--gap-md); + border-left: 1px solid var(--grey-300); +} + +.columns-2 .frm-right-panel + div, +.frm_wrap #post-body-content { + padding-bottom: 0; + padding-top: var(--gap-sm); + margin-bottom: 0; + background: #fff; + width: auto; + float: none; + flex: 2; +} + +.frm-white-body .columns-2 { + flex: 1; + display: flex; + overflow: hidden; +} + +.frm-white-body .columns-2 > div { + overflow-y: auto; + box-sizing: border-box; +} + +.frm_wrap .columns-2 .frm-right-panel, +.frm-right-panel { + flex: 0 0 var(--biggest-sidebar); + float: none; + width: var(--biggest-sidebar); + min-width: var(--biggest-sidebar); + background-color: var(--sidebar-color); + margin: 0; + box-shadow: none; + border: none; + padding-bottom: 25px; +} + +.frm-right-panel .frm_field_list, +.frm_wrap .frm-right-panel #frm_adv_info, +.frm_wrap #postbox-container-1 #frm_adv_info { + box-shadow: none; + border: none; + margin-bottom: 26px; +} + +/** + * Components - Settings - Has Shortcodes + */ +#new_fields, +.frm-has-modal, +p.frm_has_shortcodes { + position: relative; +} + +.frm-inline-modal.postbox { + background: #fff; + border-color: var(--grey-100); + border-radius: var(--small-radius); + box-shadow: var(--box-shadow-lg); +} + +.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg), +.frm_has_shortcodes i:not([class*=mce-]) { + position: absolute; + color: var(--primary-500); + border-radius: 50%; + border: 1px solid transparent; + z-index: 100; + text-align: center; +} + +.frm_has_shortcodes .frmsvg.frm-show-box { + border-radius: 6px !important; +} + +.frm_has_shortcodes input, +.frm_has_shortcodes textarea { + padding-left: 18px; + box-sizing: border-box; +} + +/** + * Components - Settings - Adv Info + */ +#form_settings_page #frm_adv_info, #frm_builder_page #frm_adv_info { + display: none; + top: 0; + width: 310px; + max-height: 315px; + min-height: 200px; + overflow-y: scroll; + z-index: 100; +} + +#form_global_settings .columns-2 > div { + overflow: auto; + height: calc(100vh - 32px); +} + +#form_global_settings .columns-2 .frm-right-panel, +#form_settings_page .columns-2 .frm-right-panel, +#wpbody-content .frm-page-skeleton .frm-right-panel { + flex: 0 0 var(--small-sidebar); + width: var(--small-sidebar); + min-width: var(--small-sidebar); +} + +#form_global_settings .frm_grid_container { + gap: 0 var(--gap-md); +} + +.frm-inner-content { + padding: var(--gap-md); +} + +.post-type-frm_display #poststuff { + padding: 0 0 10px 40px; +} + +#postbox-container-2 .postbox .inside { + padding: 15px 25px; +} + +#postbox-container-2 #frm_advanced .inside h3 { + margin: 15px -25px; + font-weight: 600; +} + +#form_settings_page .frm-inner-content { + padding-top: 0; + padding-bottom: 150px; + position: relative; +} + +.frm_wrap #submitdiv { + margin-bottom: 0; + border-width: 0 0 1px; + width: 100%; + min-width: unset; +} + +.frm_wrap #frm_adv_info .handlediv, +.frm_wrap #frm_adv_info .hndle { + display: none; +} + +.frm_wrap .menu-settings { + /* for add-on reverse compatibility */ + border: none; + margin-top: 0; +} + +.nodrag a { + cursor: pointer; +} + +.frm_wrap #frm_adv_info .inside { + margin: 0; +} + +#frm_adv_info > .inside { + padding: 0; +} +#frm_adv_info ul.subsubsub { + padding-bottom: var(--gap-xs) !important; +} +#frm_adv_info ul.subsubsub a { + font-weight: 500; +} +#frm_adv_info ul.subsubsub .frm-vertical-separator { + display: inline-block; + width: 1px; + height: 8px; + background-color: var(--grey-300); +} +#frm_adv_info #frm-insert-condition { + background-color: var(--primary-50); +} +#frm_adv_info #frm-insert-condition:hover { + background-color: var(--primary-25); +} + +#frm_builder_page #frm_adv_info { + width: 322px; + max-height: 356px; + border-radius: var(--small-radius); + overflow: hidden; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory { + height: 356px; + overflow: hidden; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div { + max-height: 286px; + padding: 0; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div > * { + padding-bottom: var(--gap-sm); + max-height: unset; +} +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div > *:last-child { + padding-bottom: var(--gap-xs); +} +#frm_builder_page #frm_adv_info #frm-nav-tabs { + display: flex; + gap: var(--gap-xs); + background-color: var(--grey-100); + border-radius: var(--small-radius); + border: 0; + padding: var(--gap-xs); + margin: var(--gap-xs) var(--gap-2xs) var(--gap-sm); +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li { + flex: 1; + text-align: center; +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li a { + font-weight: 500; + line-height: 1; + color: var(--grey-500); + border-radius: var(--small-radius); + border: 0; + padding: var(--gap-xs); + margin: 0; +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li a:hover { + background-color: rgb(234, 236, 240); + color: var(--grey-500) !important; + box-shadow: var(--box-shadow-sm); +} +#frm_builder_page #frm_adv_info #frm-nav-tabs > li.frm-tabs a { + background-color: #fff; + color: var(--grey-900) !important; + box-shadow: var(--box-shadow-sm); +} +#frm_builder_page #frm_adv_info .frm-search, +#frm_builder_page #frm_adv_info .frm-with-search { + padding-top: 0; + margin: 0; +} + +/** + * Components - Modal - Inline Modal + */ +.frm-right-panel .frm-inline-modal.postbox .inside { + margin: 0; + padding: 0 14px 14px; +} +.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line, +.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4 { + margin-left: -14px; + margin-right: -14px; +} + +.frm-right-panel .frm-inline-modal .inside p:not(.howto), +.frm-right-panel .frm-inline-modal .inside a { + font-size: 15px; +} + +.frm-inline-modal .inside a.frm_icon_font { + font-size: 18px; +} + +/** + * Components - Nav Tabs + */ +.frm-nav-tabs { + margin: 10px 0 20px; + padding: 0 var(--gap-sm); + display: block; + border-bottom: 1px solid var(--grey-300); +} + +#frm-nav-tabs { + position: -webkit-sticky; + position: sticky; + top: 0; + background-color: var(--sidebar-color); + z-index: 98; /* must be < 99 */ + margin-top: 0; + padding-top: 5px; +} + +.frm_form_settings #frm_adv_info #frm-nav-tabs { + background-color: #fff; + margin: 0 -4px; +} + +.frm_form_settings span.frm-with-right-icon, +#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden) { + display: block; +} + +.frm-inline-modal .frm-nav-tabs, +#frm_adv_info .frm-nav-tabs { + margin: 5px 0 0; +} + +#frm_adv_info .frm-nav-tabs.frm-compact-nav { + padding-right: 0; + padding-left: 20px; +} + +.frm-nav-tabs li { + display: inline-block; + margin: 0; +} + +.frm-nav-tabs a { + color: var(--grey-700); + padding: 10px 1px; + margin: 0 9px; + border-bottom: 2px solid transparent; +} + +.frm_form_settings #frm_adv_info .frm-nav-tabs a { + padding: 5px 1px; + color: var(--grey-500); +} + +.frm-nav-tabs.frm-compact-nav a { + margin: 0 5px; +} + +.frm-nav-tabs a { + display: block; + opacity: 0.9; +} + +#frm_adv_info .frm-nav-tabs a { + color: var(--grey-700); +} + +.frm-nav-tabs a:hover, +.frm-nav-tabs .frm-tabs a { + color: var(--primary-500) !important; + border-color: var(--primary-500); +} + +.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a { + font-weight: 500; +} + +/** + * Components - Modal - Bulk Modal + */ +#frm-bulk-modal .howto, +#frm-bulk-modal h3 { + font-size: var(--text-sm); + font-weight: 400; + margin: 5px 0 10px; + color: var(--grey); +} + +#frm-bulk-modal h3 { + margin-left: 20px; +} + +/** + * Layout - Sidebar + */ +.frm-right-panel a.frm_add_logic_link, +.frm-right-panel h3 { + color: var(--grey-700); + font-size: var(--text-lg); + font-weight: 400; + margin: 0; +} +.frm-right-panel h3 i { + color: var(--grey-700); + float: right; + width: 16px; + cursor: pointer; +} + +.frm-settings-panel { + /* Right padding reduced to compensate for scrollbar width (~8px) */ + padding: var(--gap-sm); + padding-right: var(--gap-xs); +} +.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter { + top: var(--gap-xs); + left: var(--gap-xs); + width: calc(100% - var(--gap-sm)); +} +.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs { + padding: var(--gap-xs) var(--gap-xs) 0; +} +.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track > div { + max-height: 0; + visibility: hidden; +} +.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track > div.frm-active { + max-height: unset; + visibility: visible; +} +.frm-settings-panel .frm-embed-field-placeholder { + height: unset; +} +.frm-settings-panel .frm-embed-field-placeholder img { + height: 100px; +} +.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: var(--gap-sm); + max-width: unset; + color: var(--grey-800); + padding: var(--gap-lg); + border: 0; + box-shadow: var(--box-shadow-sm); + margin: 1px; +} + +.frm-single-settings .frm-default-value-wrapper > p { + margin-bottom: 0; +} +.frm-single-settings .frm-default-value-wrapper + p:empty { + display: none; +} +.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p { + margin-top: 0 !important; +} +.frm-single-settings .frm_single_option[id^=frm_watch_lookup_] { + margin-bottom: var(--gap-xs) !important; +} +.frm-single-settings > h3:first-of-type { + position: relative; + background-color: transparent !important; + border-top: none; + padding-top: 0 !important; + margin-top: 0 !important; +} +.frm-single-settings > h3:first-of-type::after { + content: ""; + position: absolute; + left: var(--gap-sm); + right: var(--gap-sm); + bottom: 0; + height: 1px; + background-color: var(--sidebar-hover); +} + +.frm-flex-justify, +.frm-right-panel .frm-single-settings h3 { + display: flex; + justify-content: space-between; + align-items: center; +} + +/* right sidebar */ +#post-body-content + .frm-right-panel { + flex: 0 0 var(--medium-sidebar); + width: var(--medium-sidebar); + min-width: var(--medium-sidebar); + border-left: 1px solid var(--sidebar-hover); +} + +.frm-new-entry #post-body-content + .frm-right-panel, +.frm-new-entry .frm-right-panel { + background: none; + border: none; +} + +#post-body-content + .frm-right-panel h3 { + padding: 20px 20px 0; + font-size: 17px; +} +#post-body-content + .frm-right-panel .frm_with_icons:first-of-type h3 { + border: none; +} + +#frm-insert-fields h3 { + color: var(--grey); + font-size: 15px; + font-weight: 400; + border-top: none; + border-bottom: 1px solid var(--sidebar-hover); + margin: 0; + padding: 10px 10px 10px 25px; +} + +.frm_wrap #frm_adv_info ul.category-tabs { + margin: 0; + padding: 10px 0 9px; + font-size: 15px; + background: transparent; +} +.frm_wrap #frm_adv_info ul.category-tabs li { + padding: 10px; + background-color: transparent !important; +} +.frm_wrap #frm_adv_info ul.category-tabs li:first-child { + border: none; +} + +.frm_wrap #frm_adv_info .categorydiv div.tabs-panel { + border: none; + background: transparent; +} +.frm_wrap #frm-categorydiv { + border-right: none; +} + +#frm_adv_info #frm-conditionals { + padding-top: var(--gap-sm); +} + +#postbox-container-1 #taxonomy-linkcategory #frm-html-tags { + display: none; + max-height: none; +} +#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown { + position: relative; +} + +/** + * Components - Admin Footer + */ +.frm-white-body #footer-upgrade { + display: none; +} + +.frm-admin-footer-links, +.frm-admin-footer-links-nav, +.frm-admin-footer-links-socials { + display: flex; + justify-content: center; +} + +.frm-admin-footer-links { + gap: var(--gap-2xs); + flex-direction: column; + text-align: center; + padding: var(--gap-xl) 0 var(--gap-lg); + font-size: var(--text-xs); + color: var(--grey-400); +} + +body.frm-hidden-overflow { + height: 100%; + overflow: hidden; +} + +.frm-admin-footer-links-nav { + gap: var(--gap-2xs); + margin-bottom: var(--gap-xs); +} + +.frm-admin-footer-links-socials { + gap: var(--gap-xs); +} + +.frm-admin-footer-links-socials a { + color: var(--grey-400); +} + +/** + * Layout - List Entry Page + */ +.frm_list_entry_page h2 { + float: left; +} + +.frm_list_entry_page h2 + .error { + clear: both; +} + +/** + * Layout - Sidebar - Elements + */ +.frm_sidebar select { + width: 100%; + margin-left: 0; + margin-right: 0; +} + +.frm_sidebar #search-submit { + float: right; +} + +/** + * Layout - Single Entry Page + */ +.frm_single_entry_page #submitdiv { + margin: 0; +} + +.frm_single_entry_page .hndle a { + font-size: 13px; +} + +/** + * Components - Publish Actions + */ +.frm-right-panel #publishing-action { + float: none; +} + +.frm-right-panel #major-publishing-actions { + border-top: none; + height: 32px; + background: transparent; +} + +#major-publishing-actions .frm_submit_form { + float: right; + margin-left: 5px; +} + +/** + * Components - Button + */ +.frm_orange_button, +.frm_reverse_button { + font-size: 12px; + border: 1px solid var(--orange); + color: var(--orange); + font-weight: 600; + padding: 1px 4px; + border-radius: 4px; + background: transparent; +} + +.frm_reverse_button:hover, +.frm_reverse_button:active, +.frm_reverse_button:focus { + color: #fff; + background: var(--orange); + border: 1px solid var(--orange); +} + +.frm_reverse_button { + font-size: 1em; + transition: all 0.2s ease; +} + +.frm-button-primary, +.wp-core-ui .button-primary.frm-button-primary, +.wp-core-ui .button.frm-button-primary, +.frm-button-secondary, +.wp-core-ui .button-secondary.frm-button-secondary, +.wp-core-ui .button.frm-button-secondary, +.frm-white-body .frm-search .button, +.frm-white-body .search-box .button, +.frm-white-body .tablenav .button, +.frm_orange_button, +.toplevel_page_formidable #frm_upgrade_modal .button-primary, +.wp-core-ui.frm-white-body .button-primary, +.wp-core-ui.frm-white-body .button-secondary, +.frm-white-body .button-primary, +.frm-white-body .button-secondary, +#frm-form-button button, +.frm-form-button button, +.frm-preview-buttons button, +.frm-button-red, +.frm-button-tertiary { + text-shadow: none; + box-shadow: none; + border-radius: 30px; + border: 1px solid var(--primary-500); + font-size: var(--text-sm); + transition: all 0.2s ease; + padding: 7px 16px; + height: auto; + min-height: 28px; + outline: none; + line-height: var(--leading); + box-sizing: border-box; + font-weight: 500; + margin-bottom: 0; + display: inline-block; +} + +.frm-button-primary.frm-sharp, +.frm-button-secondary.frm-sharp { + border-radius: 12px !important; +} + +#wpcontent .frm-button-secondary.frm-button-gradient { + position: relative; + border-color: transparent !important; + background-clip: padding-box !important; +} +#wpcontent .frm-button-secondary.frm-button-gradient::before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; + margin: -1px; + border-radius: inherit; + background: linear-gradient(90deg, #129EFD 0%, #A334FD 100%); + transition: opacity 150ms ease-out; +} +#wpcontent .frm-button-secondary:hover::before { + opacity: 0.5; +} + +.no-js.wp-core-ui .frm-search .button.hide-if-no-js, +.js.wp-core-ui .frm-search .button.hide-if-js { + display: none; +} + +.frm-button-tertiary { + border-color: transparent; + color: var(--primary-500); +} + +.frm-button-tertiary:focus { + outline: none; +} + +.frm-button-tertiary.frm_loading_button::before { + border-right-color: var(--grey); + border-bottom-color: var(--grey); +} + +.frm-button-red, +.frm-button-red:focus { + --primary-color: var(--error-500); + --primary-500: var(--error-500); + --primary-700: var(--error-700); +} + +.frm-button-red:not(.frm-button-tertiary), +.frm-button-red:not(.frm-button-tertiary):focus { + color: #fff !important; +} + +.frm-white-body h2 .button, +.post-type-frm_display h2 .frm-button-primary, +.frm-white-body .tablenav .button, +.frm-button-primary.frm-button-sm, +.frm-button-secondary.frm-button-sm, +.frm-button-tertiary.frm-button-sm, +.frm-button-red.frm-button-sm { + padding: 4px 12px !important; + font-size: var(--text-xs) !important; +} + +.frm_no_style_button { + background: transparent; +} + +.frm-with-icon { + display: flex; + gap: var(--gap-xs); + align-items: center; +} + +.frm-with-icon svg { + opacity: 0.65; /* Get close to grey-500 without overriding hover colors */ +} + +.frm-with-icon.button svg { + height: var(--text-sm); + width: var(--text-sm); +} + +.frm-with-icon.frm-button-sm svg { + height: var(--text-xs); + width: var(--text-xs); +} + +.frm-white-body .button.add_media { + /* Media buttons above RTE */ + padding-left: 12px !important; + padding-right: 12px !important; + font-size: var(--text-xs); + border-radius: var(--border-radius); +} + +.wp-core-ui.frm-white-body #post-query-submit.button, +.wp-core-ui.frm-white-body .button.tablenav-pages-navspan, +.wp-core-ui.frm-white-body .button.first-page, +.wp-core-ui.frm-white-body .button.prev-page, +.wp-core-ui.frm-white-body .button.next-page, +.wp-core-ui.frm-white-body .button.last-page, +.wp-core-ui.frm-white-body .button.action { + background-color: transparent; + border-color: var(--grey-300); + color: var(--grey-700); + border-radius: var(--border-radius); +} + +.post-type-frm_display.wp-core-ui .button-primary, +.frm-button-primary, +.wp-core-ui .button-primary.frm-button-primary, +.frm_single_entry_page #frm-publishing .button-primary { + background-color: var(--primary-500) !important; + color: #fff !important; +} + +.frm-button-primary.frm_large, +.frm-button-secondary.frm_large { + height: auto !important; + padding: 12px 16px !important; +} + +.frm-button-secondary.frm-small, +.frm-button-primary.frm-small { + font-size: var(--text-xs) !important; + height: auto !important; + padding: var(--gap-2xs) 12px !important; +} + +.frm-button-primary i::before { + color: #fff; +} + +.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover, +.frm-button-primary:not([disabled]):hover { + background: var(--primary-700) !important; + border-color: var(--primary-700) !important; +} + +.wp-core-ui .button-primary.frm-button-primary:active { + vertical-align: inherit; +} + +.frm-white-body #search-submit, +#frm-form-button .frm_button_submit, +.frm-form-button .frm_button_submit, +.frm-white-body .frm-preview-buttons button, +.frm-white-body .button:not(.frm-button-primary), +.wp-core-ui.frm-white-body .button-secondary, +.wp-core-ui .button-secondary.frm-button-secondary, +.wp-core-ui .button.frm-button-secondary, +.frm-white-body .frm-button-secondary, +.frm-button-secondary { + color: var(--grey-800); + border-color: var(--grey-300); + background-color: #fff; +} + +#wp-content-media-buttons button, +#wp-content-media-buttons a.button { + border-color: var(--grey-300); +} + +.frm_orange_button { + border-color: #da791d !important; + background: var(--orange); + color: #fff; +} + +.frm-white-body .button:not(.frm-button-primary):focus, +.frm-white-body .button:not(.frm-button-primary):active, +.frm-white-body .frm-button-secondary:hover, +.wp-core-ui.frm-white-body .frm-button-secondary:hover, +.wp-core-ui.frm-white-body .button-secondary:hover, +.wp-core-ui.frm-white-body .button-secondary:focus, +.wp-core-ui.frm-white-body .tablenav .button:hover, +.frm_wrap .preview > .button:hover, +.frm-white-body #search-submit:hover { + border-color: var(--grey-300) !important; + color: var(--grey-800); + background: var(--grey-50) !important; + box-shadow: none !important; + outline: none !important; +} + +.frm-button-primary .frmsvg { + color: #fff; +} + +.frm_wrap .preview i { + font-size: inherit; +} + +.frm-white-body .frm-button-primary:focus, +.frm-white-body .frm-button-primary:active, +#frm-addons-page .button-primary:focus, +#form_global_settings .button-primary:focus, +#frm_upgrade_modal .button-primary:focus { + border-color: var(--primary-700) !important; + background-color: var(--primary-700) !important; + box-shadow: none !important; + outline: none !important; +} + +.frm_wrap .preview > .button:focus, +.frm_orange_button:hover, +.frm_orange_button:focus, +.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover, +.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus, +.toplevel_page_formidable .frm_wrap button.button-primary:hover, +.toplevel_page_formidable .frm_wrap button.button-primary:focus { + outline: none; +} + +.frm_orange_button:hover, +.frm_orange_button:focus { + border-color: var(--orange) !important; + background: transparent; + color: var(--orange); + opacity: 1; +} + +.major-publishing-actions.frm_create_form_header { + padding: 8px 0; +} + +.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner { + font-size: 15px; + background: transparent; +} + +.frm-menu-boxes .frm_blank_form_text { + padding-bottom: 26px; +} + +input.frm_insert_in_template { + font-size: 10px; + width: 98%; + font-weight: 400; +} + +.frm-dismissible a.dismiss:focus { + box-shadow: none; +} + +.frm-dismissible a.dismiss { + top: 10px; + right: 10px; + position: absolute; +} + +.frm-dismissible a.dismiss svg { + color: var(--grey-800); +} + +.frm-btn-unstyled { + font: inherit; + background: none; + border: none; + padding: 0; + cursor: pointer; + outline: inherit; +} +.frm-btn-unstyled:hover, .frm-btn-unstyled:focus, .frm-btn-unstyled:active { + text-decoration: none; + background: none; + border: none; + box-shadow: none; +} +.frm-btn-unstyled:disabled, .frm-btn-unstyled[disabled] { + pointer-events: none; + opacity: 0.65; +} + +/** + * Components - Review Request + */ +.wp-admin .frm-review-notice { + position: fixed !important; + bottom: var(--gap-2xl); + right: var(--gap-lg); + width: 380px; + text-align: center; + border-color: var(--grey-100); + padding: var(--gap-lg); + border-radius: var(--medium-radius); + box-shadow: var(--box-shadow-lg) !important; + z-index: 999; + box-sizing: border-box; + --gap-sm: 16px; + --gap-md: 24px; + --gap-2xl: 48px; +} + +.wp-admin .frm-review-notice * { + box-sizing: border-box; +} + +.frm-review-notice-icon { + display: inline-flex; + margin-bottom: var(--gap-sm); +} + +.wp-admin .frm-review-notice-title { + font-weight: 600; + margin-top: 0; + margin-bottom: var(--gap-xs); +} + +.wp-admin .frm-review-notice-text { + margin-top: 0; + margin-bottom: var(--gap-md); +} + +.frm-review-notice-signature { + text-align: left; + margin: var(--gap-md) 0; +} + +.frm-review-notice-signature img { + width: 40px; + height: 40px; + padding: 3px; + box-shadow: var(--box-shadow-md); + border-radius: 100%; +} + +#wpwrap .frm-dismiss-review-notice { + top: 16px; + right: 19px; +} + +.frm-review-notice #frmapi-feedback [class^=frm__] { + display: none; +} + +.frm-review-notice #frmapi-feedback input, +.frm-review-notice #frmapi-feedback textarea { + border-color: var(--grey-300); + border-radius: var(--small-radius); +} + +.frm-review-notice #frmapi-feedback input { + min-height: unset; + max-height: 36px; +} + +.frm-review-notice #frmapi-feedback textarea { + max-height: 80px; + padding-top: var(--gap-xs); +} + +.frm-review-notice #frmapi-feedback .frm_message { + color: var(--success-900); + background-color: var(--success-25); + border: 1px solid var(--success-200); + padding: var(--gap-sm) var(--gap-md); + margin: 0; +} + +.frm-review-notice #frmapi-feedback .frm_message p { + margin: 0; +} + +.frm-review-notice #frmapi-feedback .frm_button_submit { + background-color: var(--primary-500); + border-color: var(--primary-500) !important; + cursor: pointer; +} + +.frm-review-notice #frmapi-feedback .frm_button_submit:hover, +.frm-review-notice #frmapi-feedback .frm_button_submit:focus { + color: #fff; + background-color: var(--primary-700); + border-color: var(--primary-700) !important; +} + +.frm-review-notice .frm_error, +.frm-review-notice label { + color: #444; + text-align: left; +} + +.frm-review-notice label { + font-size: var(--text-sm); +} + +.frm-floating-success-message { + position: fixed; + z-index: 999; + border-radius: 4px; + right: 10px; + bottom: 10px; +} + +/** + * Utility Classes + * + * Reusable helper classes for spacing, typography, effects, etc. + */ +/** + * Utilities - Box Shadow + */ +.frm-box-shadow-xxl { + box-shadow: var(--box-shadow-xxl) !important; +} + +/** + * Utilities - Text Color + */ +.frm-text-white { + color: #fff !important; +} + +.frm-text-primary-500 { + color: var(--primary-500); +} + +.frm-text-grey-400 { + color: var(--grey-400) !important; +} + +.frm-text-grey-500 { + color: var(--grey-500) !important; +} + +.frm-text-grey-600 { + color: var(--grey-600) !important; +} + +.frm-text-grey-700 { + color: var(--grey-700); +} + +.frm-text-grey-800 { + color: var(--grey-800); +} + +.frm-text-grey-900 { + color: var(--grey-900); +} + +.frm-text-success-500 { + color: var(--success-500); +} + +.frm-text-warning-500 { + color: var(--warning-500); +} + +.frm-underline { + text-decoration: underline; +} + +/** + * Utilities - Margin + */ +.frm_no_margin, +.frm-m-0 { + margin: 0 !important; +} + +.frm-m-12 { + margin: var(--gap-2xl); +} + +.frm-m-2xs { + margin: var(--gap-2xs) !important; +} + +.frm_no_top_margin, +.frm-mt-0 { + margin-top: 0 !important; +} + +.frm-mt-2xs { + margin-top: var(--gap-2xs) !important; +} + +.-frm-mt-2xs { + margin-top: calc(-1 * var(--gap-2xs)) !important; +} + +.frm-mt-xs { + margin-top: var(--gap-xs) !important; +} + +.frm-mt-sm { + margin-top: var(--gap-sm) !important; +} + +.frm-mt-md { + margin-top: var(--gap-md) !important; +} + +.frm-mt-lg { + margin-top: var(--gap-lg) !important; +} + +.frm-mt-2xl { + margin-top: var(--gap-2xl) !important; +} + +.frm-mt-auto { + margin-top: auto !important; +} + +.frm_no_bottom_margin, +.frm-mb-0 { + margin-bottom: 0 !important; +} + +.frm-mb-2xs { + margin-bottom: var(--gap-2xs) !important; +} + +.frm-mb-6 { + margin-bottom: 6px !important; +} + +.frm-mb-sm { + margin-bottom: var(--gap-sm) !important; +} + +.frm-mb-12 { + margin-bottom: 12px !important; +} + +.frm-mb-xs { + margin-bottom: var(--gap-xs) !important; +} + +.frm-mb-md { + margin-bottom: var(--gap-md) !important; +} + +.frm-mb-lg { + margin-bottom: var(--gap-lg) !important; +} + +.frm-ml-2xs { + margin-left: var(--gap-2xs) !important; +} + +.frm-ml-xs { + margin-left: var(--gap-xs) !important; +} + +.frm-ml-auto { + margin-left: auto; +} + +.-frm-ml-2xs { + margin-left: calc(-1 * var(--gap-2xs)) !important; +} + +.frm-mr-auto { + margin-right: auto; +} + +.frm-force-mr-auto { + margin-right: auto !important; +} + +.frm-mr-2xs { + margin-right: var(--gap-2xs) !important; +} + +.frm-mr-xs { + margin-right: var(--gap-xs) !important; +} + +.frm-mr-2 { + margin-right: 2px !important; +} + +.frm-mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.frm-mx-xs { + margin-left: var(--gap-xs) !important; + margin-right: var(--gap-xs) !important; +} + +.frm-mx-sm { + margin-left: var(--gap-sm) !important; + margin-right: var(--gap-sm) !important; +} + +.frm-my-sm { + margin-top: var(--gap-sm) !important; + margin-bottom: var(--gap-sm) !important; +} + +.frm-my-xs { + margin-top: var(--gap-xs) !important; + margin-bottom: var(--gap-xs) !important; +} + +/** + * Utilities - Padding + */ +.frm-p-0 { + padding: 0 !important; +} + +.frm-p-1, +.frm-p-2xs { + padding: var(--gap-2xs); +} + +.frm-p-sm, +.frm-p-4 { + padding: var(--gap-sm) !important; +} + +.frm-p-xs { + padding: var(--gap-xs) !important; +} + +.frm-p-sm { + padding: var(--gap-sm) !important; +} + +.frm-p-6, +.frm-p-md { + padding: var(--gap-md) !important; +} + +.frm-p-xl { + padding: var(--gap-xl) !important; +} + +.frm-px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.frm-py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.frm-py-2xs { + padding-top: var(--gap-2xs) !important; + padding-bottom: var(--gap-2xs) !important; +} + +.frm-py-sm { + padding-top: var(--gap-sm) !important; + padding-bottom: var(--gap-sm) !important; +} + +.frm-pt-0 { + padding-top: 0 !important; +} + +.frm-pt-2xs { + padding-top: var(--gap-2xs) !important; +} + +.frm-pt-xs { + padding-top: var(--gap-xs) !important; +} + +.frm-pt-sm { + padding-top: var(--gap-sm) !important; +} + +.frm-pt-md { + padding-top: var(--gap-md) !important; +} + +.frm-pt-xl { + padding-top: var(--gap-xl) !important; +} + +.frm-pr-lg { + padding-right: var(--gap-lg) !important; +} + +.frm-pb-md { + padding-bottom: var(--gap-md) !important; +} + +.frm-pb-sm { + padding-bottom: var(--gap-sm) !important; +} + +.frm-pb-xs { + padding-bottom: var(--gap-xs) !important; +} + +.frm-pb-2xs { + padding-bottom: var(--gap-2xs) !important; +} + +.frm-pb-0 { + padding-bottom: 0 !important; +} + +.frm-px-sm { + padding-right: var(--gap-sm) !important; + padding-left: var(--gap-sm) !important; +} + +.frm-px-xs { + padding-right: var(--gap-xs) !important; + padding-left: var(--gap-xs) !important; +} + +.frm-px-md { + padding-right: var(--gap-md) !important; + padding-left: var(--gap-md) !important; +} + +/** + * Utilities - Font Size + */ +.frm-text-xs { + font-size: var(--text-xs) !important; +} + +.frm-text-sm { + font-size: var(--text-sm) !important; +} + +.frm-text-md { + font-size: var(--text-md) !important; +} + +.frm-text-lg { + font-size: var(--text-lg) !important; +} + +.frm-text-xl { + font-size: var(--text-xl) !important; +} + +.frm-leading-none { + line-height: 1; +} + +.frm-italic { + font-style: italic; +} + +.frm-no-italic { + font-style: normal; +} + +/** + * Utilities - Text Transform + */ +.frm-capitalize { + text-transform: capitalize; +} + +/** + * Utilities - Font Weight + */ +.frm-font-normal { + font-weight: 400 !important; +} + +.frm-font-medium { + font-weight: 500 !important; +} + +.frm-font-semibold { + font-weight: 600 !important; +} + +.frm-font-bold { + font-weight: 700 !important; +} + +/** + * Utilities - Text Overflow + */ +.frm-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +[class*=frm-line-clamp-] { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; +} + +.frm-line-clamp-2 { + -webkit-line-clamp: 2; +} + +.frm-white-space-nowrap { + white-space: nowrap; +} + +/** + * Utilities - Border Radius + */ +.frm-rounded-6 { + border-radius: 6px !important; +} + +.frm-rounded-sm { + border-radius: var(--small-radius) !important; +} + +.frm-rounded-12 { + border-radius: 12px !important; +} + +.frm-rounded-md { + border-radius: var(--medium-radius) !important; +} + +/** + * Utilities - Width + */ +.frm-w-auto { + width: auto !important; +} + +.frm-w-full { + width: 100% !important; +} + +.frm-w-half { + width: 50% !important; +} + +.frm-w-fit { + width: fit-content !important; +} + +.frm-max-w-fit { + max-width: fit-content; +} + +.frm-h-auto { + height: auto !important; +} + +/** + * Utilities - Display + */ +#wpwrap .frm-force-hidden, +.frm-force-hidden { + display: none !important; +} + +.frm_block, +.frm-block { + display: block; +} + +.frm_inline { + display: inline; +} + +.frm-force-inline { + display: inline !important; +} + +.frm_inline_block { + display: inline-block !important; +} + +/** + * Utilities - Flex + */ +.frm-inline-flex, +#wpbody-content .frm-inline-flex { + display: inline-flex; +} + +.frm-flex { + display: flex; +} + +.frm-force-flex { + display: flex !important; +} + +.frm_hidden, +.js .frm-hide-js { + display: none; +} + +.frm-flex-box { + display: flex; + gap: var(--gap-sm); +} + +.frm-flex-col { + display: flex; + flex-direction: column; +} + +.frm-flex-full { + flex: 1; +} + +.frm-force-flex-center, .frm-flex-center { + justify-content: center; + align-items: center; +} + +.frm-flex-center { + display: flex; +} + +.frm-force-flex-center { + display: flex !important; +} + +.frm-shrink-0 { + flex-shrink: 0; +} + +.frm-gap-0 { + gap: 0 !important; +} + +.frm-gap-2xs { + gap: var(--gap-2xs); +} + +.frm-gap-xs { + gap: var(--gap-xs); +} + +.frm-gap-sm { + gap: var(--gap-sm); +} + +.frm-gap-md { + gap: var(--gap-md); +} + +.frm-gap-xl { + gap: var(--gap-xl); +} + +.frm-justify-start { + justify-content: start !important; +} + +.frm-justify-center { + justify-content: center !important; +} + +.frm-justify-between { + justify-content: space-between; +} + +.frm-justify-end { + justify-content: end; +} + +.frm-items-start { + align-items: flex-start; +} + +.frm-items-center { + align-items: center; +} + +.frm-items-stretch { + align-items: stretch; +} + +.frm-self-normal { + align-self: normal; +} + +#wpbody-content .frm-flex-wrap { + flex-wrap: wrap; +} + +.frm-grow { + flex-grow: 1; +} + +.frm-order-first { + order: -9999; +} + +.frm-order-last { + order: 9999; +} + +.frm-order-none { + order: 0; +} + +.frm-h-stack-sm, .frm-h-stack-xs, .frm-h-stack { + display: flex !important; + align-items: center; +} +.frm-h-stack-sm > input[type=checkbox], .frm-h-stack-xs > input[type=checkbox], .frm-h-stack > input[type=checkbox], +.frm-h-stack-sm > input[type=radio], +.frm-h-stack-xs > input[type=radio], +.frm-h-stack > input[type=radio] { + margin: 0 !important; +} + +.frm-h-stack { + gap: var(--gap-2xs); +} + +.frm-h-stack-xs { + gap: var(--gap-xs); +} + +.frm-h-stack-sm { + gap: var(--gap-sm); +} + +.frm-flex-row-reverse { + flex-direction: row-reverse; +} + +/** + * Utilities - Transition + */ +.frm-transition-ease { + transition: all 0.2s ease; +} + +/** + * Utilities - Visibility + */ +.frm_invisible { + visibility: hidden; + transition: all 0.2s ease; +} + +.frm_disabled { + opacity: 0.5; + cursor: default; + pointer-events: none; +} +.frm_disabled .frm-show-inline-modal { + pointer-events: none !important; +} + +/** + * Utilities - Float + */ +.frm_no_float { + float: none; +} + +/** + * Utilities - Text Align + */ +.frm-text-right { + text-align: right; +} + +.frm-text-left { + text-align: left; +} + +/** + * Utilities - Border + */ +.frm-border-b { + border-bottom: 1px solid var(--grey-300); +} + +.frm-no-border { + border: none !important; +} + +.frm-hr { + display: block; + height: 1px; + background-color: var(--grey-200); + margin: var(--gap-xs) 0; +} + +/** + * Utilities - Opacity + */ +.frm-opacity-100 { + opacity: 1; +} + +/** + * Utilities - Z-index Helpers + */ +.frm-on-bottom { + z-index: -1; +} + +/** + * Utilities - Transform + */ +.frm-rotate-90 { + transform: rotate(90deg); +} + +/** + * Utilities - Cursor + */ +.frm-cursor-pointer { + cursor: pointer; +} + +/** + * Utilities - Vertical Align + */ +.frm-align-baseline { + vertical-align: baseline !important; +} + +/** + * Utilities - Generic Classes + */ +.frm-fields p > label.frm_hidden, +#wpbody-content label.frm_hidden, +.frm-lookup-modal .dismiss, +.frm-right-panel .inside a.frm_hidden, +#form_global_settings .frm_hidden, +ul.frm_form_nav > li.frm_hidden, +a.frm_hidden, +.button.frm_hidden, +.wp-core-ui .button.frm_hidden { + display: none; +} + +.postbox .inside > p.frm_no_bottom_margin:last-child { + margin-bottom: 0 !important; +} + +.frm_no_section_fields.frm_block { + display: block; +} + +.actions.frm_visible_overflow { + overflow: visible !important; +} + +.frm_full_opacity, +.frm_submit .frm_full_opacity, +.frm_submit .frm-opacity-100 { + opacity: 1; +} + +.frm-dropdown-menu.frm-on-top { + z-index: 99999; +} + +/** + * Utilities - Helper Classes + */ +.frm-vertical-line { + display: inline-block; + width: 1px; + height: 12px; + background-color: var(--grey-300); +} + +.frm-admin-full-screen #adminmenumain, +.frm-admin-full-screen #wpadminbar, +.frm-admin-full-screen #adminmenuback, +.frm-admin-full-screen #adminmenuwrap, +.frm-admin-full-screen #wpfooter { + display: none; +} + +.frm-admin-full-screen #wpcontent, +.frm-admin-full-screen.auto-fold #wpcontent { + margin: 0; + padding: 0; +} + +.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content { + padding: 0; +} + +/** + * Forms & UI Components + * + * Form elements, inputs, fields, modals and interactive components + */ +/** + * Components - General Form Styles + */ +.frm_forms.with_frm_style { + max-width: 100%; +} + +.post-type-frm_display .wrap > .subsubsub, +.post-type-frm_display .wrap > .icl_subsubsub, +.frm_form_settings > p { + margin: 6px var(--gap-md); + padding: 0; +} + +.frm-entry-container { + margin: 0 40px 40px; + padding: 0; +} + +#form_reports_page .frm-inner-content { + width: calc(100% - 40px); + max-width: 900px; + margin: 20px auto; + padding: 20px; +} + +.frm_inner_field_container > .frm_form_fields { + clear: both; +} + +.post-type-frm_display h2, +.frm_wrap h2 { + margin-top: 0 !important; + font-size: var(--text-lg); + line-height: var(--leading); +} + +.post-type-frm_display .wrap > h2:first-child, +.frm_wrap .wrap > h2:first-child { + padding-top: 0; + margin-top: 0 !important; + font-size: var(--text-lg); +} + +#frm_form_editor_container { + position: relative; + margin-top: 28px; +} + +/** + * Components - Form Field + */ +.form-field p { + /* for conflicts */ + background: none; + border: none; +} + +.form-field label.frm_primary_label { + display: block; + float: none; + width: auto; +} + +#frm_view_editor_left label, +#frm_view_editor_left .frm_primary_label, +.frm-dialog .frm-sub-label, +.frm-dialog label, +.dropdown .frm_primary_label, +.accordion-container label, +.frm-fields td > label, +.frm-fields td > div > label, +.frm_form_field > label:first-child, +.frm-fields p > label, +.frm_on_submit_type > label, +.post-type-frm_display .frm_form_field > label, +#new_fields .frm_primary_label, +#form_global_settings .frm_primary_label, +#frm_form_editor_container .frm_primary_label, +#permissions_settings_settings .frm_primary_label { + color: var(--grey-700); + margin: 0 0 6px; + padding: 0; + width: auto; + font-size: var(--text-sm); + display: block; + line-height: var(--leading); +} + +#frm_form_editor_container #frm-show-fields .frm_primary_label { + min-height: 21px; +} + +.frm-fields td input + label { + display: inline; +} + +#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label, +#frm_form_editor_container .edit_field_type_break .frm_primary_label { + display: none; +} + +form .frm_primary_label input { + font-size: 12px; +} + +.with_frm_style form .form-field { + margin-bottom: 20px; +} + +#frm_builder_page .with_frm_style form .frm_combo_inputs_container > .form-field { + margin-bottom: 0; +} + +.frm_description, +.with_frm_style form div.description, +.frm_error, +.with_frm_style form div.description textarea { + padding: 0; + font-size: 11px; +} + +.with_frm_style .description { + color: inherit; +} + +#frm_form_editor_container .divider_section_only .frm_primary_label { + display: flex; + align-items: center; + gap: var(--gap-xs); + font-size: 20px; +} + +#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label { + padding: 0; +} + +#frm-show-fields ul:has(> li:nth-child(7)) .frm-sub-label.frm-field-id { + display: none; +} + +/** + * Token Input Component + * + * Displays space-separated values as selectable tokens + */ +.frm-token-container { + position: relative; + display: block; + direction: ltr; +} +.frm-token-container .frm-tokens { + position: absolute; + top: 0; + left: 0; + max-width: calc(100% - var(--gap-xl)); + display: flex; + align-items: center; + flex-wrap: wrap; + gap: var(--gap-2xs); + padding: 6px var(--gap-xs); + margin: 0; +} +.frm-token-container .frm-token { + position: relative; + display: flex; + align-items: center; + gap: var(--gap-xs); + min-height: 24px; + height: auto; + color: var(--grey-900); + background: var(--grey-100); + border-radius: 4px; + padding: 0 var(--gap-xs); + font-size: var(--text-md); + margin: 0; + z-index: 2; +} +.frm-token-container .frm-token .frm-token-value { + line-height: var(--leading); + white-space: normal; + word-break: break-word; +} +.frm-token-container .frm-token .frm-token-remove { + display: flex; + flex-shrink: 0; + cursor: pointer; +} +.frm-token-container .frm-token .frm-token-remove .frmsvg { + color: var(--grey-900); + position: static; + width: 12px; + height: 12px; + padding: 0; +} +.frm-token-container .frm-token .frm-token-remove:hover .frmsvg { + color: var(--error-500); +} +.frm-token-container .frm-show-inline-modal { + z-index: 3 !important; +} +.frm-token-container .frm-token-proxy-input { + position: relative; + z-index: 1; + padding-right: var(--gap-xl) !important; +} + +/** + * Components - Field Loading + */ +form .form-field.frm_field_loading { + margin-bottom: 0; + min-height: 0; + padding: 0; + text-align: center; +} + +.frm_sorting > .frm_field_loading .frm_visible_spinner.frm-wait { + margin-bottom: 10px; +} + +.frm_sorting > .frm_field_loading ~ .frm_field_loading .frm_visible_spinner.frm-wait { + margin-bottom: 0; + display: none; +} + +/** + * Components - Form Error + */ +.frm_description, +.with_frm_style form div.description, +.frm_error { + margin: 0; +} + +.frm_error { + color: #F04438; +} + +form .frm_blank_field input, +form .frm_blank_field textarea, +form .frm_blank_field select, +form .frm_blank_field .frm-g-recaptcha iframe, +form .frm_blank_field .g-recaptcha iframe { + border-color: #F04438; +} + +form .frm_blank_field label { + color: #F04438; +} + +.frm_required { + color: #F04438; +} + +/** + * Components - MCE Styles + */ +.with_frm_style .wp-editor-container textarea, +.postbox .wp-editor-container textarea, +.frm_remove_border { + border: none; +} + +.with_frm_style .mceIframeContainer, +.postbox .mceIframeContainer { + background-color: #fff; +} + +/** + * Components - License + */ +.frm_pro_license_msg { + clear: left; + margin-top: 10px; +} + +.frm-license-input { + position: relative; +} + +.frm-license-input span { + font-size: var(--text-sm); +} + +.frm-license-input .frmsvg { + width: 20px; + height: 20px; + margin-left: 5px; + vertical-align: text-top; +} + +.frm-license-input .frmsvg, +.frm-license-input span, +.frm-license-input i { + color: rgb(0, 131, 26); +} + +/** + * Components - Upgrade to Pro + */ +.upgrade_to_pro { + padding: 10px 25px 25px; + max-width: 700px; + margin: 20px auto !important; +} + +.upgrade_to_pro .error { + display: none; +} + +/** + * Components - Message Styles + */ +.toplevel_page_formidable #wpbody-content > .error { + margin: 1px; + padding: 5px 12px; +} + +.frm_error_style, +.frm_warning_style, +.frm_note_style2, +.frm_note_style, +.frm_message, +#post-body-content .frm_updated_message, +div.frm_updated_message { + border-radius: var(--small-radius); + background-color: #D5F2DC; + color: #1E561F; + padding: var(--gap-sm) var(--gap-md); + font-size: var(--text-sm); + margin: var(--gap-sm) 0; + text-align: left; +} + +.frm_note_style2 { + background: linear-gradient(90deg, #e9effa, #fcf6fe) padding-box, linear-gradient(90deg, #1961D5, #E8ABEF) border-box; + border: 1px solid transparent; +} + +#frm_top_bar + .wrap > .frm_updated_message, #frm_top_bar + .wrap > .frm_warning_style { + display: inline-block; + width: 100%; + box-sizing: border-box; +} + +#post-body-content > .frm_updated_message { + margin: 5px 65px; +} + +#form_global_settings #post-body-content > .frm_updated_message, +#form_global_settings #post-body-content > .frm_warning_style { + margin: 5px 25px; +} + +.frm_error_style { + color: #973937; + background-color: #EBCCCC; + clear: both; +} + +.frm_error_style a { + text-decoration: underline; + font-weight: 600; +} + +.frm_error_style svg { + opacity: 0.7; +} + +.frm_warning_style { + color: #7A4D05; + background-color: #FFF2D2; +} + +.frm_warning_heading { + font-weight: 700; + margin-bottom: 4px; +} + +/* Warning message dismiss */ +.frm_warning_style { + position: relative; + padding-right: calc(var(--gap-md) + 15px); +} + +body.rtl .frm_warning_style { + padding-right: var(--gap-md); + padding-left: calc(var(--gap-md) + 15px); +} + +.frm-warning-dismiss { + position: absolute; + top: 10px; + right: 10px; + display: flex; + cursor: pointer; + transition: opacity 0.2s ease-out; +} + +body.rtl .frm-warning-dismiss { + left: 10px; + right: auto; +} + +.frm-warning-dismiss:hover { + opacity: 0.8; +} + +.frm-warning-dismiss.frmsvg, +.frm-warning-dismiss.frmsvg svg { + width: 15px; + height: 15px; +} + +.frm_note_style { + background: rgba(188, 224, 253, 0.23); + color: var(--grey-700); +} + +.frm-banner-alert { + text-align: left; + margin: 0; + border-radius: 0; + padding: 10px 0 10px 40px; +} + +.frm-banner-alert a { + color: var(--primary-500); + font-weight: 400; + text-decoration: none; +} + +.frm_updated_message ul, +.frm_updated_message li, +.frm_warning_style ul, +.frm_warning_style li, +.frm_error_style ul, +.frm_error_style li { + margin: 0; +} + +.frm-inline-message { + border: 1px solid var(--primary-700); + border-radius: var(--small-radius); + color: var(--primary-700); + background: #fff; + text-align: center; + padding: 20px; + font-size: var(--text-sm); + line-height: var(--leading); +} + +.frm-inline-message a { + text-decoration: underline; + font-weight: 600; + color: var(--primary-700); +} + +.frm_pro_heading span { + margin-top: 10px; +} + +.frm_pro_heading .alignright { + text-align: right; +} + +.frm-yes { + color: var(--green); + font-size: var(--text-xl); +} + +.frm-nope { + color: var(--grey-400); + font-size: var(--text-xl); +} + +/** + * Components - Upgrade Bar Elements + */ +.upgrade_to_pro a { + color: var(--orange); +} + +.upgrade_to_pro table .frmsvg { + height: var(--text-xl); + width: var(--text-xl); +} + +.upgrade_to_pro table.widefat { + background-color: #fff; + border-collapse: collapse; +} + +.frm-white-body .upgrade_to_pro table th, +.upgrade_to_pro table td { + padding: 10px 15px; + border: 1px solid var(--grey-300); + line-height: var(--leading); + font-size: var(--text-sm); +} + +.upgrade_to_pro table th.frmcenter { + text-align: center; +} + +/** + * Components - Table Styles + */ +.widefat th.frm_table_break { + background-color: var(--sidebar-color); +} + +/** + * Base - Howto + */ +h2.frm-h2 + .howto { + color: var(--medium-grey); + max-width: 850px; + margin: 5px 0 20px; +} + +/** + * Components - Card + */ +.frm-card { + width: 100%; + border-radius: 10px; + border: 1px solid var(--grey-300); + opacity: 1; + transition: opacity 1s; +} + +.frm-card-box { + max-width: 524px; + background-color: #fff; + border-radius: var(--medium-radius); + padding: var(--gap-xl); + border: 1px solid var(--grey-200); + box-shadow: var(--box-shadow-md); +} + +.frm-card-box.frm-has-progress-bar { + position: relative; + overflow: hidden; + border-radius: var(--medium-radius); +} + +.frm-card-box-progress-bar { + position: absolute; + top: 0; + left: 0; + right: 0; + height: var(--gap-xs); + background-color: var(--primary-25); +} + +.frm-card-box-progress-bar > span { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 33%; + background-color: var(--primary-500); +} + +.frm-card-box-header { + display: flex; + justify-content: center; + margin-bottom: var(--gap-sm); +} + +.frm-card-box.frm-has-progress-bar .frm-card-box-header { + margin-top: var(--gap-xs); +} + +.frm-card-box-content > :last-child { + margin-bottom: 0; +} + +.frm-card-box-footer { + display: flex; + justify-content: end; + gap: var(--gap-sm); + margin-top: var(--gap-lg); +} + +.frm-card-box-title { + font-size: var(--text-xl) !important; + font-weight: 600 !important; + margin-bottom: var(--gap-xs); +} + +.frm-card-box-text { + font-size: var(--text-md) !important; + color: var(--grey-600) !important; + margin-top: 0 !important; +} + +/** + * Utilities - Fade + */ +.frm-fade { + opacity: 0; + transition: all 1s; +} + +/** + * Components - Add-on Tiles + */ +.frm-addons .frm-card.frm-addon-not-installed { + position: relative; +} + +.frm-addons .plugin-card-top { + min-height: 155px; + padding-top: var(--gap-lg); + overflow: hidden; +} + +.frm-addons .plugin-card-top h2 { + margin-top: 0; + font-weight: 400; +} + +.frm-template-row p, +.frm-addons .plugin-card-top p { + opacity: 0.8; +} + +.frm-addons .plugin-card-top > :not(p):not(h2) { + /* Hide notices from third party plugins */ + display: none; +} + +.frm-addons .plugin-card-bottom { + padding: 5px 20px 20px; + text-align: center; + background: transparent; + border-top: none; +} + +.frm-addons .plugin-card-bottom, +.frm-addons .plugin-card-bottom .button { + font-size: 15px; +} + +.frm-addons .button, +.frm-addons .frm-button-tertiary { + float: right; +} + +.frm-addons .addon-status { + float: left; + padding-top: 4px; +} + +.frm-addon-not-installed .frm-activate-addon, +.frm-addon-not-installed .frm-deactivate-addon, +.frm-addon-not-installed .frm-uninstall-addon, +.frm-addon-installed .frm-install-addon, +.frm-addon-installed .frm-deactivate-addon, +.frm-addon-active .frm-activate-addon, +.frm-addon-active .frm-install-addon, +.frm-addon-active .frm-uninstall-addon, +.plugin-card-pro.frm-addon-active .button, +.plugin-card-pro.frm-addon-active .frm-button-tertiary { + display: none !important; +} + +.frm-save-and-reload-options { + margin-top: 10px; + font-size: 13px; +} + +.frm-save-and-reload, +.frm-save-and-reload + .frm-button-secondary { + visibility: visible !important; +} + +.addon-status-label { + opacity: 0.7; +} + +.frm-addon-active .addon-status-label { + color: var(--green); + opacity: 1; +} + +.frm-addon-error { + position: absolute; + top: 55px; + left: 10px; + right: 10px; + font-weight: 700; + text-align: center; +} + +/** + * Components - Form Templates + */ +.frm-new-template.plugin-card-bottom { + overflow: visible; +} + +#frm-new-template p:first-child { + margin-top: 0; +} + +/** + * Layout - Admin Page + */ +.frm-admin-page-formidableedit #wpbody-content > *:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack), +#wpbody-content > .updated, +#wpbody-content > #update-nag, +#wpbody-content > .update-nag, +#wpbody-content > .notice, +#wpbody-content > .error:not(.frm_previous_install), +.frm-white-body .updated, +.frm-white-body .notice, +.frm_wrap > .wrap > .notice, +.frm-white-body .error:not(.frm_previous_install) { + display: none; +} + +.frm-admin-page-formidableedit #frm_builder_page { + display: block !important; +} + +.frm-white-body .updated, +.frm-white-body .error { + margin: 0; + padding: 10px 20px; +} + +/** + * Components - Modal + */ +.frm-modal:not(#frm-dismissable-cta) .postbox { + max-height: 600px; + overflow: hidden; + margin-bottom: 0; +} + +.frm-modal .postbox .frm_modal_top, +.frm-dialog .frm_common_modal .postbox > div:first-child, +.frm-error-modal .frm_modal_top { + padding: var(--gap-md) var(--gap-md) 0; + position: relative; +} + +.frm-modal h2, +.frm-modal .postbox .inside h2, +.frm-modal .postbox .frm-modal-title, +.frm-dialog .frm_common_modal .postbox > div:first-child > div:first-child, +.frm-error-modal .frm-modal-title { + display: inline-block; + font-size: var(--text-lg); + color: var(--grey-900); + font-weight: 600; + margin: 0; + padding: 0; +} + +.frm-modal h3 { + font-weight: 500; +} + +/* Dismiss icon button */ +.frm-inline-modal > a.dismiss, +.frm-modal .postbox > a.dismiss, +.frm-modal .postbox .frm-modal-title + div:last-child, +.frm-dialog .frm_common_modal .postbox > div:first-child > div:last-child { + position: absolute; + top: 19px; + right: 19px; + display: flex; + z-index: 2; +} + +body.rtl .frm-inline-modal > a.dismiss, +body.rtl .frm-modal .postbox > a.dismiss, +body.rtl .frm-modal .postbox .frm-modal-title + div:last-child, +body.rtl .frm-dialog .frm_common_modal .postbox > div:first-child > div:last-child { + right: unset; + left: 30px; +} + +.frm-info-modal .postbox > a.dismiss, +.frm-inline-modal > a.dismiss { + right: 13px; + top: 13px; +} + +.frm-modal .postbox .frm-modal-title + div:last-child a, +.frm-modal a.dismiss .frmsvg, +.frm_common_modal .frm_modal_top a .frmsvg { + color: var(--grey-500); +} + +.frm-modal .postbox .frm-modal-title + div:last-child a:hover, +.frm-modal a.dismiss .frmsvg:hover, +.frm_common_modal .frm_modal_top a .frmsvg:hover { + color: var(--grey-700); +} + +.frm-modal .frm_modal_content > div.inside, +.frm_common_modal .frm_modal_content > div.inside { + padding: var(--gap-md); + margin: 0; + font-size: var(--text-sm); + color: var(--grey-700); +} + +.frm-modal p { + color: var(--grey-900); +} + +.frm_common_modal .postbox { + display: flex; + flex-direction: column; +} + +.frm-modal .postbox > div.inside .cta-inside { + overflow-y: auto; + height: auto; +} + +.frm_modal_footer { + padding: 0 var(--gap-md) var(--gap-sm); + text-align: right; +} + +body.frm-body-with-open-modal { + overflow-y: hidden; +} + +/** + * Components - Template List + */ +/* These template list styles are still used to list the View types in the New View modal. */ +.frm-templates-list { + margin-top: 0; +} + +.frm-templates-list.frm_grid_container li { + margin-bottom: 0; +} + +.frm-templates-list li { + vertical-align: top; + position: relative; + box-sizing: border-box; + border-radius: 6px; + border: 1px solid transparent; + text-align: left; +} + +.frm-templates-list li:not(.frm_hidden) { + display: inline-block; +} + +.frm-templates-list.frm-categories-list li { + width: 100%; +} + +.frm-templates-list li.frm-selectable { + cursor: pointer; +} + +.frm-templates-list li.frm-selectable:hover { + background: var(--light-blue); + border-color: rgba(65, 153, 253, 0.5); +} + +.frm-templates-list li.frm-selectable:hover h3, +.frm-templates-list li.frm-selectable:hover p { + max-width: calc(100% - 65px); +} + +.frm-templates-list .frm-featured-form { + display: flex; + width: 100%; +} + +.frm-templates-list li .frm-featured-form { + padding: 7px 5px; +} + +.frm-templates-list li li > div { + padding-left: 0; +} + +.frm-templates-list li > div > div { + vertical-align: middle; +} + +.frm-category-icon, +.frm-icon-wrapper { + background: var(--primary-500); + border-radius: var(--small-radius); + color: #fff; + width: 32px; + height: 32px; + font-size: 18px; + box-sizing: border-box; + align-self: center; + justify-content: center; + align-items: center; + display: inline-flex; +} + +.frm-templates-list li .frm-category-icon { + overflow: hidden; +} + +.frm-templates-list li h3, +.frm-templates-list li p { + text-align: left; + margin: 0; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.frm-templates-list li h3, +.frm-templates-list .frm-install-template h3 { + font-size: var(--text-sm) !important; +} + +.frm-templates-list .frm-install-template div { + text-align: left; +} + +#frm_leave_email, +#frm_code_from_email { + width: 480px; + max-width: 100%; +} + +.frm-templates-list.frm-categories-list li > div > div:last-child { + padding-left: 0; +} + +.frm-hover-icons { + position: absolute; + right: 0; + top: 17px; /* Template item height - borders - icon height */ + max-width: 91px; + height: 100%; + box-sizing: border-box; + padding: 0 10px 0 5px !important; + border-radius: var(--small-radius); + text-align: right; + display: flex; + gap: 5px; +} + +.frm-ready-made-solution .frm-hover-icons { + visibility: hidden; +} + +.frm-ready-made-solution:hover .frm-hover-icons { + visibility: visible; +} + +.frm-hover-icons a { + width: 22px; + height: 22px; + font-size: var(--text-md); + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 50%; + box-sizing: border-box; + line-height: var(--leading); + text-align: center; +} + +.frm-hover-icons > .frm-preview-form, +.frm-hover-icons > .frm-delete-form { + border: 1px solid var(--primary-500); +} + +.frm-hover-icons > .frm-create-form, +.frm-ready-made-solution .frm-hover-icons a { + background-color: var(--primary-500); +} + +.frm-hover-icons > a .frmsvg { + width: 14px; + height: 14px; + vertical-align: baseline; +} + +.frm-hover-icons > .frm-preview-form .frmsvg, +.frm-hover-icons > .frm-delete-form .frmsvg { + color: var(--primary-500); +} + +.frm-hover-icons > .frm-unlock-form { + background-color: var(--primary-500); +} + +.frm-hover-icons > .frm-unlock-form .frmsvg { + background-color: var(--primary-500); +} + +.frm-ready-made-solution .frmsvg { + width: 14px; + height: 14px; +} + +.frm-hover-icons .frm-create-form svg, +.frm-ready-made-solution .frm-hover-icons svg { + color: #fff; +} + +.frm-hover-icons .frm-create-form:hover, +.frm-ready-made-solution .frm-hover-icons a:hover, +.frm-hover-icons > .frm-unlock-form:hover, +.frm-hover-icons > .frm-unlock-form:hover .frmsvg { + background-color: var(--primary-700) !important; +} + +.frm-hover-icons .frm-preview-form:hover, +.frm-hover-icons .frm-delete-form:hover { + border: 1px solid var(--primary-700) !important; +} + +.frm-hover-icons .frm-preview-form:hover .frmsvg, +.frm-hover-icons .frm-delete-form:hover .frmsvg { + color: var(--primary-700) !important; +} + +.frm-application-card h4 .frmsvg, +.frm-locked-template h3 .frmsvg { + height: var(--text-sm); + width: var(--text-sm); + vertical-align: text-top; + color: var(--grey-500); +} + +/** + * Components - Modal Actions + */ +.frm-modal-back { + cursor: pointer; + margin-right: 4px; +} + +.frm-modal-cancel { + float: left; +} + +/** + * Components - Meta Tag + */ +.frm-meta-tag, +.frm-meta-tag:hover { + padding: var(--gap-2xs) var(--gap-xs); + border-radius: var(--small-radius); + font-weight: 600; + display: inline-flex; + background-color: #D9EBFF; + gap: 2px; +} + +.frm-meta-tag.frm-grey-tag, +.frm-meta-tag.frm-grey-tag:hover { + background-color: var(--sidebar-hover); + color: var(--grey-900); +} + +.frm-meta-tag.frm-red-tag, +.frm-meta-tag.frm-red-tag:hover { + background: var(--error-100); + color: var(--error-700); +} + +.frm-meta-tag.frm-orange-tag, +.frm-meta-tag.frm-orange-tag:hover { + background-color: #FEF7F4; + color: var(--orange); +} + +.frm-meta-tag.frm-green-tag, +.frm-meta-tag.frm-green-tag:hover { + background-color: var(--success-500); + color: #fff; +} + +.frm-entry-status-0, +.frm-meta-tag.frm-lt-green-tag, +.frm-meta-tag.frm-lt-green-tag:hover { + background-color: var(--success-100); + color: var(--success-800); +} + +.frm-meta-tag.frm-new-pill { + background-color: var(--success-500); + vertical-align: text-bottom; +} + +.frm_add_field span + .frm-meta-tag { + margin-left: 0; +} + +.dropdown-item .frm-meta-tag { + margin-left: 0; +} + +/** + * Components - Upgrade List + */ +/* Start entry statuses */ +.frm-entry-status { + font-weight: 500; +} + +.frm-entry-status-1 { + color: #7A4D05; + background: #FFF2D2; +} + +/* End entry statuses */ +#frm-create-footer { + padding: 15px 20px; +} + +li .frm-hover-icons .frm-preview-form, +.frm-hover-icons .frm-unlock-form, +.frm-locked-template .frm-hover-icons .frm-create-form, +.frm-modal-back { + display: none; +} + +.frm-locked-template .frm-hover-icons .frm-unlock-form, +li[data-preview] .frm-hover-icons .frm-preview-form { + display: inline-flex; +} + +.frm-modal-back svg { + color: #7F7F7F; +} + +#frm-upgrade-body-list-wrapper > div { + display: inline-block; + width: 33.3333333333%; + vertical-align: top; + text-align: left; + margin-bottom: 10px; +} + +#frm-upgrade-body-list-wrapper ul { + padding-left: 40px; +} + +#frm-upgrade-body-list-wrapper ul li::before { + content: "\2022"; + color: var(--primary-500); + display: inline-block; + width: 1em; + margin-left: -1em; +} + +/** + * Components - Embed Modal + */ +.frm-embed-modal-content { + padding: var(--gap-md); +} + +.frm-embed-modal-content.frm-loading-page-options { + display: flex; + justify-content: center; +} + +#frm_embed_modal .frm_embed_example { + background: var(--sidebar-color); + border: 1px solid var(--sidebar-hover); + border-radius: var(--small-radius); + color: var(--grey-900); + font-size: var(--text-sm); + padding-right: var(--gap-lg); + width: 100%; + height: auto !important; + resize: none; +} + +#frm_embed_modal textarea.frm_embed_example { + padding-bottom: 0; +} + +.frm-embed-modal-content > div a { + position: absolute; + right: 0; + top: 0; +} + +.frm-embed-modal-content > div { + position: relative; + margin-bottom: var(--gap-sm); +} + +.frm-embed-modal-content > div:last-child { + margin-bottom: 0; +} + +.frm-embed-modal-content svg[id^=frm_copy_embed_] { + position: absolute; + bottom: 10px; /* Input height - SVG height */ + right: 10px; + cursor: pointer; + opacity: 0.5; +} + +.frm-border-info-box, +.frm-embed-modal-option { + border-radius: var(--small-radius); + border: 1px solid var(--grey-300); + padding: var(--gap-sm); + cursor: pointer; + display: flex; + gap: var(--gap-sm); + font-size: var(--text-sm); +} + +.frm-embed-modal-option + .frm-embed-modal-option { + margin-top: var(--gap-sm); +} + +.caret.rotate-270, +.frm-embed-modal-option .caret { + align-self: center; + margin-left: auto; + transform: rotate(-90deg); +} + +#frm_embed_modal .frm_modal_footer { + display: none; +} + +#frm_embed_modal.frm-on-page-2 .frm_modal_footer { + display: block; +} + +.frm-embed-modal-content ul { + max-height: 300px; + overflow-y: scroll; +} + +.frm-embed-modal-wrapper.frm-dialog { + overflow: visible; +} + +/** + * Components - Bulk Options + */ +#frm-bulk-modal .frm_grid_container { + grid-template-columns: repeat(12, 8.33%); + grid-gap: 0; +} + +#frm-bulk-modal .frm8 { + border-right: 1px solid var(--grey-300); + padding: 10px 20px 10px var(--gap-lg); +} + +#frm-bulk-modal .frm4 { + padding: 10px 0; +} + +.frm-inline-modal .howto { + margin: 5px 0 10px; + color: var(--grey); +} + +.frm-inline-modal .frm_code_list + .howto { + margin-bottom: 0; +} + +#frm_bulk_options { + height: 240px; + width: 100%; + border: none; + box-shadow: none; + padding: 0; +} + +.frm-bulk-edit-link { + display: flex; + align-items: center; + justify-content: flex-end; + gap: var(--gap-2xs); + font-size: var(--text-sm); + margin: 12px 0 12px auto; +} +.frm-bulk-edit-link .frm-bulk-edit-link { + margin: 0; +} + +/** + * Components - Small Add + */ +.frm-small-add { + font-size: var(--text-sm) !important; +} + +.frm-small-add span { + color: var(--primary-500); + font-size: 12px; + height: 12px; + width: 12px; +} + +/** + * Components - Image From URL + */ +.frm_no_captcha_text { + font-weight: 700; + color: #A00; +} + +.frm_image_from_url { + height: 50px; +} + +/** + * Components - Dropdown + */ +/*Switch form dropdown*/ +h1 .fa-caret-down { + font-size: 18px; +} + +.caret { + display: inline-block; + width: 19px; + height: 9px; + margin-right: -8px; + vertical-align: middle; +} + +.caret, +.wp-admin .frm_wrap select, +.frm_wrap .frm_form_builder select, +.frm_wrap .ui-autocomplete-input { + background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%; + padding-right: var(--gap-lg) !important; +} + +.caret { + padding-right: var(--gap-xs) !important; + background-position-x: 5px; +} + +.frm-btn-group .caret { + float: right; + margin-top: calc(var(--text-md) / 2); +} + +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.frm_wrap .ui-autocomplete, +#frm_adv_info.frm-dropdown-menu, +.frm-dropdown-menu { + /* Copied from .dropdown-menu rules from Bootstrap */ + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + min-width: 10rem; + padding-left: 4px; + padding-right: 4px; + margin: var(--gap-xs) 0 0; + text-align: left; + list-style: none; + background: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid var(--grey-100); + border-radius: 0.25rem; + box-shadow: var(--box-shadow-lg); + /* Custom rules */ + max-height: 200px; + overflow-y: auto; + overflow-x: hidden; + font-size: var(--text-md); + width: auto; + min-width: 160px; +} + +.frm6 .frm-dropdown-menu { + min-width: 100px; + max-width: 99%; +} + +#frm_bs_dropdown .frm-dropdown-menu { + max-width: 400px; +} + +.field_type_list .frm-dropdown-menu { + min-width: 150px !important; +} + +#frm_field_group_controls .frm-dropdown-menu, +.frm-field-action-icons .frm-dropdown-menu { + min-width: 180px !important; +} + +.frm-field-action-icons .frm-dropdown-toggle svg, +#frm_field_group_controls .frm-dropdown-toggle svg { + color: #9EA9B8; +} + +.multiselect-container.frm-dropdown-menu, +#search-submit .frm-dropdown-menu { + min-width: 200px !important; +} + +.preview .frm-dropdown-menu { + min-width: 230px !important; +} + +.frm-dropdown-menu.dropdown-menu-right { + right: 0; + left: auto; +} + +.frm-dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.frm-dropdown-menu > .dropdown-item { + margin: 0; +} + +.frm-select-list-item, +.frm_wrap .ui-autocomplete li > div, +.multiselect-container button.multiselect-option, +.frm-dropdown-menu > .dropdown-item > a, +.frm-dropdown-menu .frm_dropdown_li { + clear: both; + font-weight: 400; + white-space: nowrap; + text-decoration: none; + border-radius: var(--small-radius); +} + +.frm-dropdown-menu > .active > a, +.frm-dropdown-menu > .active > a:hover, +.frm-dropdown-menu > .active > a:focus { + text-decoration: none; + outline: 0; +} + +.frm-select-list-item.disabled, +.frm-dropdown-menu > .disabled > a, .frm-dropdown-menu > .disabled > a:hover, .frm-dropdown-menu > .disabled > a:focus { + color: #999; +} + +.frm-select-list-item.disabled:hover, +.frm-dropdown-menu > .disabled > a:hover, +.frm-dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; +} + +.open > .frm-dropdown-menu { + display: block; +} + +.open > a { + outline: 0; +} + +.dropdown-header { + display: block; + padding: 3px 10px; + font-size: var(--text-xs); + color: var(--grey-400); +} + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} + +.dropdown-menu-right > .frm-dropdown-menu, +.pull-right > .frm-dropdown-menu { + right: 0; + left: auto; +} + +.navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000; + content: ""; +} + +.navbar-fixed-bottom .dropdown .frm-dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.btn { + border: 1px solid #ddd; + background: #fff; + height: 28px; + line-height: var(--leading); +} + +a.frm_option_icon::before { + color: var(--primary-500); + font-size: 22px; + width: 22px; + height: 22px; +} + +a.frm_option_icon:focus::before, +a.frm_option_icon:hover::before { + color: var(--primary-700); +} + +.frm_top_left .frm-dropdown-toggle { + color: #999; +} + +.frm-card ol { + margin-left: 15px; +} + +.frm-dropdown-toggle { + text-decoration: none; +} + +.frm-card .frm-dropdown-toggle { + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); + font-size: 13px; + color: var(--grey-700); + padding: 7px 20px; +} + +.frm_actions_dropdown .frm-dropdown-menu { + font-size: var(--text-sm); + color: #5F6C72; +} + +.frm-dropdown-menu .frm_icon_font { + vertical-align: middle; + color: #5F6C72; + margin-right: 3px; +} + +/* BS Multiselect */ +.multiselect-container.frm-dropdown-menu { + top: auto; + left: auto; + font-size: var(--text-sm); + padding: 4px; + margin-bottom: 3px; +} + +/** + * Accordion + */ +#post-body-content + .frm-right-panel h3.accordion-section-title { + padding: 7px 10px 8px 14px; + font-size: var(--text-md); + color: var(--grey-700); +} + +.frm-with-line, +.accordion-section-content h4 { + font-size: var(--text-md); + font-weight: 400; + margin: 20px -20px 10px; + padding: 0 20px; + color: var(--grey-700); + position: relative; + border: none !important; +} + +.frm-with-line span, +.accordion-section-content h4 span { + background: #fff; + padding: 0 var(--gap-xs); + position: relative; + display: inline-block; + z-index: 2; +} + +.accordion-section-content h4 span { + background: var(--sidebar-color); +} + +.frm-right-panel .frm-with-line span { + background: var(--sidebar-color) !important; + margin-left: -4px; +} + +.frm-right-panel .frm-inline-modal .frm-with-line span { + background: #fff !important; +} + +.frm-with-line::before, +.accordion-section-content h4::before { + content: ""; + display: block; + position: absolute; + border-bottom: 1px solid var(--grey-300); + left: 0; + width: 100%; + top: 50%; +} + +.control-section .accordion-section-title::after, +.customize-pane-child .accordion-section-title::after { + top: 15px; +} + +.accordion-container .frm-dropdown-menu { + min-width: 40px; +} + +.frm-btn-group .multiselect.dropdown-toggle { + box-sizing: border-box; + min-height: unset; + cursor: pointer; +} + +.accordion-container .frm-dropdown-menu::before, +.accordion-container .multiselect.dropdown-toggle::before { + font-family: "s11-fp" !important; +} + +/** + * Components - Multiselect + */ +.multiselect-container { + position: absolute; + list-style-type: none; + margin: 0; + padding: 0; + width: 100%; + max-width: 250px; +} + +.multiselect-container button.multiselect-option { + width: 100%; + text-align: left; + border: none; + margin-bottom: 4px; +} + +.multiselect-container button.multiselect-option label { + margin-left: 5px; +} + +.accordion-container .multiselect-container label { + padding: 3px 19px 3px 7px; +} + +.frm-btn-group.btn-group > .btn-group:nth-child(2) > .multiselect.btn { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.frm-btn-group.btn-group, .frm-btn-group.btn-group-vertical { + display: block; +} + +.multiselect-option label { + max-width: calc(100% - 22px); + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +/** + * Components - Fields + */ +.frm_scale { + text-align: center; + float: left; + margin-right: 10px; +} + +.frm_scale input { + display: block; + margin: 5px; +} + +.frm_multi_fields_container { + float: left; +} + +.frm_multi_fields_container, +.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range], +.frm_form_builder .frm_form_fields input[type=text] { + width: 100%; + height: auto; +} + +.frm_form_builder .frm_time_wrap .frm_time_sep { + vertical-align: sub; + vertical-align: -webkit-baseline-middle; +} + +.frm_form_builder input[type=range]::-webkit-slider-runnable-track { + background-color: var(--blue-border); +} + +.frm_form_builder input[type=range]::-moz-range-track { + background-color: var(--blue-border); +} + +.frm_form_builder input[type=range]::-ms-fill-lower { + background-color: var(--blue-border); +} + +.frm_form_builder input[type=range]::-ms-fill-upper { + background-color: var(--blue-border); +} + +.frm-embed-field-placeholder { + text-align: center; + height: 145px; + display: flex; + align-items: center; + justify-content: center; +} + +.frm-fake-field { + display: block; + height: 25px; + background-color: var(--light-blue); + border: 1px solid var(--grey-300); + margin: 10px 0; + border-radius: var(--small-radius); +} + +.frm-embed-message { + position: absolute; + background: #fff; + border: 1px solid var(--grey-300); + color: var(--grey-700); + padding: var(--gap-md); + font-size: var(--text-lg); + max-width: 200px; + min-width: 50%; + margin: 0 var(--gap-md); + overflow: hidden; + text-overflow: ellipsis; +} + +.frm-summary-message { + top: 50%; + left: 50%; + padding: 15px 0; + font-size: var(--text-md); + transform: translate(-50%, -50%); +} + +.frm-summary-learn-more { + font-size: inherit !important; +} + +.frm-single-settings .frm-embed-message { + width: 100%; + position: static; + border-radius: var(--small-radius); +} + +#new_fields input[type=text], +#new_fields input[type=number], +.frm_field_box .frm_form_fields > textarea, +.frm_form_fields .frm_form_field > textarea, +.frm_form_fields .frm_form_field > input[type=email], +.frm_form_fields .frm_form_field > input[type=url], +.frm_form_fields .frm_form_field > input[type=number], +.frm_form_fields .frm_form_field > input[type=tel], +.frm_form_fields .frm_form_field > input[type=text], +.frm_form_fields .frm_form_field > input[type=range] { + width: 100%; +} + +.frm_form_fields textarea.wp-editor-area { + width: 100%; + border: none; +} + +.frm_form_fields input[type=file], .frm_form_fields input[type=file]:disabled { + background: transparent; + border: none; + box-shadow: none; + width: auto; +} + +.frm_form_fields select { + width: auto; + max-width: 100%; +} + +input[type=radio], +input[type=checkbox] { + width: 16px; + padding: 0; +} + +.frm_grid_container > p, +.frm_grid_container > p.frm_form_field, +.frm_grid_container > div.frm_form_field, +#new_fields .frm_grid_container > p { + margin-top: 8px; + margin-bottom: 8px; + margin-right: 0; +} +.frm_grid_container > p > label:only-child, +.frm_grid_container > p.frm_form_field > label:only-child, +.frm_grid_container > div.frm_form_field > label:only-child, +#new_fields .frm_grid_container > p > label:only-child { + margin-bottom: 0; +} + +.frm_grid_container > .frm-has-modal > p:only-child { + margin-bottom: var(--gap-xs); +} + +#new_fields div.frm_grid_container > .frm_primary_label { + margin-top: 8px; +} + +#new_fields .frm_primary_label + p, +#new_fields .frm_primary_label + .frm6 + .frm6, +#new_fields .frm_primary_label + .frm6 + .frm-inline-modal + .frm6 { + margin-top: 0; +} + +.frm_catlevel_2, .frm_catlevel_3, .frm_catlevel_4, .frm_catlevel_5 { + margin-left: 18px; +} + +.frm_wrap .frm-fields .auto_width, +.frm_form_fields input.auto_width, .frm_form_fields select.auto_width, .frm_form_fields textarea.auto_width { + width: auto !important; +} + +.frm_form_fields select.auto_width { + min-width: 60px; +} + +.frm_form_fields input:focus, .frm_form_fields select:focus, +.frm_form_fields textarea:focus, .frm_focus_field input { + background-color: #fff; + border-color: #ddd; +} + +.frm_form_builder .frm_radio, +.frm_form_builder .frm_checkbox { + display: block; + margin-bottom: 2px; +} + +.frm_form_builder .frm_radio label, +.frm_form_builder .frm_checkbox label { + font-size: var(--text-sm); +} + +/** + * Components - Copied Frontend + */ +.horizontal_radio .frm_radio, +.horizontal_radio .frm_checkbox { + margin-right: 5px; + display: inline-block; +} + +.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label, +.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label { + display: flex; + align-items: center; + gap: 9px; + white-space: normal; +} + +.frm_form_field.frm_two_col .frm_opt_container, +.frm_form_field.frm_three_col .frm_opt_container, +.frm_form_field.frm_four_col .frm_opt_container { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-auto-rows: max-content; + grid-gap: 0 2.5%; +} + +.frm_form_field.frm_three_col .frm_opt_container { + grid-template-columns: repeat(3, 1fr); +} + +.frm_form_field.frm_four_col .frm_opt_container { + grid-template-columns: repeat(4, 1fr); +} + +.frm_form_field.frm_two_col .frm_radio, +.frm_form_field.frm_two_col .frm_checkbox, +.frm_form_field.frm_three_col .frm_radio, +.frm_form_field.frm_three_col .frm_checkbox, +.frm_form_field.frm_four_col .frm_radio, +.frm_form_field.frm_four_col .frm_checkbox { + grid-column-end: span 1; +} + +/** + * Components - Fields Part 2 + */ +.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox], +.frm_wrap .with_frm_style .frm_radio input[type=radio], +.frm_wrap input[type=checkbox], +.frm-white-body input[type=checkbox], +.field-group input[type=checkbox], +.frm_scale input[type=radio], +.frm_radio input[type=radio], +.frm_checkbox input[type=checkbox] { + width: 15px; + min-width: 15px; + height: 15px; + border: 1px solid var(--grey-300); + box-shadow: var(--box-shadow-sm); + -webkit-appearance: none; +} + +.frm_wrap input[type=radio] { + border-color: var(--grey-300); + box-shadow: var(--box-shadow-sm); +} +.frm_wrap input[type=radio]:checked::before { + background-color: var(--primary-500); +} + +.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox], +.frm_wrap input[type=checkbox], +.frm-white-body input[type=checkbox], +.field-group input[type=checkbox], +.frm_checkbox input[type=checkbox] { + border-radius: 4px; +} + +.frm-white-body input[type=checkbox]:checked, +.frm_wrap input[type=checkbox]:checked { + background-color: var(--border-color-active, var(--primary-500)) !important; + border-color: var(--border-color-active, var(--primary-500)) !important; +} + +.frm-white-body input[type=checkbox]:checked:focus, +.frm_wrap input[type=checkbox]:checked:focus { + border-color: var(--border-color-active, var(--primary-500)); +} + +.frm-white-body input[type=checkbox]:checked::before, +.frm_wrap input[type=checkbox]:checked::before { + content: ""; + display: block; + width: 100% !important; + height: 100% !important; + background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important; + background-size: 8px !important; + background-repeat: no-repeat !important; + background-position: center !important; + margin: 0; +} + +.frm_radio input[type=radio], +.frm_checkbox input[type=checkbox] { + margin-right: 5px; +} + +.frm_inner_field_container { + margin-bottom: 10px; +} + +.frm_conf_inline .frm_inner_field_container, +.frm_conf_inline .frm_inner_conf_container { + width: 49%; + float: left; +} + +.frm_conf_inline .frm_inner_field_container { + margin-right: 2%; + clear: both; +} + +.frm_inner_field_container > label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +.frm_field_box:not(.edit_field_type_divider):hover > .frm_inner_field_container > label, +.frm_field_box .divider_section_only:hover > .frm_inner_field_container > label, +li.ui-state-default.selected > .frm_inner_field_container > label { + max-width: calc(100% - 100px); +} + +.frm-drag-fade { + background-color: var(--lightest-grey) !important; + border-radius: 4px; +} + +.frm-drag-fade * { + opacity: 0; +} + +.frm-dragging .divider_section_only, +.frm-dragging .frm_field_box { + pointer-events: none; +} + +.frm_form_settings #op-popup, +.frm_form_settings com-1password-op-button, +.frm_conf_below .frm_conf_field_container .frm_primary_label, +.frm_conf_inline .frm_inner_field_container .frm-show-click a, +.frm_conf_below .frm_conf_field_container .frm-show-click a { + display: none !important; +} + +.frm_conf_inline .frm_inner_field_container .frm-field-action-icons { + position: absolute; + right: 5px; +} + +.frm_conf_below .frm_conf_field_container { + margin-top: 10px; +} + +.frm_calc_dec { + width: 50px; +} + +.frm_ext_sc { + display: none; +} + +.frm_long_input { + width: 100% !important; + box-sizing: border-box; +} + +/** + * Utilities - Text Align - Part 2 + */ +.frmcenter { + text-align: center; +} + +/** + * Components - Image Help + */ +img.frm_help { + margin-left: 2px; + vertical-align: middle; + padding-bottom: 2px; +} + +/** + * Components - Loading + */ +.frm_spinner.frm-wait, +.frm_spinner.spinner { + float: left; + visibility: hidden; + margin: 0 10px; +} + +.frm_visible_spinner.frm-wait, +.frm_visible_spinner.spinner { + visibility: visible; + float: none; +} + +.frm_form_action_settings .frm_spinner.frm-wait, +.frm_form_action_settings .frm_spinner.spinner { + visibility: visible; + float: none; + vertical-align: bottom; +} + +.frm_form_action_settings .frm_loading { + font-size: 15px; + text-align: center; +} + +.frm_ajax_settings_tab .frm-wait, +.frm_ajax_settings_tab .spinner { + visibility: visible; + float: none; + margin-top: 20px; +} + +.wp-core-ui .frm_loading_button.button-primary.frm-button-primary, +.frm_loading_button, +.frm_loading_form.frm_button_submit { + position: relative !important; + opacity: 0.8; + color: transparent !important; + text-shadow: none !important; +} + +.frm_loading_button:hover, +.frm_loading_button:active, +.frm_loading_button:focus, +.frm_loading_form.frm_button_submit:hover, +.frm_loading_form.frm_button_submit:active, +.frm_loading_form.frm_button_submit:focus { + cursor: not-allowed; + color: transparent !important; + outline: none !important; + box-shadow: none; +} + +.frm-wait { + margin: 20px; + width: 20px; + height: 20px; + position: relative; + display: inline-block; +} + +#frm-show-fields .frm-wait:only-child { + position: absolute; + left: 50px; + top: 30px; +} + +.frm-wait::before, +.frm_loading_button::before, +.frm_loading_form.frm_button_submit::before { + content: ""; + display: inline-block; + position: absolute; + background: transparent; + border: 1px solid #fff; + border-top-color: transparent; + border-left-color: transparent; + border-radius: 50%; + box-sizing: border-box; + top: 50%; + left: 50%; + margin-top: -10px; + margin-left: -10px; + width: 20px; + height: 20px; + animation: spin 2s linear infinite; +} + +.frm-wait::before { + border-bottom-color: var(--primary-700); + border-right-color: var(--primary-700); +} + +.frm_loading_button.frm-button-secondary::before { + border-bottom-color: var(--primary-500); + border-right-color: var(--primary-500); +} + +input[type=submit]:focus { + outline: none !important; +} + +/* Effects */ +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +/** + * Components - Fields Part 3 + */ +label input[type=checkbox], label input[type=radio] { + vertical-align: inherit; +} + +#editorcontainer #dyncontent { + margin: 0; + width: 100%; + padding: 6px; + line-height: var(--leading); + border: 0 none; + outline: none; + box-sizing: border-box; +} + +/*ICONS*/ +.frm_postbox_icon { + margin: -6px 0 0 -10px; +} + +.frm_form_builder a:hover { + text-decoration: underline; +} + +.frm_form_builder .widget-title h4 { + padding: 10px 15px; +} + +.frm_form_builder .widget-top a.widget-action::after { + margin: 7px 12px 0; +} + +.frmbutton.frm_tgateway { + display: none !important; +} + +.frm_html_legend pre { + display: inline; +} + +#ed_fullscreen { + display: none !important; +} + +.frm_posttax_opt_list { + overflow: auto; + max-height: 200px; + background-color: #fff; +} + +.frm_posttax_opt_list p.howto { + font-size: 12px; +} + +.frm_border_bottom { + border-bottom: 1px solid var(--grey-300); + margin-bottom: 10px; + padding-bottom: 10px; +} + +.frm_posttax_opt_list .frm_border_bottom span.howto { + padding-right: 10px; +} + +.frm_posttax_opt_list .frm_border_bottom input { + margin-right: 1px; +} + +.frm_add_remove div.frm_form_field { + padding-bottom: 5px; +} + +.frm_field_opts_list { + max-height: 260px; + overflow: auto; +} + +/** + * Utilities - Background + */ +.frm_white_bg, +.frm-bg-white { + background-color: #fff; +} + +.frm-bg-grey-50 { + background-color: var(--grey-50); +} + +.frm-bg-grey-200 { + background-color: var(--grey-200); +} + +.frm-bg-grey-800 { + background-color: var(--grey-800); +} + +.frm-bg-primary-500 { + background-color: var(--primary-500); +} + +/** + * Utilities - Border - Light + */ +.frm_border_light { + border: solid 1px #ddd; +} + +/** + * Components - Form Input Styles + */ +#new_fields .form-table input[type=text], +#new_fields .form-table select, +.form-table .form-field input, +.form-table .form-field .quicktags-toolbar input, +.form-field input, .form-field .quicktags-toolbar input { + width: auto; +} + +/** + * Components - Affiliate Link + */ +.frm_aff_link { + float: right; +} + +/** + * Component: Select Box + */ +.frm_select_box { + text-align: center; + font-weight: 700; + width: 100%; + background-color: transparent !important; +} + +.wp-list-table input.frm_select_box { + text-align: left; + font-weight: 400; + font-size: inherit !important; + border: none; + padding: 0 !important; + background-color: transparent !important; +} + +.wp-list-table input.frm_select_box:focus { + outline: none; + box-shadow: none; +} + +.wp-list-table .frm_no_items.frm_select_box { + text-align: center; + font-weight: 700; + width: 500px; + max-width: 100%; + font-size: inherit; +} + +/** + * Component: Options Panel + */ +#frm-options-panel { + padding: 0 var(--gap-sm); + color: var(--grey-900); + overflow: hidden; +} + +.frm-right-panel a.frm_add_logic_link, +#frm-options-panel h3 { + font-size: var(--text-md); + font-weight: 500; + background-color: #fff; + border-radius: var(--small-radius); + padding: 18px var(--gap-sm); + margin: 2px calc(-1 * var(--gap-sm)); + transition: background-color 200ms ease-out, box-shadow 200ms ease-out, color 200ms ease-out; +} +.frm-right-panel a.frm_add_logic_link .frmsvg, +#frm-options-panel h3 .frmsvg { + width: 13px; + height: 13px; + color: var(--grey-500); + transition: transform 300ms ease-in; +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type), .frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child, +#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type), +#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child { + color: var(--grey-700); + box-shadow: var(--box-shadow-sm); +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg, .frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg, +#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg, +#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg { + transform: rotate(-180deg); +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div, +#frm-options-panel h3:not(.frm-collapsed) + div { + padding-top: 6px; + padding-bottom: 6px; +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div.frm_grid_container, +#frm-options-panel h3:not(.frm-collapsed) + div.frm_grid_container { + padding-bottom: 14px; +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div.frm_grid_container > p:first-child, +#frm-options-panel h3:not(.frm-collapsed) + div.frm_grid_container > p:first-child { + margin-top: var(--gap-sm); +} +.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed) + div.frm_grid_container > p:first-child.frm6 + .frm6, +#frm-options-panel h3:not(.frm-collapsed) + div.frm_grid_container > p:first-child.frm6 + .frm6 { + margin-top: var(--gap-sm); +} +.frm-right-panel a.frm_add_logic_link.frm-collapsed, +#frm-options-panel h3.frm-collapsed { + color: var(--grey-500); + background-color: transparent; +} +.frm-right-panel a.frm_add_logic_link:hover, +#frm-options-panel h3:hover { + color: var(--grey-700); + background-color: #fff; + box-shadow: var(--box-shadow-sm); +} +.frm-right-panel a.frm_add_logic_link:focus-visible, +#frm-options-panel h3:focus-visible { + outline: 1px solid var(--primary-500) !important; + outline-offset: -1px; +} + +.frm-right-panel a.frm_add_logic_link:focus { + outline: auto; +} + +/** + * Component: Field Key + */ +.frm_field_key { + background-color: #F7F7F7; +} + +/** + * Component: Form Editor + */ +#frm_form_editor_container #edit-slug-box { + padding: 0; +} + +/** + * Component: Alt Table + */ +.frm-alt-table { + position: relative; + width: 100%; + border-collapse: collapse; + margin-top: 0.5em; + font-size: 15px; +} + +/* Before `applyZebraStriping` is executed, an empty space is displayed */ +#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: #fff; +} + +.frm-alt-table th { + width: 200px; +} + +.frm-alt-table tr, +.frm-alt-table tr.frm-odd { + background-color: transparent; +} + +.frm-alt-table tr.frm-even { + background-color: var(--sidebar-color); +} + +.frm-alt-table th, +.frm-alt-table td { + background-color: transparent; + vertical-align: top; + text-align: left; + padding: 20px; +} + +.frm-alt-table h3 { + margin-bottom: 0; +} + +/** + * Component: Checkbox Button + */ +.form-field .frm_cb_button { + height: 22px; + line-height: 20px; + margin-bottom: 10px; + margin-right: 5px; +} + +/** + * Option Label + */ +.edit_field_type_select .frm_option_val_label { + margin-left: 12px; +} + +/** + * Components - Rich Text Editor + */ +.frm_rte { + background: url(../images/rte.png) no-repeat; +} + +.frm_rte .howto { + margin: 10px 0 46px; +} + +/** + * Component: Subform Section + */ +.subform_section { + margin: 25px; +} + +.subform_section, +.subform_section label, +.subform_section input { + opacity: 80; +} + +.subform_section .frm_sortable_field_opts { + display: none; +} + +#frm_form_editor_container .subform_section .frm_primary_label { + display: block; +} + +.subform_section.subform_break { + border-top: 1px dashed #ccc; +} + +/** + * Component: HTML Field + */ +.button-secondary.frm_html_field { + background-color: #ededed; + padding: 10px 20px; + line-height: inherit; + width: auto; + height: auto !important; + border-radius: 0; + box-sizing: content-box; +} + +.frm_html_field_placeholder { + margin-bottom: 10px; + text-align: center; +} + +.recaptcha_placeholder { + border: 1px solid #d3d3d3; + width: 300px; +} + +.turnstile_placeholder { + width: 300px; +} + +/** + * Component: RTE Textarea + */ +.frm_sorting .frm_rte textarea { + width: 653px; + background: #fff; + margin: 1px 0 0; + border: 1px solid #dfdfdf; + border-top: none; + border-radius: 0; + float: none !important; +} + +.frm_full_rte textarea { + width: 98%; + padding: 0; +} + +/** + * Component: Field Box + */ +.frm_field_box { + padding: 5px; + min-height: 20px; + margin: 10px 0; +} + +/** + * Components - Indent Options + */ +.frm_indent_opt, td.frm_indent_opt { + padding-left: 25px; +} + +/** + * Components - Charts + */ +.frm_charts object { + background: transparent; +} + +.frm_charts h2 { + height: 34px; +} + +/** + * Component: Sortable Placeholder + */ +.frm_single_option.ui-sortable-placeholder, +li.sortable-placeholder { + border: none; + margin: 0; + visibility: visible !important; + box-shadow: 2px -10px 0 2px var(--primary-500); +} + +#frm_form_editor_container > ul > .frm_single_option.ui-sortable-placeholder, +#frm_form_editor_container > ul > li.sortable-placeholder { + width: calc(100% - 5px) !important; + height: 0 !important; +} + +#frm_form_editor_container > ul > li > ul { + position: relative; +} + +#frm_form_editor_container > ul > li > ul > li.sortable-placeholder, +#frm_form_editor_container ul.start_divider > li > ul > li.sortable-placeholder { + position: absolute; + top: 20px; + bottom: 0; +} + +.edit_field_type_divider + li.sortable-placeholder { + box-shadow: 2px 5px 0 2px var(--primary-500); +} + +.start_divider li.sortable-placeholder { + box-shadow: 2px -5px 0 2px var(--primary-500); +} + +.frm-is-collapsed + .sortable-placeholder { + box-shadow: 2px 15px 0 2px var(--primary-500); +} + +.frm_single_option.ui-sortable-placeholder { + box-shadow: 0 0 1px 1px var(--primary-500); +} + +/** + * Component: Sorting Display + */ +.frm_sorting > li.edit_field_type_end_divider:first-child, +.frm-show-click, +li.ui-state-default.edit_field_type_divider .frm-show-click { + display: none; +} + +.frm_form_field.ui-sortable-helper .frm-field-action-icons, +.frm_form_field.ui-sortable-helper .frm_form_fields, +.frm_form_field.ui-sortable-helper .frm_description, +.frm_form_field.ui-sortable-helper .description { + display: none; +} + +.frm_form_field.ui-sortable-helper .frm_primary_label, +.frm_form_field.ui-sortable-helper .frm_inner_field_container { + margin: 0 !important; +} + +.frm-single-settings .frm-show-click { + display: block !important; +} + +.frm-show-hover, +.frm_single_visible_hover, +li.ui-state-default.edit_field_type_divider .frm-show-hover { + opacity: 0; + transition: opacity 0.15s ease-in-out; +} + +#frm-show-fields .frm-field-settings-open .frm-show-hover { + opacity: 1; +} + +.frm_sortable_field_opts { + margin-top: 5px; +} + +/** + * Component: Single Option + */ +.frm_single_option { + clear: both; + margin: 0 !important; + padding-bottom: 5px; +} +.frm_single_option input[type=radio], +.frm_single_option input[type=checkbox] { + margin-top: 0; +} +.frm_single_option .frm-with-right-icon input[type=text] + .frmsvg { + position: relative; + right: 27px; + width: 14px; + height: 14px; + padding: 0; + margin: var(--gap-2xs) 0 0; +} + +.frm_product_price_wrapper, +.frm_image_preview_wrapper, +#new_fields .frm_single_option select, +#new_fields .frm_single_option input[type=text] { + width: calc(100% - 106px) !important; + flex-grow: 1; +} + +.frm-right-panel .frm_single_option a.frm_remove_tag, +.frm_single_option a { + padding-left: 7px; +} + +.frm_single_option:hover .frm_single_visible_hover { + opacity: 100; +} + +.frm_single_option .frm-drag { + font-size: 23px; + width: 24px; + height: 24px; + margin-left: -6px; + margin-right: var(--gap-xs); + color: var(--grey-500); +} + +.frm_single_option .frm-drag::before { + vertical-align: middle; +} + +.frm-drag, +.frm_single_option.ui-sortable-helper { + cursor: move; +} + +.frm_single_option .frm_option_key.frm_image_preview_wrapper, +.frm-type-ranking .frm_single_option .frm_option_key { + margin-left: 21px !important; +} + +.frm_option_key input[type=text] { + margin-top: var(--gap-xs) !important; + margin-left: 11px !important; +} +.frm_option_key input[type=checkbox] + input[type=text], +.frm_option_key input[type=radio] + input[type=text] { + margin-left: 30px !important; +} + +.frm-type-ranking .frm_option_key input[id*=field_key_] { + margin-left: 30px !important; +} + +li.ui-state-default.selected .frm-show-click, +li.ui-state-default.selected.edit_field_type_divider .frm-show-click { + display: inline; + vertical-align: top; +} + +.frm_field_box:not(.edit_field_type_divider):hover > .frm_inner_field_container > .frm-show-hover, +.frm_field_box .divider_section_only:hover > .frm_inner_field_container > .frm-show-hover, +li.ui-state-default.selected > .frm_inner_field_container > .frm-show-hover, +li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover { + opacity: 100; +} + +li.frm_field_box > ul.frm_grid_container { + position: relative; +} + +/** + * Component: UI Icon + */ +.frm_sorting span.ui-icon { + width: 16px; +} + +/** + * Component: Entry Page + */ +body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container { + --field-border-width: 1px; + --border-color: var(--grey-300); + --border-color-active: var(--primary-500); + --border-radius: var(--small-radius); +} + +#form_show_entry_page .frm_file_link, +#form_show_entry_page .frm_image_option_container { + display: inline-flex; + flex-wrap: nowrap; + flex-direction: column; + text-align: center; + align-items: center; + width: 150px; + margin-right: 10px; + margin-bottom: 10px; +} + +#form_show_entry_page .frm_image_option_container img { + width: 150px; + height: 150px; + object-fit: cover; +} + +#form_show_entry_page .frm_file_link img { + max-width: 150px; + height: auto; +} + +#form_show_entry_page .frm_file_link ~ br { + display: none; +} + +#form_show_entry_page .frm_upload_label { + padding: 10px; +} + +#form_show_entry_page.frm_wrap .postbox { + overflow: hidden; +} + +.frm_image_option_container .frm_image_placeholder_icon svg { + height: 150px; +} + +.frm_list_entry_page .frm_file_link, +.frm_list_entry_page .frm_image_option_container.frm_label_with_image { + display: block; + text-align: center; +} + +.frm_list_entry_page .frm_image_option_container img { + width: 75px; + height: 75px; + object-fit: cover; +} + +.frm_list_entry_page img { + max-width: 100%; + height: auto; +} + +.frm_image_option_container .frm_empty_url { + background-color: var(--sidebar-color); +} + +.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image { + display: block; + padding: 5px 0 10px; +} + +.frm_list_entry_page .frm_upload_label, +.frm-summary-page-wrapper .frm_text_label_for_image { + display: block; +} + +/** + * Welcome and Global Settings Image Options + */ +#frm-welcome .frm_image_options .frm_image_option_container, +#form_global_settings .frm_image_options .frm_image_option_container { + background: var(--sidebar-color); +} + +#frm-welcome .frm_image_option_container svg, +#form_global_settings .frm_image_option_container svg { + max-width: calc(100% - 20px); +} + +/** + * Component: Option Templates + */ +/* Style image option container for Directory add on. */ +#frm-new-template .frm_image_option_container svg { + height: 50px; + margin: 10px auto 0; +} + +/* Show an icon on top */ +.frm_image_option_container { + position: relative; +} + +.frm_text_label_for_image > svg { + width: 30px; + position: absolute; + top: 5px; + right: calc(50% - 15px); +} + +/* End show an icon on top */ +.frm_single_option .frm_option_key { + margin-top: 17px; +} +.frm_single_option .frm_option_key.frm_image_preview_wrapper { + margin-top: var(--gap-xs); +} + +/** + * Component: Image + */ +.frm_image_data { + margin-left: var(--gap-sm); + display: flex; + flex-direction: column; + font-size: var(--text-sm); + justify-content: space-around; + min-width: 0; /* Allows flex items to shrink below content size */ +} + +.frm_image_styling_frame { + display: flex; + align-items: stretch; + margin-left: 36px; + margin-bottom: var(--gap-xs); + width: 100%; +} +.frm_image_styling_frame img { + height: 54px; + width: 54px; + min-width: auto; + min-height: auto; + border-radius: 3px; + object-fit: cover; + object-position: center; +} +.frm_image_styling_frame .frm_email_attachment_icon img { + height: auto; + width: auto; + max-width: 54px; +} + +.frm_image_preview_title { + color: var(--grey-500); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + min-width: 0; /* Critical for text truncation in flex */ + flex: 1 1 auto; /* Better flex behavior */ +} + +.frm_wrap .frm_choose_image_box { + cursor: pointer; + color: var(--primary-500); + background-color: #fff; + margin-left: 32px; + text-align: center; + width: 100%; +} + +.frm-type-ranking .frm_option_key .frm_choose_image_box { + margin-left: 11px !important; +} + +.frm_wrap .frm_choose_image_box:hover { + background: #fff; +} + +a.frm_remove_image_option, +.frm_remove_image_option { + color: var(--grey-400); + cursor: pointer; +} + +a.frm_remove_image_option:hover .frmsvg, +a.frm_remove_image_option:hover, +.frm_remove_image_option:hover { + color: rgba(40, 47, 54, 0.8); +} + +/** + * Component: Settings and Panel + */ +/* Form Settings Tabs */ +.frm-form-setting-tabs { + margin-top: var(--gap-sm) !important; +} + +.frm-right-panel > .postbox { + background-color: transparent; + border: none; + box-shadow: none; + margin: 0; +} + +.frm-right-panel .postbox.frm_with_icons .inside, +.frm-right-panel .postbox .inside, +.frm-right-panel .inside { + font-size: var(--text-md); + padding: 15px 20px 20px; + color: var(--grey-700); +} + +.frm-right-panel .misc-pub-section { + padding: var(--gap-xs) 0; + position: relative; +} + +.frm-right-panel .inside a, +.frm-form-setting-tabs a { + font-size: var(--text-md); + color: var(--grey-700); + padding: var(--gap-sm); + display: block; +} + +.frm-form-setting-tabs a { + color: var(--grey-900); + padding: var(--gap-sm) var(--gap-md); +} + +.frm-right-panel .inside a { + padding: 0; + color: var(--primary-500); + display: inline-block; +} + +.frm-right-panel .inside a:hover { + color: var(--primary-700); +} + +.frm-form-setting-tabs a:hover { + background: var(--sidebar-hover); + color: var(--grey-900); +} + +.frm-right-panel .inside i, +.frm-form-setting-tabs a i, +.frm-form-setting-tabs a .frmsvg { + margin: 0 5px; + display: inline-block; + width: 20px; + height: 20px; + color: var(--grey-500); +} + +.frm-form-setting-tabs a .frmsvg { + margin: 0; +} + +.frm-right-panel .inside a:hover i, +.frm-right-panel .inside a:hover .frmsvg, +.frm-form-setting-tabs a:hover .frmsvg, +.frm-form-setting-tabs a:hover span { + color: var(--grey-700); +} + +.frm_settings_form .tabs-panel { + padding: 0 25px; +} + +#form_settings_page .tabs-panel, +.frm_settings_form .tabs-panel { + max-height: initial !important; + min-height: 50px !important; +} + +#frm_adv_info .tabs-panel { + min-height: 0 !important; + overflow-x: hidden; + padding: 0; + border: none; + background: transparent; +} + +select.frm_cancelnew, input.frm_enternew { + width: 175px; +} + +.frm_posttax_opt_list { + border: 1px solid var(--grey-300); + padding: var(--gap-md); + border-radius: var(--small-radius); + margin: 5px 0 5px var(--gap-md); +} + +/* Color picker CSS */ +.frm_settings_form .wp-picker-open + .wp-picker-input-wrap, +.frm-right-panel .wp-picker-open + .wp-picker-input-wrap { + position: absolute; + margin-left: calc((100% - 35px) * -1); + margin-top: 1px; + width: calc(100% - 36px); +} +.frm_settings_form .wp-picker-container input[type=text].wp-color-picker, +.frm-right-panel .wp-picker-container input[type=text].wp-color-picker { + border: none; + padding: 5px 8px; + font-family: inherit; + color: var(--grey-700); + font-size: var(--text-md); + width: 100%; + line-height: var(--leading); +} +.frm_settings_form .wp-picker-input-wrap .wp-picker-clear, +.frm-right-panel .wp-picker-input-wrap .wp-picker-clear { + display: none !important; +} +.frm_settings_form .wp-picker-holder, +.frm-right-panel .wp-picker-holder { + position: absolute; + z-index: 999; +} +.frm_settings_form .wp-picker-input-wrap label, +.frm-right-panel .wp-picker-input-wrap label { + margin-bottom: 0; +} +.frm_settings_form .wp-picker-container .wp-color-result.button, +.frm-right-panel .wp-picker-container .wp-color-result.button { + width: 100%; + overflow: hidden; + margin: 0 !important; + height: var(--h-md) !important; + padding: 0 0 0 var(--gap-lg) !important; + border-radius: var(--small-radius); + border-color: var(--grey-300); +} +.frm_settings_form .wp-color-result-text, +.frm-right-panel .wp-color-result-text { + line-height: var(--leading) !important; + font-size: var(--text-md); + background: #fff !important; + color: var(--grey-900); + padding: 5px 8px; + border-color: var(--grey-300); + text-align: left; +} +.frm_settings_form .color-alpha, +.frm-right-panel .color-alpha { + width: var(--gap-lg) !important; +} + +.frm_grid_container .wp-picker-container { + width: 100%; + position: relative; +} + +.wp-picker-container button.wp-color-result { + border: 1px solid var(--grey-300) !important; +} + +.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker { + max-width: 100%; + position: relative; +} + +.frm_end .wp-picker-holder { + margin-left: -145px; +} + +.frm_end.frm6 .wp-picker-holder { + margin-left: -86px; +} + +/* End of color picker CSS */ +/** + * Toggle Components + * + * These are the styles for the "Enable Formidable styling" toggle in the visual styler. + * To use this element, you can call the FrmHtmlHelper::toggle function. + */ +.frm_toggle_opt { + padding: 0; + white-space: normal; + display: inline; + vertical-align: middle; + font-weight: 400; +} + +.frm_on_label, +.frm_off_label { + color: var(--grey-700); +} + +.frm_toggle { + position: relative; + display: inline-block; + width: 40px; + height: var(--h-xs); + vertical-align: middle; +} + +.frm_toggle_block { + display: inline-flex !important; + gap: var(--gap-xs); + align-items: center; +} + +.frm_toggle input, +.frm_toggle_block input { + display: none !important; +} + +.frm_toggle_slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: var(--grey-200); + transition: 0.4s; + border-radius: 30px; +} + +.frm_toggle_slider::before { + box-sizing: border-box; + content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E"); + position: absolute; + left: 2px; + bottom: 2px; + display: flex; + align-items: center; + justify-content: center; + width: 20px; + height: 20px; + font-size: 20px; + line-height: 20px; + background-color: #fff; + border-radius: 50%; + transition: 0.4s; + box-shadow: var(--box-shadow-md); +} + +input:checked + .frm_toggle .frm_toggle_slider { + background-color: var(--primary-500); +} + +input:focus + .frm_toggle .frm_toggle_slider { + box-shadow: var(--box-shadow-md); +} + +input:checked + .frm_toggle .frm_toggle_slider::before { + transform: translateX(16px); + content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E"); +} + +input[disabled] + .frm_toggle_slider, +input[disabled] + .frm_toggle .frm_toggle_slider { + pointer-events: none; + cursor: text; + opacity: 0.5; +} + +.frm_toggle_opt ~ .frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before { + content: "" !important; /* Don't show x/check if off label included or on builder page */ +} + +.rtl .frm_toggle_opt { + padding: 0 8px; +} + +.rtl .frm_toggle_slider::before { + left: 17px; +} + +.rtl input:checked + .frm_toggle .frm_toggle_slider::before { + transform: none !important; + left: 1px; +} + +/* Deprecated admin toggle */ +.frm_toggle_off, +.frm_toggle_on { + display: none; + color: #fff; + z-index: 999; + position: absolute; + font-size: 10px; + line-height: 20px; + left: 6px; +} + +.frm_toggle_off { + display: inline; + left: auto; + right: 5px; + color: var(--dark-grey); +} + +.frm_toggle_long { + width: 80% !important; + height: 28px; + display: inline-block !important; +} + +.frm_toggle_long .frm_toggle_slider { + background: var(--primary-700); + box-shadow: 0 0 0 2px var(--primary-700); +} + +.frm_toggle_long .frm_toggle_off, +.frm_toggle_long .frm_toggle_on { + width: 50%; + text-align: center; + font-size: 13px; + line-height: 28px; +} + +.frm_toggle_long .frm_toggle_on { + left: 0; +} + +.frm_toggle_long .frm_toggle_off { + right: 0; +} + +.frm_toggle_long .frm_toggle_slider::before { + width: 50%; + left: 0; + top: 0; + border-radius: var(--border-radius) 0 0 var(--border-radius); + height: 100%; + background-color: #fff; + color: var(--primary-color); + content: "" !important; +} + +.frm_toggle_long input:checked + .frm_toggle_slider::before { + transform: translateX(101%); + border-radius: 0 var(--border-radius) var(--border-radius) 0; +} + +input:checked + .frm_toggle_slider + .frm_toggle_on { + display: inline; +} + +input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { + display: none; +} + +.frm_toggle_long .frm_toggle_on, +.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { + display: inline; + color: var(--primary-500); + font-weight: 400; +} + +.frm_toggle_long .frm_toggle_off, +.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on { + color: #fff; + font-weight: 700; +} + +/* End toggle styling */ +/** + * Global Settings + */ +.tabs-panel { + height: auto !important; + min-height: 260px; +} + +.tabs-panel.panel_secondary { + min-height: 20px; + margin-top: 10px; + margin-left: 150px; +} + +label.frm-example-icon { + margin-right: 20px !important; + display: inline-block !important; +} + +#frm_stripe_icon { + border-radius: 5px; +} + +#captcha_settings .frm_primary_label { + margin-top: var(--gap-sm); +} + +.frm-long-icon-buttons { + display: flex; + gap: var(--gap-md); +} + +.frm-long-icon-buttons > label { + border: 1px solid var(--grey-300); + color: var(--grey-700); + border-radius: var(--small-radius); + display: flex; + padding: var(--gap-sm); + gap: var(--gap-sm); + justify-content: center; + align-items: center; + width: calc(33% - var(--gap-sm)); + box-sizing: border-box; +} + +.frm-long-icon-buttons > label:hover { + color: var(--primary-500); +} + +.frm-long-icon-buttons input[type=radio] { + display: none; +} + +.frm-long-icon-buttons input[type=radio]:checked + label { + border-color: var(--primary-500); + box-shadow: 0 0 0 1px var(--primary-color); +} + +.frm-long-icon-buttons label > svg { + height: 21px; +} + +.frm-example-icon .frmsvg, +.frm-example-icon i { + height: 20px; + width: 20px; + font-size: 20px; + color: var(--grey-700); +} + +.frm_license_msg { + margin-top: 0; +} + +.frm_authorized_box .frm-show-unauthorized, +.frm_unauthorized_box .frm-show-authorized { + display: none; +} + +.edd_frm_status_icon.frmsvg { + margin: 0 5px; +} + +.edd_frm_license_row .frm_action_success .frmsvg { + color: green; +} + +.edd_frm_license_row .frm_action_error .frmsvg { + color: #D54E21; +} + +/* Hide the install steps for solutions */ +#form_global_settings .tabs-panel .num svg { + display: none; +} + +/* Empty List */ +.frm_no_items { + margin: 0 auto 50px; + text-align: center; + color: var(--grey-700); + max-width: 500px; +} + +.frm-subscribe { + margin: var(--gap-lg) 0; +} + +.frm_inbox_count { + color: #fff; + border-radius: 50%; + display: inline-block; + margin-right: 8px; + font-size: 11px; + text-align: center; + min-width: 18px; + height: 18px; + margin-left: 2px; + vertical-align: text-bottom; +} + +/** + * Global Payment Settings + */ +#payments_settings .frm_payments_section .form-table td { + padding-left: 0; + padding-right: 0; +} + +#payments_settings .frm_payments_section .form-table { + margin-top: 0; +} + +#frm_authnet_general_settings > tr:first-of-type > td:first-of-type { + padding-top: 0; +} + +#frm_authnet_general_settings h3 { + margin-bottom: 0; +} + +.frm_payment_settings_tab .frmsvg { + height: 22px; +} + +.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg { + width: 83px; +} + +.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg { + width: 99px; +} + +.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg { + width: 89px; +} + +.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg { + width: 53px; +} + +.frm-email-style { + float: left; + margin-right: var(--gap-md); +} +.frm-email-style:last-of-type { + margin-right: 0; +} +.frm-email-style__card { + position: relative; +} +.frm-email-style__name { + margin-top: var(--gap-xs); + padding-top: var(--gap-2xs); + text-align: center; +} +.frm-email-style__name .frmsvg { + vertical-align: sub; +} +.frm-email-style__click { + display: block; + border-radius: 12px; + border: 1px solid var(--grey-200); + box-shadow: 0px 0.47px 0.94px 0px rgba(16, 24, 40, 0.0588235294); +} +.frm-email-style__click:focus, .frm-email-style--selected .frm-email-style__click { + border-color: var(--primary-500); + outline: 1px solid var(--primary-500); +} +.frm-email-style__click img { + width: 160px; + display: block; +} +.frm-email-style--disabled .frm-email-style__click:after { + content: ""; + display: block; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: var(--grey-100); + opacity: 0.5; +} +.frm-email-style__buttons { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 12px; +} +.frm-email-style__button { + cursor: pointer; + display: block; +} +.frm-email-style__button:disabled { + cursor: not-allowed; + display: none; + background: var(--primary-700) !important; + border-color: var(--primary-700) !important; +} +.frm-email-style--selected .frm-email-style__button:disabled { + display: block; +} +.frm-email-style--selected .frm-email-style__button[data-action=choose] { + display: none; +} +.frm-email-style--disabled .frm-email-style__button[data-action=choose] { + display: none; +} +.frm-email-style:hover .frm-email-style__buttons, .frm-email-style__click:focus + .frm-email-style__buttons, .frm-email-style:focus-within .frm-email-style__buttons { + display: flex; +} + +#frm-send-test-email, +.frm-upload-image-btn, +.frm-remove-image-btn, +.frm-reset-colors-btn { + cursor: pointer; +} + +#frm-send-test-email-modal .postbox { + padding: var(--gap-sm) var(--gap-md); +} +#frm-send-test-email-modal .postbox * { + box-sizing: border-box; +} +#frm-send-test-email-modal .inside { + margin: 0; + padding: 0; +} + +/** + * Import/Export + */ +.frm-lite .xml_opts .frm-export-xml-items { + display: none; +} + +.csv_opts #frm_csv_col_sep { + width: 45px; +} + +#frm_advanced td.frm_left_label { + width: 20%; + padding-right: 2px; +} + +/** + * Component: Where Options + */ +#frm_where_options select { + max-width: 200px; +} + +#frm_where_options select.frm_insert_where_options { + width: 30%; +} + +#frm_where_options select.frm_where_is_options { + width: 20%; +} + +#frm_where_options span.frm_where_val { + width: 32%; + display: inline-block; + position: relative; +} + +#frm_where_options span.frm_where_val .frm_tooltip_icon, +#frm_where_options span.frm_where_val .frm_help { + left: -4px; + position: absolute; +} + +#frm_where_options span.frm_where_val.frm_hidden { + display: none; +} + +#frm_where_options span.frm_where_val input, #frm_where_options span.frm_where_val select { + width: 90%; + margin-left: 10px; +} + +#frm_where_options { + min-height: 31px; +} + +/** + * Component: Tabs Panel + */ +.tabs-panel.active .tabs-panel, +.frm_settings_form .tabs-panel .tabs-panel { + border: none; + padding: 0; +} + +/** + * Component: Feature Banner + */ +.frm-feature-banner { + background: var(--grey-700); + color: #fff; + border-radius: var(--small-radius); + padding: 20px; + margin: 10px 0; +} + +.frm-feature-banner p { + font-size: var(--text-sm); +} + +.frm-feature-banner .dismiss { + margin-top: -10px; + margin-right: -10px; +} + +.frm-feature-banner .dismiss svg { + color: #fff; +} + +.frm-feature-banner .frm-big-icon { + padding-right: 20px; + float: left; + min-height: 60px; +} + +.frm-big-icon svg { + height: 60px; + width: 60px; +} + +.frm-feature-banner p { + margin-top: 0; +} + +/** + * Add-on Backward Compatibility + */ +/*for add-on reverse compatibility */ +.frm_98_width { + width: 100% !important; +} + +/** + * Form Settings Tab styles + */ +h2.frm-h2, +.frm_form_settings h2 { + border-bottom: 1px solid var(--grey-300); + color: var(--grey-900); + font-weight: 400 !important; + padding: 9px 0 5px; + margin: 0; +} + +.frm_settings_form h3, +.frm_form_settings h3, +.frm_form_settings span.frm_add_logic_link { + font-size: var(--text-md); + border-top: 1px solid var(--grey-300); + padding-top: var(--gap-sm); + margin: var(--gap-sm) 0; + font-weight: 400; + text-transform: uppercase; + color: var(--medium-grey); + display: block; +} + +.frm_form_settings .howto { + color: var(--grey-500); + font-size: var(--text-sm); + margin-top: 8px; +} + +.frm_form_settings .advanced_settings .form-table { + margin-top: 0; +} + +.frm_form_settings td.frm_175_width { + width: 175px; +} + +.frm_form_settings #success_url { + width: 95%; +} + +.frm_wrap .ui-autocomplete { + padding: 3px 0; + max-height: 310px; +} + +.frm_wrap .ui-widget { + font-family: inherit; +} + +.frm_wrap .ui-autocomplete li { + padding: 2px 4px; + background: none; + color: var(--grey-700); + border: none; + font-weight: 400; +} + +.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active { + border: none; + font-weight: inherit; +} + +.frm_select_with_label { + margin: 7px 0 0; +} + +/** + * Customization Panel styles + */ +/* Customization Panel */ +#frm-insert-fields-box, #frm-conditionals { + max-height: none; +} + +#frm-conditionals, #frm-adv-info-tab { + display: none; + max-height: 355px; +} + +#frm-insert-fields-box ul.subsubsub, +#frm-conditionals ul.subsubsub { + float: right; + margin: 0; +} + +#frm-insert-fields-box ul.alignleft, +#frm-conditionals ul.alignleft { + margin: 4px 0 0; +} + +#frm_adv_info ul.frm_code_list.frm-full-hover { + clear: both; + max-height: 215px; + overflow: auto; +} + +#frm-insert-fields-box ul.frm_code_list li.clear.frm_block { + height: 10px; +} + +#frm_adv_info .frm_noallow { + display: none; +} + +#frm_adv_info #frm-conditionals .frm_noallow { + display: block; +} + +/** + * Customize HTML Tab styles + */ +/* Customize HTML Tab */ +#frm_html_tab.frm_hidden { + display: none; +} + +#frm_html_tab.active { + display: inline; +} + +/** + * Form Actions Tab styles + */ +.frm_email_reply_container select, +.frm_email_reply_container input, +.form-table td.frm_150_width { + width: 170px; +} + +#frm_notification_settings .frm_no_top_padding { + padding-top: 0; +} + +.frm_email_settings.frm_email_settings.widgets-holder-wrap { + overflow: auto; + box-shadow: none; +} + +#frm_notification_settings .widget-top .widget-action, +#frm_form_editor_container .widget-top .widget-action { + border: 0; + margin: 0; + padding: 8px; + background: 0 0; + cursor: pointer; + outline: 0; +} + +#frm_notification_settings .widget-top .widget-action { + padding-top: 13.5px; +} + +#frm_email_addon_menu { + border: 1px solid var(--grey-300); + padding: var(--gap-sm); + border-radius: 4px; + margin: var(--gap-md) 0 var(--gap-sm); +} + +#frm_email_addon_menu .frm-search { + float: right; + margin: 0; +} + +#frm_email_addon_menu h3.frm-no-border { + clear: none; + padding-top: 7px; +} + +.frm_email_settings .widget .widget-top { + background-color: var(--sidebar-color); +} + +.frm_email_settings .widget .widget-top, +.frm_email_settings .widget .widget-top h3 { + cursor: pointer !important; +} + +.frm_email_settings .widget { + margin-bottom: var(--gap-sm); +} + +.frm_form_action_settings .widget-top { + box-shadow: none; + border-color: var(--grey-300); + border-radius: var(--small-radius); + background: var(--lightest-grey); + color: var(--grey-700); +} + +.frm_form_action_settings:hover .widget-top { + border-color: var(--grey); +} + +.frm_form_action_settings.open .widget-top { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom: none; +} + +.frm_form_action_settings.open:hover .widget-top { + border-color: var(--grey-300); +} + +.frm_form_action_settings > .widget-inside { + display: none; +} + +.frm_form_action_settings.open > .widget-inside { + display: block; +} + +.frm_form_action_settings .widget-inside { + min-height: 25px; + padding: 15px; + border-color: var(--grey-300); + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +.frm_form_action_settings .widget-title h4, +.frm_form_action_settings .widget-title h3 { + display: inline-block; + border-bottom: none; + padding: 10px 10px 5px; + font-size: var(--text-md); + font-weight: 500; +} + +#frm_email_addon_menu h3 { + margin: 0 0 var(--gap-sm); + clear: both; +} + +.frm_single_api_settings p > label { + display: inline; +} + +.frm_form_action_icon { + margin-right: 5px; +} + +.frm_actions_list { + margin: 0; + display: inline; +} + +.frm_actions_list li { + float: left; + width: 15.6%; + margin: 10px 0.5% 15px; + height: 100px; + text-align: center; +} + +.frm-limited-actions .frm-group-heading, +.frm-limited-actions #frm-hide-groups, +.frm-all-actions #frm-show-groups, +.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show) { + display: none; +} + +label.frm_action_events { + padding-left: 15px; +} + +#frm-hide-groups, +#frm-show-groups { + font-size: var(--text-md); + float: right; +} + +.frm_actions_list a:active, .frm_actions_list a:focus { + outline: none; +} + +.frm_actions_list a { + font-size: var(--text-sm); + color: var(--grey-700); + word-break: break-word; +} + +.frm_actions_list span.frm-outer-circle { + /* 50px total with 30px content */ + background-color: var(--grey-100); + padding: 10px; + text-align: center; + border-radius: 50%; + display: block; + width: 30px; + height: 30px; + margin: 0 auto 15px; + line-height: 1; +} + +.frm_email_settings .widget-title h4 { + color: var(--grey-700); +} + +.frm_disabled_action .widget-title h4 { + color: var(--grey); +} + +.frm_actions_list a .frmsvg, +.frm_actions_list a i { + height: 18px; + width: 18px; + font-size: 18px; + padding: 2px; + color: var(--lightest-grey); +} + +span.frm-inner-circle, +.frm_email_settings .widget-title .frm_form_action_icon { + background-color: var(--grey-400); + border-radius: 50%; + display: inline-block; + text-align: center; + line-height: 1; +} + +span.frm-inner-circle { + background-color: var(--primary-700); + height: 22px; + width: 22px; + padding: 4px; + color: #fff; +} + +.frm-inner-circle svg { + fill: currentColor; +} + +.frm_email_settings .widget-title .frm_form_action_icon { + height: 15px; + width: 15px; + padding: 5px; + color: #fff; + vertical-align: middle; +} + +.frm_actions_list .frmsvg, +.frm_actions_list i::before, +.frm_email_settings .widget-title .frm_form_action_icon i, +.frm_email_settings .widget-title .frm_form_action_icon .frmsvg { + height: 15px; + width: 15px; + vertical-align: text-top; +} + +.frm_actions_list i::before { + vertical-align: middle; +} + +.frm_email_settings .widget-title:hover .frm_form_action_icon { + background-color: var(--grey); +} + +span.frm-inner-circle.frm-inverse { + background-color: transparent; + color: var(--primary-700); + padding: 0; + height: 30px; + width: 100%; +} + +.frm_actions_list span.frm-inverse i, +.frm_actions_list span.frm-inverse .frmsvg { + color: var(--primary-700); + height: 30px; + width: 30px; + font-size: 30px; + padding: 0; +} + +.frm_actions_list i.frm-inverse::before { + height: 30px; + width: 100%; + font-size: 30px; +} + +.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse { + background: #fff; + padding: 0; + height: 24px; + width: 24px; +} + +.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg, +.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before { + color: var(--grey-400); + height: 24px; + width: 24px; + font-size: 24px; +} + +.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg, +.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before { + color: var(--grey-500); +} + +.frm_email_icons { + padding: 10px 0 5px 6px; + font-size: 20px; +} + +.frm_email_icons a { + margin-left: 8px; + color: var(--grey); + opacity: 0; + transition: all 0.2s ease; +} + +.frm_email_icons a .frmsvg { + color: var(--grey); +} + +.frm_email_icons a:hover, +.widget-top:hover .frm_email_icons a { + opacity: 1; +} + +.frm_actions_list a.frm_inactive_action { + color: var(--grey); +} + +.frm_inactive_action .frm-inner-circle, +.frm_actions_list .frm_inactive_action i { + opacity: 0.4; +} + +/** + * Component: Notification Settings + */ +table td, .form-table tr td { + vertical-align: top; +} + +#new_fields .form-table tr td { + display: block; + padding: 7px 0 0; +} + +#new_fields .form-table tr td:first-child { + margin: 0; +} + +#new_fields .form-table tr td:last-child { + margin-bottom: 9px; +} + +.form-table #list-table th { + text-align: center; +} + +#form_settings_page th, +#form_settings_page td, +.frm_settings_form td, +#frm_notification_settings .frm_form_action_settings td p { + padding: 7px 0; +} + +#permissions_settings_settings .frm_grid_container { + align-items: center; +} + +#frm_notification_settings .form-table > tbody > tr > th { + width: 150px; + font-weight: 400; + padding-right: 10px; +} + +#frm_notification_settings .frm_single_email_settings .form-table > tbody > tr > th { + width: 80px; +} + +#frm_notification_settings table tr td:first-child { + padding-left: 0; +} + +#frm_notification_settings table tr td:last-child { + padding-right: 0; +} + +#frm_notification_settings .frm_left_label { + float: none; /* For add-ons that haven't been updated for 4.0 */ + width: auto !important; +} + +.frm-fields .frm_autoresponder_rows select { + width: auto; +} + +#frm_notification_settings .frm_with_left_label, +#frm_notification_settings .frm_left_label + textarea, +#frm_notification_settings .frm_left_label + select, +#frm_notification_settings .frm_left_label + input[type=text] { + width: 100%; +} + +#frm_notification_settings .frm_email_buttons { + padding: var(--gap-2xs); + background: var(--light-blue); + color: var(--primary-700); + border-radius: var(--small-radius); + border-color: var(--blue-border); + line-height: 1; + height: auto; + min-height: 12px; + font-size: var(--text-xs); + box-shadow: none; +} + +p.frm_bcc_cc_container, +p.frm_reply_to_container { + position: relative; + float: right; + margin: -4px 0 0; + z-index: 1; +} + +.frm_email_row .frm_cancel1_icon::before { + vertical-align: bottom; +} + +.frm_cc_row.frm_email_row .frm-with-right-icon, +.frm_bcc_row.frm_email_row .frm-with-right-icon, +.frm_reply_to_row.frm_email_row .frm-with-right-icon { + width: calc(100% - 20px); + display: inline-block; +} + +.frm_email_row .frm_remove_field .frm_close_icon { + position: relative; + fill: var(--grey-500); + vertical-align: middle; +} + +/** + * Component: Logic Fields + */ +.frm-inline-select, +p.frm-inline-select, +.frm_logic_rows .frm-collapse-me { + line-height: var(--h-md) !important; +} + +.frm_logic_row { + padding: var(--gap-xs) 0 0; +} + +.frm-single-settings ul.frm_sortable_field_opts { + border-bottom: 1px solid var(--grey-200); + padding-bottom: var(--gap-xs); + margin-bottom: var(--gap-xs); +} + +.frm-single-settings .frm-add-other svg.frm_add_tag { + position: relative; + top: 5px; + margin-right: 4px; +} + +.frm-single-settings .frm_single_option .frm_remove_tag::before { + content: ""; +} + +.frm-single-settings input[type=checkbox][readonly] { + opacity: 0.5; + pointer-events: none; +} + +.advanced_settings .frm_logic_row { + margin: 14px 0; +} + +.advanced_settings .frm_logic_row select, +.advanced_settings .frm_logic_row input { + max-width: 30% !important; +} + +.frm_form_action_settings .frm_logic_row p { + margin-top: 0; + margin-bottom: 0; + padding: 0; +} + +/** + * Component: Form Settings Widget + */ +#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside { + padding-bottom: 0; +} + +#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside { + padding-left: 15px; + padding-right: 15px; +} + +#form_global_settings h3 { + font-size: var(--text-sm); + margin-top: 25px; +} + +#form_global_settings .tabs-panel + h3 { + margin-top: 0; + border: none; +} + +#poststuff .frm_form_settings .widget-inside h3, +#poststuff .frm_form_settings .advanced_settings h3, +#poststuff .frm_settings_form h3, +#frm_advanced .inside h3 { + border-top: 1px solid #eee; + border-bottom: none; + margin: 15px -15px 0; + padding: 8px 15px; + font-size: var(--text-sm); +} + +#poststuff .frm_form_settings h3.frm_first_h3, +#poststuff h3.frm_first_h3 { + border: none; + margin-top: 0; +} + +h3.frm_add_logic_link { + margin-bottom: 0 !important; +} + +a.frm_add_logic_link.frm_hidden { + display: none; +} +a.frm_add_logic_link.frm_hidden + .frm_logic_rows { + height: auto; +} + +/** + * Icon Font styles + */ +.frm_icon_font { + color: #A0A0A0; + color: var(--grey); +} + +.frm-fields label .frm_icon_font { + font-size: inherit; +} + +.misc-pub-revisions.frm_icon_font, +.misc-pub-revisions.frm_icon_font:hover { + color: inherit; +} + +.postbox.frm_with_icons .inside { + padding: 0; + margin: 0; +} + +.frm_add_tag::before { + content: "\e602"; +} + +.frm_remove_tag::before { + content: "\e600"; +} + +.frm_logic_row .frm1 > .frm_remove_tag { + padding: 0; +} + +.frm_tooltip_icon::before { + font-size: 13px; + vertical-align: top; +} + +.frm_help svg, +.frm_help .frmsvg { + height: 13px; + width: 13px; + vertical-align: top; + color: var(--grey-400); +} + +.form-field input[type=text].frm_other_input { + width: 30%; + margin-left: 10px; +} + +.frm-add-other { + text-align: right; +} + +.frm-add-other .frm_add_tag { + vertical-align: 20%; +} + +.frm_action_icon { + margin: 5px 0 0 5px; +} + +span.frm_action_icon { + margin: 0 4px 0 0; +} + +.frm_action_icon:active { + outline: none; +} + +a.frm_action_icon:hover { + text-decoration: none; +} + +.frm_action_icon.frm_error_icon::before { + content: "\e608"; +} + +.frm_inactive_icon.frm_action_icon.frm_error_icon::before { + content: "\e606"; +} + +.frm-field-action-icons { + text-align: right; + position: absolute; + top: 2px; + right: 2px; + max-width: 100%; +} + +.frm-field-action-icons .frm-field-id { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 80px; + max-width: calc(100% - 50px); + position: relative; + top: 2px; +} + +.frm-field-action-icons > a { + font-size: var(--text-md); + width: 17px; +} + +.frm-field-action-icons a:hover { + text-decoration: none; +} + +.frm-field-action-icons .dropdown { + display: inline-block; +} + +.frm-field-action-icons > a .frmsvg { + color: var(--grey-500) !important; + font-size: 17px; + width: 17px; + height: 17px; +} + +.frm-field-action-icons > a .frmsvg, +.frm-field-action-icons > div > a .frmsvg { + vertical-align: baseline; +} + +.edit_field_type_end_divider .frm-field-action-icons { + display: none !important; +} + +.frm-move { + cursor: grab; +} + +/** + * Extended Howto styles + */ +span.howto { + display: inline; +} + +.frm_import_message { + margin: 15px 0; + line-height: 2.5; +} + +/** + * Form Widget styles + */ +.frm_sorting .form-field .widget input[type=text], +.frm_sorting .form-field .widget input[type=number], +.frm_sorting .form-field .widget select, +#wpcontent .frm_sorting .form-field .widget select, +.frm_sorting .form-field .widget textarea { + width: auto; +} + +/** + * Tag Checklist styles + */ +.tagchecklist span.no_taglist { + display: inline; + float: none; + line-height: 15px; + margin-right: 0; + font-size: inherit; +} + +.tagchecklist .frm_exclude_cat_list span { + display: inline; +} + +.tagchecklist span a::before { + line-height: 23px; + text-align: start; +} + +.frm_form_action_settings .frm_email_row .frm_tooltip_icon { + position: relative; + bottom: 2px; +} + +/** + * No Entries Page styles + */ +.frm_no_entries_form { + padding: 60px 0; +} + +.frm_no_entries_form .frm_no_entries_header { + font-size: 20px; + margin-bottom: 10px; +} + +.frm_no_entries_form .frm_no_entries_text { + line-height: var(--leading); +} + +#form_entries_page #the-list .no-items { + height: 240px; /* Equals to the max height of search dropdown */ +} + +/** + * Reports Page styles + */ +#form_reports_page img.frm_no_reports { + max-width: 100%; +} + +.frm_wrap .google-visualization-table .gradient, +.frm_wrap .google-visualization-table-tr-head, +.frm_wrap .google-visualization-table-tr-odd, +.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over { + background: var(--lightest-grey); +} + +.frm_wrap .google-visualization-table-tr-over { + background: #fff; +} + +.frm_wrap .google-visualization-table-table th, +.frm_wrap .google-visualization-table-table td { + border-right-width: 0; + padding: 10px !important; +} + +.frm_wrap .google-visualization-table-tr-head, +.frm_wrap .google-visualization-table-tr-head th { + white-space: pre-wrap; + font-size: var(--text-md); + font-weight: 400 !important; + text-align: left; +} + +.frm_wrap .google-visualization-table-td-number { + text-align: inherit; +} + +#form_reports_page .postbox { + text-align: center; + float: none; + display: inline-block; + margin-right: 2%; + width: 20%; + min-width: 175px; +} + +/** + * Views Page styles + */ +#form_views_page img.frm_no_views { + max-width: 100%; +} + +/** + * Component: Field Options Popup + */ +.frm_field_opts_popup { + min-width: 300px; + background-color: #fff; +} + +.frm_field_opts_popup #wpadminbar { + display: none; +} + +.frm_prepop { + width: 100%; + list-style: none; + overflow: auto; + margin: 0; + max-height: 295px; +} + +.frm_prepop li { + margin: 0; +} + +.frm_prepop li a { + display: block; + text-decoration: none; + cursor: pointer; + padding: 5px 20px; +} + +.frm_prepop li a:hover { + background: var(--sidebar-color); +} + +/** + * Form Editor Container + */ +#frm_form_editor_container #frm_form_key_box { + width: 13em; + max-width: 30%; +} + +#frm_form_editor_container #frm_form_desc { + width: 70%; +} + +#frm_form_editor_container .ui-widget-content { + display: none; + padding: 15px; +} + +#frm_form_editor_container .ui-widget-content label { + float: left; + width: 170px; + text-align: right; + padding-right: 5px; + clear: both; +} + +#frm_form_editor_container .ui-widget-content label.nofloat { + clear: none; + float: none; + margin-left: 10px; +} + +#frm_form_editor_container .ui-state-default { + color: #333 !important; +} + +.frm_green { + color: var(--green) !important; +} + +#frm_form_editor_container .ui-state-default a.frm_orange, .frm-right-panel a.frm_orange, #postbox-container-1 a.frm_orange { + color: #D54E21; +} + +#styling_settings input[type=checkbox], #styling_settings input[type=radio] { + border: solid 1px #bbb; +} + +#styling_settings .widget .widget-top, #frm_form_editor_container .widget .widget-top { + cursor: pointer; +} + +/** + * Widget Sorting + */ +.frm_sorting .widget, .frm_settings_page .widget { + background: #fff; +} + +.frm_sorting .widget-title h4 { + font-weight: 400; +} + +.frm_sorting .widget, #postbox-container-1 .widget, .frm-right-panel .widget, .frm_settings_page .widget { + margin-bottom: 0; +} + +.frm_settings_page .widget-inside { + padding: 0 5px 5px; +} + +.frm_sorting .widget, +.widget-inside, +.frm_sorting .form-field .widget { + display: none; +} + +#frm-show-fields { + min-height: 350px; + padding: 0 0 35px; + margin: 0; + position: relative; +} + +.frm-has-fields #frm-show-fields { + min-height: 50px; +} + +#frm_builder_page .frm-lite-credit-card-element, +body.frm-admin-page-styles .frm-lite-credit-card-element { + position: relative; +} + +#frm_builder_page .frm-lite-credit-card-element > div, +body.frm-admin-page-styles .frm-lite-credit-card-element > div { + position: absolute; + top: calc(50% - 1px); + transform: translateY(-50%); + right: 10px; + color: #d0d4dd; +} + +#frm_builder_page #frm_field_group_controls { + position: absolute; + padding: 5px; + border-radius: 4px 4px 0 0; + text-align: right; + box-sizing: border-box; + right: 0; + top: -28px; + height: 28px; + z-index: 3; /* section dividers use z-index: 2; position above that to avoid it taking over hover control. */ +} + +.frm-field-group-hover-target, +.frm-has-open-field-group-popup, +#frm_builder_page #frm_field_group_controls, +.frm-selected-field-group { + background: rgba(65, 153, 253, 0.04); +} + +.frm-selected-field-group { + position: relative; +} + +#frm_builder_page #frm_field_group_controls > span:first-child { + margin-right: 5px; +} + +#frm_builder_page #frm_field_group_controls svg { + pointer-events: none; +} + +#frm_field_group_controls { + visibility: hidden; +} + +.frm-field-group-hover-target #frm_field_group_controls { + visibility: visible; +} + +#frm_field_group_controls .dropdown-item a span { + color: var(--grey-700); +} + +#frm_field_group_controls .dropdown-item a:hover { + text-decoration: none; +} + +/** + * Field Sorting + */ +.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider { + display: none !important; +} + +.frm-right-panel .ui-state-default, +#postbox-container-1 .ui-state-default, +.frm_sorting > li.ui-state-default, +.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover { + border: 1px solid transparent; + font-weight: 400 !important; + background-color: transparent; + background-image: none; + padding: 5px; + margin: 0; + box-shadow: none; + display: block; + text-align: inherit !important; + overflow: visible; + position: relative; +} + +#frm-show-fields li.frm_cancel_sort { + /* If a section gets dropped into a section, hide it */ + display: none; +} + +.divider_drop { + text-align: center; +} + +.divider_drop .howto .frm_icon_font { + font-style: normal; +} + +.show_repeat_sec { + display: none; +} + +.repeat_section .show_repeat_sec { + display: inline-block; + margin: 5px 0 0; +} + +.repeat_section tr.show_repeat_sec { + display: table-row; +} + +.repeat_format .frm_repeat_label, +.repeat_formattext .frmsvg, +.repeat_formattext i { + display: none; +} + +/** + * Frm Button + */ +.frm_button { + text-decoration: none; + border: 1px solid #eee; + padding: 5px; + color: #444; + vertical-align: middle; + box-shadow: none !important; +} + +a.frm_button:hover { + text-decoration: none !important; +} + +.frm_button, +.frm_button .frm_icon_font::before { + font-size: 13px; + vertical-align: middle; +} + +.frm_button .frmsvg { + width: 13px; + height: 13px; +} + +/** + * Components - Divider + */ +.frm-right-panel .ui-state-default, +#postbox-container-1 .ui-state-default { + padding: 0; + margin: 0; +} + +ul.start_divider { + padding: 8px 13px 0 8px; + min-height: 115px; + transition: all 0.4s linear; +} + +.frm-section-collapsed .frm_no_section_fields, +.frm-section-collapsed ul.start_divider { + height: 0; + min-height: 0 !important; +} + +.frm-section-collapsed ul.start_divider { + overflow: hidden; +} + +.frm-section-collapsed .frm_no_section_fields { + overflow: hidden; + padding: 0; + opacity: 0; +} + +.frm-section-collapsed .divider_section_only .frm-collapsed-label { + display: inline; +} + +.frm-page-collapsed .frm_clone_icon, +.frm-page-collapsed .frm_delete_field, +.frm-page-collapsed .frm_clone_field, +.frm-section-collapsed .frm_clone_icon { + opacity: 0.5; + cursor: not-allowed; +} + +/* Hide the Duplicate summary option because we are missing the logic that also adds a new page */ +.edit_field_type_summary .frm_more_options_li:nth-child(2) { + display: none !important; +} + +.edit_field_type_submit .frm_more_options_li:not(:last-child) { + display: none !important; +} + +.frm_no_section_fields:not(.frm_block) + ul.start_divider { + padding: 0; + min-height: 132px; +} + +.frm_sorting li.ui-state-default .divider_section_only { + padding: 6px; + margin-top: -10px; + border: 2px solid transparent; + border-radius: var(--small-radius); + z-index: 2; + position: relative; +} + +.divider_section_only > .frm_inner_field_container { + padding: 5px 0; + margin: 0; +} + +.frm-collapsed-label, +.divider_section_only > .frm_inner_field_container .frm_form_fields { + display: none; +} + +.frm-section-collapsed .divider_section_only::after, +.divider_section_only::before { + content: ""; + display: block; + padding: 2px 0; + line-height: 1px; + border-top: 2px solid var(--grey-300); + top: -2px; + position: absolute; + width: 100%; + transition: 0.5s border-color ease-in-out; +} + +.frm-section-collapsed .divider_section_only::after { + top: auto; + bottom: -6px; +} + +.frm-section-collapsed .divider_section_only:hover::after, +li.selected.frm-section-collapsed .divider_section_only::before, +li.selected.frm-section-collapsed .divider_section_only::after, +.divider_section_only:hover::before, +li.selected .divider_section_only::before { + border-color: transparent; +} + +.frm_sorting li.ui-state-default.edit_field_type_divider { + overflow: visible; + position: relative; + padding: 0 0 0 20px; + margin: 25px 0 0 -5px; + border-left: 1px solid var(--primary-700); + transition: border 0.7s ease-out; +} + +.frm-section-collapsed { + border-left-color: transparent !important; +} + +.frm_sorting li.edit_field_type_end_divider, +.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover { + margin: 0 0 var(--gap-sm); +} + +.frm-first-page .frm_prev_page { + display: none; +} + +/** + * Components - Form Rows + */ +#frm_builder_page .frm_remove_form_row.frm_button, +#frm_builder_page .frm_add_form_row.frm_button { + border-radius: var(--small-radius); + border: 1px solid var(--blue-border); +} + +#frm_builder_page .frm_remove_form_row .frmsvg, +#frm_builder_page .frm_remove_form_row i::before, +#frm_builder_page .frm_add_form_row .frmsvg, +#frm_builder_page .frm_add_form_row i::before { + color: var(--primary-700); +} + +.frm-preview-buttons .frm_button_submit { + margin: 0 5px; +} + +.frm-page-break { + border-top: 1px dashed var(--primary-700); + margin-top: var(--gap-lg); + position: relative; +} + +.frm-page-break::before, +.frm-page-break::after { + content: ""; + position: absolute; + background-color: #fff; + border-radius: 50%; + border: 1px solid var(--primary-700); + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} + +/** + * Components - Divider Icons + */ +.edit_field_type_divider .frm-divider-icon.frmsvg { + padding: 2px; + position: absolute; + left: -12px; + color: #fff; + background-color: var(--primary-700); + border-radius: 50%; +} + +.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg { + height: 8px; + width: 8px; + padding: 0; + bottom: -4px; + left: -24.5px; + color: var(--primary-700); + background-color: #fff; +} + +.edit_field_type_divider.selected .frm-divider-icon.frmsvg, +.edit_field_type_divider:hover .frm-divider-icon.frmsvg { + background: var(--primary-500); +} + +.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg, +.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg { + background-color: #fff; + color: var(--primary-500); +} + +.frm-page-break::before, +.frm-page-break::after { + width: 8px; + height: 8px; + top: -6px; + border-color: var(--grey); +} + +.frm-page-break::after { + right: 0; +} + +#frm-fake-page .frm-page-break { + border-color: var(--grey); +} + +#frm-fake-page { + padding: 0 5px; +} + +.frm_sorting li.edit_field_type_divider:hover, +.frm_sorting li.edit_field_type_divider.selected { + border-left-color: var(--primary-500); +} + +/** + * Component: Page Collapsed + */ +.frm-section-collapsed::after { + border-color: transparent !important; + color: transparent; +} + +.frm-page-break .frm-collapse-page.button { + margin-left: 46%; + margin-top: -16px; + padding: 6px 12px !important; +} + +#frm-fake-page.frm-page-collapsed { + margin-bottom: 0; +} + +.frm-page-collapsed { + position: relative; + overflow: visible !important; + margin-bottom: var(--gap-lg); +} + +.frm-collapse-page .frmsvg, +.frm-collapse-page .frm_arrowdown6_icon { + width: var(--text-sm); + height: var(--text-sm); + font-size: var(--text-sm); + text-align: center; + margin-left: 2px; + color: currentColor; + transition: transform 300ms ease-in-out; +} + +.frm-page-collapsed .frm-collapse-page .frmsvg { + transform: rotate(180deg); +} + +#frm-fake-page .frm_arrowdown6_icon { + color: currentColor; +} + +.frm-collapsed i::before, +.frm-page-collapsed .frm_arrowdown6_icon::before { + content: "\e913"; +} + +.frm-collapse-section svg { + fill: var(--primary-color); + transition: transform 0.2s ease-out, fill 0.2s ease-out; +} + +.frm-collapse-section:hover svg { + fill: var(--primary-700); +} + +.frm-section-collapsed .frm-collapse-section svg { + transform: rotate(-90deg); +} + +.open .widget-top .widget-title-action button .frmsvg { + transform: rotate(90deg); +} + +.widget-top .widget-title-action button .frmsvg use { + color: var(--grey); +} + +.frm-collapsed + .frm-collapse-me { + overflow: hidden !important; +} + +.frm-collapse-me { + padding-bottom: 10px; +} + +.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect) { + position: relative; + z-index: 1; +} + +.frm-collapsed + div { + height: 0; + padding: 0; +} +.frm-collapsed + div.frm-collapse-me { + display: none; +} + +.frm-collapsible { + display: flex; + justify-content: space-between; + align-items: center; + font-weight: 700; + padding: var(--gap-xs) 0; + margin: 0; + cursor: pointer; + /* prevent text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.frm-collapsible.frm-collapsed { + font-weight: 400; +} +.frm-collapsible:not(.frm-collapsed) .frmsvg { + transform: rotate(-180deg); +} +h4.frm-collapsible { + font-size: var(--text-md); +} + +.frm-collapsible + .frm-collapse-me { + padding-bottom: 0; +} +.frm-collapsible:focus-visible { + outline: 1px solid var(--primary-500); +} + +/** + * Divider Labels + */ +.frm_sorting .divider_section_only > .frm_ipe_field_label { + font-size: 116%; +} + +#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button { + width: 150px; + text-align: center; + margin-bottom: 3px; + display: block; +} + +tr.frm_options_heading td { + padding-bottom: 0; +} + +.frm_sorting .widget-inside .form-table td p, +.frm_sorting .widget-inside .form-wrap label { + padding: 10px 0; +} + +/** + * Empty Fields + */ +.frm_no_fields, +.frm_no_section_fields { + text-align: center; + position: absolute; + color: var(--medium-grey); + font-size: var(--text-md); + box-sizing: border-box; + border: 1px dashed var(--grey-300); + outline: 2px solid transparent; +} + +.frm-over-droppable + .frm_no_fields { + border-style: solid; + border-color: var(--primary-500); + outline-color: var(--primary-500); +} + +.frm_no_section_fields { + display: none; + margin: 0; + padding: 20px 0 0; + width: calc(100% - 20px); + height: 121px; + transition: all 0.4s linear; +} + +.frm-empty-fields .frm_updated_message ~ .frm_no_fields { + top: 60px; +} + +#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields > .frm_field_box:last-child { + visibility: hidden; +} + +.frm-has-fields .frm_no_fields { + display: none; +} + +#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder { + display: none; +} + +#frm-form-button { + display: none; + margin: 0 7px 25px; +} + +.frm-has-fields #frm-form-button { + display: block; +} + +.frm-large-plus.frmsvg { + color: var(--primary-700); + height: 45px; + width: 45px; +} + +.frm_no_section_fields p { + color: var(--grey); + font-size: 15px; +} + +.frm_no_fields { + top: 0; + width: calc(100% - 24px); + min-height: 320px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: var(--gap-md); + padding: var(--gap-md); + border: 0; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); + border-radius: var(--medium-radius); + margin: var(--gap-sm) 12px; +} +.frm_no_fields img { + margin-left: calc(-1 * var(--gap-lg)); +} +.frm_no_fields .frm_drag_inst { + font-size: 20px; + font-weight: 600; + margin: 0 0 12px; +} +.frm_no_fields p { + color: var(--grey-600); + font-size: var(--text-md); + margin: 0; +} + +/** + * Product Fields + */ +.frm_product_price_wrapper { + display: inline-block; + vertical-align: middle; +} + +.frm_prod_type_single .frm_product_price_wrapper { + width: 100%; +} + +#new_fields .frm_product_price_wrapper input:first-child { + width: 60% !important; + float: left; +} + +#new_fields .frm_product_price_wrapper input:nth-child(2) { + width: 37% !important; + float: right; +} + +/** + * Field Choices + */ +li.frm_single_option { + padding-bottom: var(--gap-sm); + border-bottom: 0; +} + +.frm_prod_type_single input[type=radio], +.frm_prod_type_single .frm_drag_icon, +.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3), +.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag, +.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product), +.frm_prod_type_single .frm-bulk-edit-link, +.frm_prod_type_user_def.frm_grid_container, +.frm_prod_options_heading.frm_prod_user_def { + display: none; +} + +.frm_prod_type_single .frm-ai-generate-options-modal-trigger { + display: none !important; +} + +.frm_prod_type_single .frm_option_key { + margin-left: 0 !important; +} +.frm_prod_type_single .frm_option_key input[type=checkbox] + input[type=text], +.frm_prod_type_single .frm_option_key input[type=radio] + input[type=text] { + margin-left: 0 !important; +} + +.plugin-card-bottom .frm-trash { + color: #a00; +} + +/** + * Field Labels + */ +.frm-fields p > .frm_inline_label, +.frm_inline_label { + padding-left: 3px; + margin-right: 12px; + display: inline-block; +} + +.frm_left_label { + clear: both; + float: left; + width: 32% !important; + margin-right: 2% !important; + line-height: 2em; +} + +table td.frm_left_label { + float: none; + line-height: inherit; + padding: 5px 0 5px 2%; +} + +.frm_left_label.frm_alignright { + padding-right: 10px; + text-align: right; +} + +.frm-fields .frm_left_label + textarea, +.frm-fields .frm_left_label + select, +.frm-fields .frm_left_label + input[type=text], +.frm_with_left_label { + width: 66%; +} + +td.frm_left_label + td { + width: 66%; + padding-top: 0; +} + +#html_settings label { + display: block; +} + +#html_settings .frm_field_html_box { + width: 100%; +} + +.frm-has-required .frm-required { + color: var(--error-500); +} + +/** + * Category Tabs + */ +ul.frm-category-tabs { + margin-top: 2px; +} + +.frm-category-tabs > li a, +.frm-category-tabs > li a:active { + outline: none; + box-shadow: none; + display: flex; + gap: var(--gap-xs); + align-items: center; +} + +.frm-category-tabs > li.active .frmsvg, +.frm-category-tabs > li.active i, +.frm-category-tabs > li.active span, +.frm-category-tabs > li.active a { + color: var(--primary-500); +} + +.frm_wrap .manage-menus { + margin-top: 0; + border: none; + border-bottom: 1px solid var(--grey-300); + background: var(--lightest-grey); +} + +.general_settings .postbox .manage-menus { + border-top: none; + border-left: none; + border-right: none; +} + +.frm-postbox-no-h3 { + padding-top: 10px; +} + +/** + * Components : UI State Defaults + */ +.frm-right-panel .ui-state-default, #postbox-container-1 .ui-state-default { + color: var(--grey-900); +} + +.no_repeat_section .frm_sorting > li.ui-state-default.edit_field_type_end_divider:hover { + box-shadow: none; +} + +.frm-selected-field-group li.ui-state-default, +.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected, +.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover, +.frm_sorting li.ui-state-default.frm_not_divider:hover, +.frm_sorting li.ui-state-default.ui-sortable-helper, +.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover, +.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover, +.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only, +.frm_update_msg, +.frm_sorting li.ui-state-default.frm_not_divider.selected, +.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only { + border-color: var(--primary-500); + transition: 0.5s border-color ease-in-out; +} + +.frm_sorting li.ui-state-default.frm_not_divider.selected { + box-shadow: 0 0 1px 0 var(--primary-500); +} + +.frm_sorting li.ui-state-default { + transition: 0.7s box-shadow ease-in-out, 0.7s height linear; +} + +.frm_sorting li.ui-state-default.frm-newly-added { + box-shadow: inset 0 0 2px 1px var(--blue-border); +} + +.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover { + visibility: visible !important; + display: inline !important; +} + +.edit_field_type_end_divider > label { + display: none !important; +} + +/** + * Update Message + */ +.frm_email_actions.feature-filter { + font-weight: 700; + border: 1px solid #DFDFDF; + background-color: #EEE; + padding: 3px 5px 2px; + font-size: var(--text-md); + line-height: 20px; +} + +.frm_update_msg { + border-style: solid; + margin: 10px 0; + color: #21759B; + padding: 8px 15px; + border-radius: 4px; +} + +.frm_update_msg.wrap { + margin: 10px 20px 0 2px; +} + +#frm-insert-fields-box .frm_update_msg { + margin-right: 0.9em; +} + +.frm_update_msg a { + font-weight: 700; +} + +.widefat td { + width: auto; +} + +.widefat .column-id { + width: 3.7em; +} + +.widefat .column-show_count { + width: 5em; +} + +.widefat .column-shortcode { + width: 9em; +} + +/** + * Admin Columns + */ +.toplevel_page_formidable .column-shortcode div { + display: flex; + gap: var(--gap-xs); +} + +.widefat .column-entries, .widefat .column-link { + width: 10%; + text-align: center; +} + +.widefat .column-form_key, .widefat .column-created_at { + width: 10%; +} + +.frm-white-body .search-box, +.frm_wrap .frm-search { + float: right; + margin: 0; + clear: right; +} + +.frm-white-body .search-box, +.frm-search { + min-width: 32%; + position: relative; + display: flex; + gap: var(--gap-sm); + align-items: center; +} + +.frm-inline-modal .frm-search, +#frm_adv_info .frm-search { + float: none; + width: 100%; + clear: both; + margin: var(--gap-xs) 0; +} + +/** + * Button Group + */ +.frm-button-group a { + margin: 0 7px !important; +} + +/** + * Input Icons + */ +.frm_has_textarea .frm-with-right-icon { + display: block; +} + +.frm-with-left-icon, +.frm-with-right-icon { + position: relative; +} + +i.frm-show-box, +i.frm-show-inline-modal, +.frm-with-left-icon i, +.frm-with-right-icon i:not([class*=mce-]), +.frmsvg.frm-show-box, +.frmsvg.frm-show-inline-modal, +.frm-with-left-icon .frmsvg, +.frm-with-right-icon .frmsvg, +.frm-search > .frmsvg, +.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select) { + position: absolute; + padding: 0 14px; + pointer-events: none; + left: 0; + color: var(--grey-400); + font-size: var(--text-xs); +} + +.frm-search > .frmsvg, +.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select) { + padding-left: var(--gap-xs); + padding-right: var(--gap-xs); +} + +.frm-search > .frmsvg { + box-sizing: unset; +} + +.frm-with-right-icon .frmsvg, +.frm-with-right-icon i:not([class*=mce-]) { + right: 0; + top: -3px; + left: auto; + padding: 0 10px 0 5px; +} + +.frm_form_settings .frm-with-right-icon .frmsvg { + top: 0; +} + +.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg, +#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg { + top: auto; + bottom: var(--gap-sm); +} +.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg, +#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg { + bottom: var(--gap-lg); +} + +.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg { + top: auto; + bottom: 6px; +} + +.frmsvg.frm-show-box, +.frmsvg.frm-show-inline-modal, +i.frm-show-box, +i.frm-show-inline-modal { + top: auto; + background-color: var(--primary-50); + color: var(--primary-500); + border-radius: 6px; + padding: var(--gap-2xs); + margin: 5px; /* input height - svg / 2 */ + margin-bottom: 0; + z-index: 1; + cursor: pointer; + pointer-events: initial; +} +.frmsvg.frm-show-box:focus, +.frmsvg.frm-show-inline-modal:focus, +i.frm-show-box:focus, +i.frm-show-inline-modal:focus { + outline: 1px solid var(--primary-500); +} + +.frm_form_settings .frmsvg.frm-show-box, +.frm_form_settings .frmsvg.frm-show-inline-modal, +.frm_form_settings i.frm-show-box, +.frm_form_settings i.frm-show-inline-modal { + margin: 4px 4px 0; +} + +/** + * Inline Modals + */ +.frm-open + .frm-inline-modal { + top: -10px; + margin-bottom: 0; +} +.frm-open + .frm-inline-modal.frm-modal-no-dismiss .inside > .frm-search:first-child { + margin-top: var(--gap-sm); +} + +.frm_grid_container > .frm-open + .frm-inline-modal { + top: -4px; +} +.frm_grid_container > .frm-open + .frm-inline-modal.frm-modal-no-dismiss { + top: 0 !important; +} + +/** + * Input Positioning + */ +.frm-with-left-icon input { + padding-left: 37px !important; +} + +.frm_wrap .frm-with-right-icon textarea, +.frm_wrap .frm-with-right-icon input, +.frm_wrap .frm-with-right-icon input[type=text] { + padding-right: var(--gap-md); +} + +#frm-show-fields .frm-with-left-icon .frmsvg, +#frm-show-fields .frm-with-left-icon i { + padding-top: 10px; +} + +/** + * Search Inputs + */ +.frm-search input[name=s], +.frm-search .dropdown-toggle, +.frm-search input.frm-search-input { + color: var(--grey-800); + border-color: var(--grey-300); + border-radius: var(--small-radius); + box-shadow: var(--box-shadow-xs); +} +.frm-search input[type=search], +.frm-search input[type=text] { + padding-left: var(--gap-lg) !important; +} +.frm-search .dropdown-toggle { + width: 100%; + float: none; + max-width: 200px; + background: transparent; + padding: 7px; + padding-left: 33px !important; + min-height: 32px; + text-align: inherit; + overflow: hidden; + text-overflow: ellipsis; +} +.frm-search #search-submit a { + color: var(--grey-800); +} +.frm-search #search-submit .caret { + opacity: 0.7; +} + +.frm-white-body .search-box input[name=s], +#wpwrap .frm-search input[type=search] { + flex: 1; + font-size: var(--text-md); + line-height: var(--text-xl); + padding: var(--gap-xs); +} + +span.multiselect-selected-text { + white-space: nowrap; + display: inline-block; + max-width: calc(90% - var(--gap-xs)); + text-overflow: ellipsis; + overflow: hidden; +} + +/** + * Not Set Fields + */ +.frm-not-set input { + color: var(--primary-500) !important; + font-size: 13px; +} + +.frm-not-set .frmsvg, +.frm-not-set i { + color: var(--primary-700); + opacity: 1; +} + +/** + * Shortcode Select + */ +.post-type-frm_display select[name=m] + #post-query-submit, +select[name=m] { + display: none; +} + +.frm_shortcode_select optgroup option { + margin-left: 1em; +} + +.frm_shortcode_select optgroup { + padding-top: 5px; +} + +.frm_shortcode_select .frm_subopt { + margin-left: 2em; +} + +.misc-pub-section a.edit-frm_shortcode, .misc-pub-section a.edit-form-status { + float: none; + font-size: 13px; +} + +.frm-grid { + border-collapse: collapse; + border: none; + margin-right: 10px; +} + +.frm-grid td, .frm-grid th { + padding: 5px; + border: 1px solid black; +} + +/** + * View Page Admin + */ +.post-type-frm_display #poststuff #post-body.columns-2 { + margin-right: var(--big-sidebar); +} + +.post-type-frm_display #post-body.columns-2 #postbox-container-1 { + margin-right: calc(var(--big-sidebar) * -1); + width: calc(var(--big-sidebar) - 40px); +} + +.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables { + width: 100%; +} + +#frm_dyncontent .hndle, +#frm_dyncontent .handlediv { + display: none !important; +} + +.post-type-frm_display .meta-box-sortables .frm_form_nav > li > a, +.post-type-frm_display .frm_form_nav .nav-tab-active { + padding: 0 2px 5px; + line-height: 1.4; +} + +.post-type-frm_display #advanced-sortables h2.hndle, +.post-type-frm_display #side-sortables h2.hndle, +.post-type-frm_display #normal-sortables h2.hndle { + border-bottom: 1px solid var(--grey-300); + margin: 10px 0 0 !important; + padding: 0 25px 8px; +} + +.post-type-frm_display #side-sortables h2.hndle { + margin-top: 0 !important; + padding-top: 10px; +} + +.post-type-frm_display #post-body-content { + margin-top: var(--gap-lg); +} + +.post-type-frm_display.edit-php #wpbody-content > .wrap { + margin: 0; +} + +.post-type-frm_display .postbox .hndle, +.post-type-frm_display .postbox { + border-color: var(--grey-300); +} + +.post-type-frm_display #postbox-container-1 .postbox, +.post-type-frm_display #postbox-container-2 .postbox { + border-radius: var(--small-radius); + border-color: var(--grey-300); + box-shadow: none; +} + +.post-type-frm_display #side-sortables .postbox { + border-radius: 0; + border-top-width: 0; + margin-bottom: 0; +} + +.post-type-frm_display #side-sortables .misc-pub-section { + padding: 15px 20px 10px; +} + +/** + * View Page Admin Icons + */ +.post-type-frm_display .misc-pub-section .frmsvg, +.post-type-frm_display #post-body .misc-pub-post-status::before, +.post-type-frm_display #post-body #visibility::before, +.post-type-frm_display .curtime #timestamp::before, +.post-type-frm_display #post-body .misc-pub-revisions::before, +.post-type-frm_display span.wp-media-buttons-icon::before { + color: var(--grey); +} + +.post-type-frm_display #frm_top_bar + #poststuff #submitdiv #publishing-action, +.post-type-frm_display #frm_top_bar + #poststuff #submitdiv #minor-publishing-actions, +.post-type-frm_display #frm_top_bar + #poststuff #edit-slug-box, +.post-type-frm_display .wrap h1.wp-heading-inline, +.post-type-frm_display .wrap > .page-title-action { + display: none; +} + +/** + * View Page Admin Tabs + */ +.post-type-frm_display #poststuff h2.nav-tab-wrapper { + padding-left: 10px; + margin-bottom: 0; + padding-bottom: 0; +} + +.post-type-frm_display .nav-menus-php .wrap { + margin: 10px 0 0; +} + +.post-type-frm_display .nav-menus-php .wrap p { + padding-left: 12px; + padding-right: 12px; +} + +.post-type-frm_display .nav-tab { + display: inline-block; + background-color: #f4f4f4; +} + +.post-type-frm_display .nav-tab.frm_hidden { + display: none; +} + +.post-type-frm_display .nav-tab:hover { + background-color: #e4e4e4; +} + +/** + * Order/Where Rows + */ +.frm_order_row, +.frm_where_row { + margin-bottom: 7px; + line-height: 30px; +} + +.frm-single-settings .frm_prod_field_opt_cont { + margin-top: initial; + margin-bottom: 20px; +} + +/** + * Editor Elements + */ +/*hide elements if js is avail*/ +select.texture { + display: none; +} + +.post-type-frm_display #wp-content-editor-tools, +#wp-content-editor-tools { + background-color: transparent; +} + +.post-type-frm_display #major-publishing-actions { + border-color: var(--grey-300); + background: var(--sidebar-color); +} + +/** + * Advanced Info Panel + */ +.post-type-frm_display #frm_adv_info { + width: calc(var(--big-sidebar) - 40px); + height: calc(100vh - 32px); + overflow: hidden; +} + +.post-type-frm_display #frm_adv_info:not(.frm_fixed) { + top: 0 !important; +} + +.post-type-frm_display #frm_adv_info.frm_fixed { + position: fixed; + z-index: 9999; + top: 32px; +} + +.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover { + max-height: calc(100vh - 180px); +} + +/** + * Column Layout + */ +.frm_col_one { + margin-right: 4%; + clear: both; +} + +ul .frm_col_one { + float: left; +} + +ul .frm_col_two { + float: right; +} + +ul.frm_two_col { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: var(--gap-sm); +} + +.frm_two_col li { + margin-bottom: 0; +} + +/** + * Component: Info Modals + */ +.frm-info-modal a, +.frm-info-modal ul, +.frm-info-modal p, +.frm-info-modal, +.settings-lite-cta a, +.settings-lite-cta ul, +.settings-lite-cta { + color: var(--grey-500); + font-size: var(--text-md); + box-shadow: none !important; +} + +.frm-info-modal h3, +.settings-lite-cta h3 { + font-size: 17px !important; +} + +.frm-green-icons .frmsvg { + color: var(--green); +} + +.frm-info-modal .postbox .inside, +.settings-lite-cta .postbox .inside { + padding: var(--gap-md); + margin: 0; +} + +.cta-inside a { + color: var(--orange); +} + +.info-modal-inside a.frm-standard-link { + color: var(--primary-500); +} + +.info-modal-inside a.frm-standard-link:hover { + color: var(--primary-700); +} + +.frm_no_p_margin > p { + margin: 0; +} + +/** + * Component: Code List + */ +.frm_code_list a.button { + display: block; + text-align: center; + font-size: 11px; + overflow: hidden; +} + +#frm-navbarDrop + .frm_code_list.frm-full-hover { + margin: var(--gap-xs) 0 0; + min-width: 300px; + max-height: 256px; +} + +.frm_code_list.frm-full-hover li { + margin: 0; +} + +.frm-select-list-item, +.frm_wrap .ui-autocomplete li > div, +.multiselect-container button.multiselect-option, +.frm-dropdown-menu > .dropdown-item > a, +.frm-dropdown-menu > .dropdown-item > a:visited, +.frm-dropdown-menu > .dropdown-item > a:link, +.frm-dropdown-menu .frm_dropdown_li, +.frm_code_list.frm-full-hover a { + display: flex; + color: var(--grey-700); + padding: 5px 10px; + font-size: var(--text-md); + gap: var(--gap-xs); + align-items: center; +} + +.multiselect-container button.multiselect-option.disabled { + opacity: 0.5; +} + +.frm_code_list.frm-full-hover a span { + max-width: 83px; + margin-right: var(--gap-xs); + margin-left: auto; +} + +.frm_code_list.frm-full-hover a { + border-radius: var(--small-radius); +} +.frm_code_list.frm-full-hover a:not(#frm-insert-condition), +.frm_code_list.frm-full-hover a span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.frm_code_list.frm-full-hover a:focus span:last-child { + outline: 1px solid var(--primary-500); + outline-offset: var(--gap-2xs); +} + +.frm_code_list.frm-full-hover.frmcenter a { + display: block; +} + +#frm-layout-classes frm-full-hover a span { + max-width: 45%; +} + +.frm-select-list-item.active, +.frm-select-list-item:hover, +.frm_wrap .ui-autocomplete li div.ui-state-active, +.frm_wrap .ui-autocomplete li.ui-state-focus, +.multiselect-container button.multiselect-option.active, +.multiselect-container button.multiselect-option:hover, +.frm-dropdown-menu > .dropdown-item > a:hover, +.frm_code_list.frm-full-hover a:hover span, +.frm_code_list.frm-full-hover a:hover { + background: var(--primary-25); + color: var(--primary-500); +} + +.frm-select-list-item .frmsvg, +.frm-dropdown-menu > .dropdown-item > a .frmsvg { + opacity: 0.8; +} + +.frm-select-list-item:hover .frmsvg, +.frm-dropdown-menu > .dropdown-item > a:hover .frmsvg { + opacity: 1; +} + +.frm-dropdown-menu.frm_code_list > li > a { + padding: 3px 15px; + width: 300px; +} + +#frm_edit_box_content_modal .frm-with-search, +.frm-dropdown-menu .frm-with-search { + padding: var(--gap-xs) 10px 0; +} + +.frm-dropdown-menu .subsubsub { + padding: 0 10px; +} + +.frm_grid_container { + overflow: visible; +} + +.frm_code_list.frm_grid_container { + grid-gap: var(--gap-xs); +} + +.frm_code_list.frm_grid_container li { + width: auto; + margin: 0; +} + +.frm_code_list.frm_grid_container a { + display: block; + font-size: var(--text-md) !important; + font-weight: 500; + text-align: center; + color: var(--primary-500); + background-color: var(--light-blue); + border: 1px solid var(--primary-300); + border-radius: var(--small-radius); + padding: 10px 0; + box-shadow: var(--box-shadow-sm); +} +.frm_code_list.frm_grid_container a:hover { + background-color: var(--primary-500); + color: #fff; +} +.frm_code_list.frm_grid_container a:focus-visible { + outline: 2px solid var(--primary-500); + outline-offset: -1px; +} + +.frm-single-settings .frm_code_list.frm-full-hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover { + padding: 0; + margin: var(--gap-xs) -10px 0; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a { + font-size: var(--text-md); + color: var(--grey-900); + padding: var(--gap-xs) 12px; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span { + margin: 0; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span:first-child, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span:first-child { + max-width: 130px; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span:last-child, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span:last-child { + max-width: 120px; + margin-left: auto; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover { + font-weight: 500; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover, +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover .frmsvg, +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover span, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover .frmsvg, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover span { + color: var(--primary-500); +} + +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover { + margin: var(--gap-xs) 0 0; +} +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg { + width: 20px; + height: 20px; +} + +/** + * Component: Insert Fields + */ +.frm_field_list #frm-insert-fields { + max-height: none; + font-size: var(--text-sm); +} +.frm_field_list #frm-insert-fields .button a { + display: block; + max-width: 95%; + overflow: hidden; +} + +#frm-insert-fields { + padding: 0 var(--gap-xs); + overflow: hidden; +} +#frm-insert-fields .frm-search { + float: none; + margin: 0 0 var(--gap-md); + width: auto; +} +#frm-insert-fields li { + /* Prevents advanced fields from always appearing in search results */ +} +#frm-insert-fields li, +#frm-insert-fields li a { + text-decoration: none; + font-weight: 500; + font-size: var(--text-md) !important; + color: var(--grey-900); +} +#frm-insert-fields li.frm_show_upgrade { + cursor: pointer; + opacity: 0.5; +} +#frm-insert-fields li span:not(.frm-new-pill) { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-align: left; +} +#frm-insert-fields li a.disabled:hover { + cursor: not-allowed; +} +#frm-insert-fields li.ui-draggable-disabled { + opacity: 0.5; +} +#frm-insert-fields li a:not(.disabled):hover .frmsvg, +#frm-insert-fields li a:not(.disabled):hover i { + color: var(--grey-600); +} +#frm-insert-fields li.frm_show_upgrade, +#frm-insert-fields li a { + text-decoration: none; + display: inline-flex !important; + gap: var(--gap-xs); + align-items: center; + border-radius: var(--small-radius) !important; + padding: 11px var(--gap-md) 11px var(--gap-xs) !important; + color: var(--grey-900) !important; +} +#frm-insert-fields li a { + display: flex !important; + transition: background-color 0.2s ease-out, box-shadow 0.2s ease-out; +} +#frm-insert-fields li a:not(.disabled):hover { + background: #fff; + box-shadow: var(--box-shadow-md); +} +#frm-insert-fields li a:focus-visible { + outline: 1px solid var(--primary-500); +} +#frm-insert-fields li.frm_show_upgrade.frm_hidden { + display: none !important; +} +#frm-insert-fields .frm-with-line { + padding: 12px var(--gap-md); + font-weight: 500; + font-size: var(--text-sm); +} +#frm-insert-fields .frm-with-line::before { + margin-left: calc(-1 * var(--gap-sm)); + width: calc(100% + var(--gap-md)); +} + +.frm_code_list { + clear: both; +} +.frm_code_list.frm-full-hover a.frm_hidden, +.frm_code_list .frmkeys { + display: none; +} + +.frmsvg { + fill: currentColor; + width: 18px; + height: 18px; + vertical-align: middle; +} +.frmsvg svg { + pointer-events: none; +} +.frmsvg.frm_svg40 { + width: 40px; + height: 40px; +} +.frmsvg.frm_svg24 { + width: 24px; + height: 24px; +} +.frmsvg.frm_svg20 { + width: 20px; + height: 20px; +} +.frmsvg.frm_svg15 { + width: 15px; + height: 15px; +} +.frmsvg.frm_svg14 { + width: 14px !important; + height: 14px !important; +} +.frmsvg.frm_svg13 { + width: 13px; + height: 13px; +} +.frmsvg.frm_svg12 { + width: 12px; + height: 12px; +} +.frmsvg.frm_svg9 { + width: 9px; + height: 9px; +} +.frmsvg.frm_svg7 { + width: 7px; + height: 7px; +} + +input[disabled] { + pointer-events: none; +} + +.frmbutton.ui-sortable-helper .frmsvg, +.field_type_list li.frmbutton .frmsvg, +.frmbutton.ui-sortable-helper i, +.field_type_list li.frmbutton i, +.frm_code_list a .frmsvg, +.frm_code_list a i { + color: var(--grey-500); + display: inline-block; + vertical-align: middle; + width: var(--text-md); + font-size: var(--text-md); +} + +.field_type_list.frm_grid_container { + gap: 10px; + margin: 13px 0; +} +.field_type_list li { + margin: 0; + padding: 0; +} +.field_type_list li.frmbutton .frmsvg { + width: 24px; + height: 24px; + font-size: 24px; +} + +.frm_code_list i::before { + font-size: inherit; +} + +/* Icon while dragging */ +.frmbutton.ui-draggable-dragging { + pointer-events: none; +} +.frmbutton.ui-draggable-dragging a { + color: var(--grey-900) !important; + background: var(--grey-100); + text-decoration: none; + display: inline-flex !important; + gap: var(--gap-xs); + align-items: center; + border-radius: var(--small-radius) !important; + padding: 11px var(--gap-md) 11px var(--gap-xs) !important; + box-shadow: var(--box-shadow-md); +} + +/** + * Component: Field Dragging + */ +.frmbutton.ui-draggable-dragging a { + border: 1px solid var(--grey-300); + box-shadow: var(--box-shadow-md); +} + +.frmbutton.ui-draggable-dragging span { + font-size: 15px; +} + +#frm-show-fields .frmbutton.ui-sortable-helper i, +.frmbutton.ui-draggable-dragging i, +.frmbutton.ui-draggable-dragging .frmsvg { + color: #fff !important; +} + +.frmbutton.ui-draggable-dragging i, +.frmbutton.ui-draggable-dragging .frmsvg { + color: var(--grey-700) !important; +} + +.frm_sorting li.ui-state-default.ui-sortable-helper, +.frmbutton.ui-sortable-helper { + transition: opacity 0.2s; + opacity: 1; + position: fixed; + z-index: 99999; +} + +#frm-insert-fields .frmbutton.ui-sortable-helper a, +#frm-show-fields .frmbutton.ui-sortable-helper a { + min-width: 100px; +} + +/* End dragging */ +li.frm_noallow.button, +.frm_noallow { + opacity: 0.5; +} + +.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before, +li.frm_noallow.button.frm_show_upgrade { + cursor: pointer; +} + +.field_type_list li.frm_noallow.button.frm_show_upgrade:hover { + border-color: inherit; +} + +.frm_noallow a { + color: inherit; +} + +/** + * Component: Upgrade Modal + */ +#frm_upgrade_modal_image { + max-width: 200px; +} + +#frm_upgrade_modal .cta-inside { + display: flex; + flex-direction: column; + gap: var(--gap-sm); +} +#frm_upgrade_modal .frm-upgrade-message img { + width: 100%; + margin: var(--gap-sm) 0 10px; +} +#frm_upgrade_modal .frm-oneclick.frm_hidden { + display: none !important; +} +#frm_upgrade_modal .frm-oneclick-button { + margin-left: auto; +} +#frm_upgrade_modal .frm-upgrade-modal-actions { + flex-direction: row-reverse; + justify-content: flex-start; + margin: 0 !important; +} +#frm_upgrade_modal .frm-upgrade-link { + align-self: end; +} +#frm_upgrade_modal.frm-success .frm-circled-icon svg { + width: 24px; + height: 24px; +} +#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix, +#frm_upgrade_modal.frm-success .frm_are_not_installed { + display: none !important; +} +#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix { + display: inline !important; +} +#frm_upgrade_modal.frm-success .frm-addon-status { + margin: 0; +} +#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options { + display: flex; + gap: var(--gap-xs); + flex-direction: row-reverse; + margin: 0; +} +#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload { + margin: 0; +} + +.frm-dialog[aria-describedby=frm_upgrade_modal] { + position: fixed !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%) !important; +} + +/** + * Layout: Reports Info + */ +.frm-tab-message { + max-width: 600px; + margin: 20px auto; + color: rgba(63, 75, 91, 0.8); +} + +.frm-settings-screenshot-toolbar { + min-height: 39px; + display: flex; +} + +.frm-settings-screenshot-toolbar .frm-minmax-icon { + height: 8px; + width: 8px; + border-radius: 50%; + align-self: center; + margin-left: 10px; +} + +.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type { + margin-left: 20px; +} + +.frm-settings-screenshot-toolbar img { + object-fit: contain; + align-self: flex-end; + margin-left: 25px; +} + +.frm-settings-screenshot-toolbar + div { + background: #fff; + padding-top: 25px; + border-radius: 0 0 16px 16px; +} + +.frm-settings-screenshot-toolbar + div img { + max-width: calc(100% - 40px); +} + +.frm-settings-screenshot-wrapper { + max-width: 700px; + margin: 50px auto 0; + box-shadow: 0 4px 4px rgba(189, 196, 205, 0.25), 0 12px 56px rgba(42, 57, 75, 0.25); + border-radius: 16px; + background: #EBECF1; +} + +/** + * Component: Dialog + */ +.frm-dialog { + z-index: 100; + padding: 0 !important; + border-radius: 16px; + border: none; + background-color: #fff; + max-width: 100% !important; +} + +.frm-dialog .postbox { + background: transparent; + box-shadow: none; + border: none; + line-height: var(--leading); +} + +.frm-dialog input[type=text], +.frm-dialog textarea { + font-size: var(--text-md); +} + +.frm-dialog textarea { + height: 75px; +} + +.frm-dialog button.frm-button-primary { + margin-right: 10px; +} + +.frm-dialog .frm-sub-label, +.frm-sub-label { + color: var(--grey); + text-transform: none; + padding-left: 8px; +} + +h2 .frm-sub-label { + font-size: var(--text-md); +} + +.frm-views-editor-body .ui-widget-overlay, +.frm-white-body .ui-widget-overlay, +.toplevel_page_formidable .ui-widget-overlay, +body[class*=formidable-payments] .ui-widget-overlay, +body.plugins-php .ui-widget-overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: var(--grey-500); + opacity: 0.5; + z-index: 2; +} + +/** + * Component: Circled Icons + */ +.frm-circled-icon { + width: 60px; + height: 60px; + border-radius: 50%; + background-color: var(--primary-25); +} + +.frm-circled-icon-large { + width: 80px; + height: 80px; +} + +.frm-circled-icon-green { + background-color: var(--success-50); +} + +.frm-circled-icon .frmsvg { + width: 21px; + height: 24px; +} +.frm-circled-icon .frmsvg.frm_svg32 { + width: 32px !important; + height: 32px !important; +} + +.frm-circled-icon-large .frmsvg { + width: 24px; +} + +.frm-circled-icon .frmsvg use { + color: var(--primary-500); +} + +.frm-circled-icon-green .frmsvg use { + color: var(--success-500); +} + +.frm-border-icon { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); +} + +.frm-upgrade-message img { + max-width: 100%; +} + +/** + * Component: Link Styles + */ +a.frm-link-secondary { + color: #c4c4c4; + font-size: var(--text-sm); + text-decoration: underline; +} + +.field_type_list li.button.frm_noallow, +.field_type_list li.button.frm_noallow:hover, +.button.frm_noallow, +.button.frm_noallow:hover { + color: inherit; + border-color: #ccc; + background: inherit; +} + +iframe#dyncontent_ifr { + min-height: 150px; +} + +/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl .frm_actions_dropdown .frm_icon_font{float:right;margin-right:0;margin-left:3px}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}#frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:0;left:auto}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.rtl #frm_builder_page .frm_actions_dropdown>.frm-dropdown-menu{right:auto;left:0}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} + */ +.tooltip { + /* Copied from Bootstrap */ + position: absolute; + display: block; + margin: 0; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; + /* Custom rules */ + z-index: 9999999; + pointer-events: none; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; + margin-left: 0 !important; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.frm-dropdown-menu.show { + display: block; +} + +.frm-single-settings .frm-dropdown-menu.show { + background: #fff; +} + +/* End Bootstrap */ +.preview.dropdown .dropdown-menu { + min-width: 205px; +} + +.frm_clear { + clear: both; +} + +.frm_clearfix::after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.frm_clearfix { + display: block; +} + +.frm_admin_progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 4px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.frm_admin_progress_bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + transition: width 0.6s ease; + background-color: #04A4CC; +} + +.tooltip.frm_tooltip { + position: fixed; + top: auto !important; + bottom: 0 !important; + left: 0 !important; + max-width: none; + width: 100% !important; + z-index: 99999; +} + +.tooltip.frm_tooltip.bottom { + padding: 0; +} + +.frm_tooltip .tooltip-inner { + max-width: none; + min-height: 40px !important; + text-align: left; + box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.5); + padding: 10px 40px; + border-top-color: #ccc; + background: var(--sidebar-color); + color: var(--grey-700); + border-radius: 0; + opacity: 1; + font-size: var(--text-sm); +} + +#frm_custom_css_box { + width: 100%; +} + +/** + * Component: Admin Inputs + */ +.frmdates_add_blackout_date_link, +.frmdates_add_exception_link, +.frm_form_field.frm_scroll_box .frm_opt_container, +.frm-white-body .wrap input[type=text], +.frm-white-body .wrap input[type=search], +.frm-white-body .wrap input[type=number], +.frm-white-body .wrap select, +#frm-form-templates-modal select, +.frm-white-body .wrap textarea, +button.frm_choose_image_box, +#titlediv input[type=text], +.frm-fields button.btn, +.frm_wrap textarea, +.frm_wrap input[type=tel], +.frm_wrap input[type=text], +.frm_wrap input[type=email] .frm_wrap input[type=search], +.frm_wrap input[type=number], +.frm_wrap input[type=date], +.frm_wrap select, +.wp-admin .frm_wrap select, +.field-group textarea, +.field-group input[type=text], +.field-group select, +.frm-fields .frm-input-field { + outline: 0; + box-shadow: var(--box-shadow-xs); + border-radius: var(--small-radius); + padding: 5px 14px; + border-color: var(--grey-300); + color: var(--grey-800); + font-size: var(--text-md); + margin: 0; + background-color: #fff; + line-height: var(--leading); +} + +.frm_input_with_suffix { + border-radius: var(--small-radius); + border: 1px solid var(--grey-300); + display: inline-block; + padding-right: 14px; +} + +.frm_input_with_suffix input { + border: 0 !important; + padding-right: 5px !important; +} + +.frm_wrap ::-webkit-datetime-edit { + line-height: var(--leading); +} + +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus, +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus, +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus, +.frm_wrap input:focus, +.frm_wrap select:focus, +.wp-core-ui .frm_wrap select:focus, +#frm-form-templates-modal select:focus, +.frm-btn-group .multiselect.dropdown-toggle:focus, +.frm_wrap textarea:focus { + border-color: var(--primary-500) !important; + box-shadow: none !important; +} + +/* +Pages like Entries and Styles need the border-color and box-shadow properties without the !important flag. +To achieve this, we exclude them above and duplicate these rules specifically for those pages without using !important. +*/ +.wp-admin .frm_fields_container textarea:focus, +.wp-admin .frm_fields_container input:focus, +.wp-admin .frm_fields_container select:focus { + border-color: var(--primary-500); + box-shadow: none; +} + +#postbox-container-2 textarea, +.frm_wrap textarea, +.field-group textarea { + line-height: 2; +} + +.frm_wrap input[type=number] { + height: auto; +} + +.frm_wrap select { + padding: 2px; +} + +.wp-admin .frm_wrap select, +#frm-form-templates-modal select { + max-width: 100%; +} + +.frm_form_field.frm_scroll_box .frm_opt_container { + padding: 10px 12px; +} + +.frm_wrap input[disabled], +.frm_wrap select[disabled], +.frm_wrap textarea[disabled], +.frm_wrap input[readonly], +.frm_wrap select[readonly], +.frm_wrap textarea[readonly], +.frm_wrap input::placeholder { + color: var(--grey-500); +} + +textarea[id^=frm_calc_]::placeholder { + font-size: var(--text-sm); + line-height: var(--leading); + font-style: italic; + color: var(--grey-400); + padding-top: 5px; +} + +.frm_wrap .frm-button-primary.frm-disabled { + opacity: 0.5; + cursor: default; +} + +#postcustomstuff table td > div { + /* To override some inline css in add-on */ + padding-top: 0 !important; +} + +.wp-admin .frm_wrap .form-table select { + vertical-align: top; +} + +.frm_wrap .frm_form_builder select { + line-height: var(--leading); + height: var(--text-md); + width: 100%; +} + +#postbox-container-2 select, +.wp-admin .frm_wrap select, +.frm_wrap .frm_form_builder select, +#frm-form-templates-modal select { + height: auto; +} + +.frm-white-body .tablenav select, +.frm-white-body .tablenav input[type=text], +.wp-admin .frm_wrap .tablenav select, +.frm_wrap .tablenav input[type=date], +.frm_wrap .tablenav input[type=text] { + padding-top: 0; + padding-bottom: 0; + line-height: 1; +} + +.frm_wrap .tablenav ::-webkit-datetime-edit { + line-height: 1; +} + +.frm-fields button.btn, +.frm-fields textarea, +.frm-fields input[type=text], +.frm-fields select, +.field-group textarea, +.field-group input[type=text], +.field-group select, +.accordion-container input.hex, +.frm-fields .frm-input-field { + width: 100%; + outline: 0; +} + +.frm-fields button.btn { + height: var(--h-md); + text-align: inherit; +} + +.global-font .field-group input[type=text] { + width: auto; +} + +/** + * Component: Button Grey + */ +.wp-core-ui .frm_grey.frm-button-primary.disabled, +.wp-core-ui .frm_grey.frm-button-primary, +#frm-welcome .frm_grey { + opacity: 0.5; + background: #F6F6F6 !important; + border-color: #ddd !important; + color: #9FA5AA !important; +} + +/** + * Component: Scrollbars + */ +.windows::-webkit-scrollbar, +.windows ::-webkit-scrollbar { + width: 7px; + background: transparent; +} +.windows::-webkit-scrollbar-thumb, +.windows ::-webkit-scrollbar-thumb { + background: var(--grey-300); + -webkit-border-radius: var(--border-radius); + -webkit-box-shadow: none; +} +.windows::-webkit-scrollbar-corner, +.windows ::-webkit-scrollbar-corner { + background: transparent; +} + +.frm-scrollbar-wrapper, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list, +#frm_builder_page #frm_adv_info .frm_code_list, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div, +.frm-single-settings .frm_field_opts_list { + overflow-x: hidden; + overflow-y: auto !important; /* Enable scrolling */ + -ms-overflow-style: none; /* For IE and Edge */ + scrollbar-color: transparent transparent; /* Firefox Scrollbar - transparent by default and show on hover */ + scrollbar-width: thin; +} +.frm-scrollbar-wrapper:hover, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover, +#frm_builder_page #frm_adv_info .frm_code_list:hover, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div:hover, +.frm-single-settings .frm_field_opts_list:hover { + scrollbar-color: var(--grey-300) transparent; /* Firefox Scrollbar - Show on hover with transparent background */ +} +.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div:hover::-webkit-scrollbar-thumb, +.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb { + background: var(--grey-300); /* Show scrollbar on hover */ +} +.frm-scrollbar-wrapper::-webkit-scrollbar, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar { + width: 3px; +} +.frm-scrollbar-wrapper::-webkit-scrollbar-track, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar-track, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track { + background: transparent; /* Transparent background */ + border-radius: 100vw; /* Consistent radius with thumb */ +} +.frm-scrollbar-wrapper::-webkit-scrollbar-thumb, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar-thumb, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb { + background: transparent; + border-radius: 100vw; +} +.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover, +.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover, +#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover, +#frm_builder_page #frm_adv_info #taxonomy-linkcategory > div::-webkit-scrollbar-thumb:hover, +.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover { + background: var(--grey-300); /* Show scrollbar on hover */ +} + +/** + * Component: RTL + */ +.rtl h3 { + font-weight: inherit !important; +} + +.rtl.js .accordion-section-title::after { + left: 10px; + right: auto; +} + +.rtl #frm_top_bar #frm_bs_dropdown { + padding-left: 15px; +} + +.rtl .frm-full-close, +.rtl .frm_wrap .columns-2 .frm-right-panel + div, +.rtl .frm-right-panel { + border-left-width: 0; + border-right: 1px solid var(--grey-300); +} + +.rtl .frm-full-close { + padding-left: 0; + padding-right: var(--gap-md); +} + +.rtl .frm-text-right { + text-align: left; +} + +.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child { + border-left-width: 1px; +} + +.rtl .frm-dropdown-menu { + text-align: right; +} + +.rtl .frm_actions_dropdown .frm_icon_font { + float: right; + margin-right: 0; + margin-left: 3px; +} + +.rtl #frm-insert-fields-box, +.rtl #frm-conditionals { + padding-right: 0.9em; +} + +.rtl #html_settings .frm_field_html_box { + margin-right: 0; +} + +.rtl .frm_list_entry_page h2 { + float: right; +} + +.rtl .frm_scale { + float: right; + margin-left: 10px; + margin-right: 0; +} + +.rtl .frm-page-break .frm-collapse-page.button { + margin-left: 0; + margin-right: 46%; +} + +.rtl .frm-field-action-icons { + right: unset; + left: 2px; +} + +.rtl .frm_has_shortcodes > i { + right: auto; + left: 5px; +} + +.rtl p.frm_reply_to_container, +.rtl p.frm_bcc_cc_container { + float: left; +} + +.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg { + right: auto; + left: 0; +} + +.rtl .frm-inline-modal > a.dismiss { + left: 13px; + right: auto; +} + +.rtl.wp-admin .frm_wrap select { + padding-left: var(--gap-lg) !important; + padding-right: 5px !important; + background-position: left 11px top 55%; +} + +.rtl .frm_code_list.frm-full-hover a span { + margin-left: var(--gap-xs); +} + +.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child { + margin-left: unset; + margin-right: var(--gap-xs); +} +.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child { + margin-right: unset; + margin-left: var(--gap-xs); +} +.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline { + left: unset !important; + right: 0; +} +.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first { + right: var(--gap-xs); +} +.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last { + right: calc(-1 * var(--gap-xs)); +} + +.rtl .frm-unit-input .frm-input-group-suffix { + right: unset; + left: 1px; + padding-right: unset; + padding-left: var(--gap-xs); +} +.rtl .frm-unit-input .frm-input-group-suffix select { + text-align: left; + background-position: left 0 top 50%; + padding-left: 21px !important; +} + +/** + * Component: Clearfix + */ +span.clear { + display: block; +} + +.clearfix::after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.clearfix { + display: inline-block; +} + +/*Override styling from other plugins*/ +.frm_form_fields .clear { + height: auto; +} + +/* Hides from IE-mac \*/ +* html .clearfix { + height: 1%; +} + +.clearfix { + display: block; +} + +#frm_small_device_message_container { + display: none; +} + +/* End hide from IE-mac */ +/** + * Responsive Styles + * + * Media queries for desktop, tablet, and mobile devices + */ +@media only screen and (max-width: 1200px) { + .frm-addons { + grid-template-columns: 1fr 1fr; + } + #frm_top_bar h1 { + min-width: 0; /* Reset the min-width to prevent menu items from stacking vertically */ + } +} +@media only screen and (max-width: 1050px) { + .frm-white-body, + .frm_wrap { + --biggest-sidebar: 390px; + } + #form_settings_page .columns-2 { + margin: 0; + } + .frm_actions_list { + margin-left: 0; + } + #frm_bs_dropdown .frm_bstooltip { + /* There isn't enough room for the title on a screen this size so just hide it. */ + display: none !important; + } +} +@media only screen and (max-width: 960px) { + .frm-white-body, + .frm_wrap { + --gap-sm: 8px; + --gap-md: 16px; + --gap-2xl: 24px; + } + /* Revert settings panel gap variables to default */ + .frm-settings-panel { + --gap-sm: 16px; + --gap-md: 24px; + --gap-2xl: 32px; + } + .auto-fold #adminmenuwrap { + width: 36px; + } + .frm_wrap #postbox-container-1 #frm_adv_info { + min-width: 220px; + } + p.howto { + display: inline-block; + } + /* Fix: Issue where the admin page content had extra white space to the left on small screens */ + .auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container, + .auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container { + left: 36px; + } +} +@media only screen and (max-width: 850px) { + .frm-white-body, + .frm_wrap { + --biggest-sidebar: 350px; + --big-sidebar: 350px; + } + .frm_col_one { + clear: none; + } + .frm-fields p > .frm_inline_label, + .frm_inline_label { + display: block; + margin: 5px 0; + } + #frm_top_bar h1 { + width: auto; + max-width: 200px; + } + #frm-publishing { + width: auto; + } + #frm_form_editor_container, + .frm-entry-container { + margin: 0 20px; + } + .frm_wrap .frm-search { + float: none !important; + width: auto; + clear: both; + } + .post-type-frm_display #frm_adv_info { + top: auto !important; + position: static; + width: auto; + } + .frm_wrap .frm-right-panel #frm_adv_info, + .frm_wrap #postbox-container-1 #frm_adv_info { + min-width: 275px; + } + .frm_wrap #frm_adv_info ul.category-tabs li, + .frm_wrap #frm_adv_info ul.category-tabs li.tabs { + border: none; + } + .frm_wrap #frm_adv_info ul.category-tabs li:first-child { + margin-left: 12px; + } + .frm_wrap #frm_adv_info ul.category-tabs li.tabs { + border-bottom: 2px solid #5b9dd9; + padding-bottom: 8px; + } + .post-type-frm_display #poststuff { + padding: 10px 25px; + } + .post-type-frm_display #side-sortables .postbox { + margin-bottom: 20px; + border-radius: var(--small-radius); + border-top-width: 1px; + } + #frm_top_bar .frm_form_nav { + box-shadow: 0 -0.47px 10px 0 rgba(16, 24, 40, 0.0588235294); + } + #frm_top_bar ul.frm_form_nav { + padding: 1em 0; + position: fixed; + bottom: 0; + width: 100%; + background: white; + z-index: 99; + transform: translate(-50%, 0); + left: 50%; + } + .frm_page_container > .columns-2, + #frm_styler_wrapper { + padding-bottom: 64px; + } + #frm_style_preview .frm_floating_style_button:not(.frm_hidden) { + position: static; + display: inline-block; + } + .frm_wrap .columns-2 .frm-right-panel { + padding-bottom: 0; + } + #frm-publishing { + margin-left: auto; + } + #frm_top_bar > .frm-full-close:last-child { + margin-left: 0; + } + #frm_bs_dropdown { + display: block; + } + #frm_bs_dropdown .frm_bstooltip { + display: block !important; + } +} +@media only screen and (max-width: 782px) { + .frm-white-body, + .frm_wrap { + --small-sidebar: 20%; + --medium-sidebar: 35% ; + } + #form_settings_page .advanced_settings .form-table td, .form-table th { + display: table-cell; + width: auto !important; + } + .frm-white-body #publishing-action, + .frm_wrap #publishing-action { + line-height: normal; + } + .frm-white-body #screen-meta-links { + display: none; + } + .frm_wrap .misc-pub-section { + padding: 6px 0; + } + .frm_wrap .misc-pub-section > a { + float: none; + white-space: nowrap; + } + .frm-form-setting-tabs a { + position: relative; + padding: 10px 5px 10px 40px; + } + .frm-form-setting-tabs a .frmsvg, + .frm-form-setting-tabs a i { + position: absolute; + left: 13px; + top: calc(50% - 10px); + margin: 0; + } + #frm-insert-fields .button, + #frm-insert-fields .button a, + .frmbutton.ui-sortable-helper a { + line-height: 26px; + max-height: 28px; + } + a.frm_add_logic_link { + margin-left: 0; + margin-right: 0; + width: 100%; + box-sizing: border-box; + } + a.frm_add_logic_link:not([id^=logic_]) .frmsvg, + a.frm_add_logic_link i { + display: none; + } + #new_fields .frm_single_option select, + #new_fields .frm_single_option input[type=text] { + width: calc(100% - 83px); + } + .frm_single_entry_page .frm_form_fields input[type=text], + .frm_single_entry_page .frm_form_fields select, + .frm_single_entry_page .frm_form_fields textarea { + width: 100%; + } + .with_frm_style .frm_radio input[type=radio], + .with_frm_style .frm_checkbox input[type=checkbox] { + width: 25px !important; + } + .frm_single_entry_page .with_frm_style .frm_radio input[type=radio], + .frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox] { + width: 18px !important; + } + .wp-list-table.toplevel_page_formidable .column-entries, + .wp-list-table.toplevel_page_formidable .column-form_key, + .wp-list-table.toplevel_page_formidable .column-shortcode, + .wp-list-table.toplevel_page_formidable .column-created_at { + display: none !important; + } + .wp-list-table.toplevel_page_formidable td.column-entries, + .wp-list-table.toplevel_page_formidable td.column-form_key, + .wp-list-table.toplevel_page_formidable td.column-shortcode, + .wp-list-table.toplevel_page_formidable td.column-created_at { + padding: 3px 8px 3px 35%; + text-align: left; + } + #form_entries_page .wp-list-table th.frm_hidden, + #form_entries_page .wp-list-table td.frm_hidden { + display: none !important; + } + .frm-white-body.auto-fold #wpcontent { + padding-left: 0; + } + .frm_right_addon .frm_remove_field { + bottom: 11px; + } + .frm-addons { + grid-template-columns: 1fr; + } + .frm-admin-page-styles .frm_page_container, + .frm_wrap .frm_page_container { + left: 0 !important; + } + .frm_single_entry_page.frm_wrap .columns-2 { + display: block; + border-bottom: none; + } + .frm_single_entry_page .wrap.frm-with-margin { + margin: 10px 20px; + } + .frm_single_entry_page #post-body-content + .frm-right-panel { + width: auto; + margin: 0 20px; + border: 1px solid var(--sidebar-hover); + border-radius: 6px; + } + #wp-content-media-buttons a.frm_insert_form { + padding: 0 var(--gap-sm); + } + .frm-white-body input[type=checkbox]:checked::before, + .frm_wrap input[type=checkbox]:checked::before { + width: 1.2rem; + height: 1.2rem; + } +} +@media only screen and (max-width: 700px) { + .frm-white-body, + .frm_wrap { + --biggest-sidebar: 50%; + --big-sidebar: 50%; + } +} +@media only screen and (max-width: 600px) { + .frm-white-body, + .frm_wrap { + --small-sidebar: 45px; + } + .frm-form-setting-tabs a { + visibility: collapse; + font-size: 0; + padding: 0 var(--gap-sm); + } + .frm-form-setting-tabs a .frmsvg, + .frm-form-setting-tabs a i { + visibility: visible; + position: initial; + font-size: 18px; + } + #frm_builder_page #frm-insert-fields { + padding: 0; + } + .frm_wrap #frm_adv_info ul.category-tabs li { + display: inline-block; + padding: 0; + margin: 2px 0; + border-bottom: 2px solid transparent; + } + .frm_wrap #frm_adv_info ul.category-tabs li.tabs, + .frm_wrap #frm_adv_info ul.category-tabs li:first-child { + margin-left: 0; + padding: 0; + } + .field_type_list li { + text-align: center; + } + #frm-insert-fields li a { + padding: 5px; + } + #frm_form_editor_container .frm_primary_label { + clear: both; + } + #frm_builder_page .frm_code_list a.button { + padding: 2px; + } + #frm_builder_page .frm_actions_dropdown > .frm-dropdown-menu { + right: 0; + left: auto; + } + .frm-right-panel h3.accordion-section-title { + padding-right: 10px; + padding-left: 10px; + font-size: 20px; + white-space: nowrap; + overflow: hidden; + } + .frm-right-panel .accordion-section-title::before { + margin-left: 0; + margin-right: 3px; + } + .rtl #frm_builder_page .frm_actions_dropdown > .frm-dropdown-menu { + right: auto; + left: 0; + } + .frm_on_submit_type svg { + display: none; + } +} +@media only screen and (max-width: 475px) { + #frm_bs_dropdown { + float: none; + } + #frm-nav-tabs { + padding: 0; + white-space: nowrap; + } + #frm-nav-tabs a { + margin-right: 0; + } + #frm_small_device_message_container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + position: fixed; + top: 0; + width: 100%; + height: 100%; + z-index: 999999; + background: var(--primary-500); + } + #frm_small_device_message { + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + width: 80%; + padding: 1rem; + background: #fff; + border: solid 1px #fff; + border-radius: var(--medium-radius); + } + #frm_small_device_message::before { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-78%, -65%); + width: 900px; + height: 900px; + background-color: #0D7DFC; + border-radius: 50%; + z-index: -1; + opacity: 0.3; + } + #frm_small_device_message > svg { + padding-bottom: 1rem; + } + .toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter, + .post-type-frm_display:has(#frm_small_device_message_container) #posts-filter { + display: none; + } +} +@media print { + a, .misc-pub-section a { + color: #000 !important; + } + .add-new-h2, #frm_top_bar, .dashicons, + #adminmenuwrap, #adminmenuback, #wphead, #button_bar, #submitdiv, .button-secondary, + #screen-metas, #screen-meta-links, #footer, #wpfooter, .inner-sidebar, .frm_form_nav, + .frm_flash_graph, .frm_no_print, object, .error { + visibility: hidden; + display: none !important; + } + .widget, .postbox, .stuffbox, .postbox h3 { + border-width: 0 !important; + border-color: #fff; + } + .postbox { + background: #fff !important; + border: none; + position: static; + } + .postbox h3, .postbox h4 { + background: #fff !important; + } + #wpbody-content { + float: none; + } + #wpcontent, #post-body-content, + .has-right-sidebar #post-body, + #poststuff .columns-2 { + margin: 0 !important; + } + .frm_wrap #poststuff .columns-2 { + display: block; + } + #post-body-content + .frm-right-panel, + .frm_wrap .columns-2 .frm-right-panel, + .frm-right-panel { + border: none; + width: auto; + display: block; + padding: 20px; + } + .frm_wrap .columns-2, + .frm_wrap .frm_page_container { + height: auto; + display: block; + } + .misc-pub-section > span { + padding: 0; + } + .frm-right-panel .postbox .inside { + padding-left: 12px; + padding-right: 12px; + } + .curtime #timestamp::before { + display: none; + content: none !important; + } + .frm_charts .alignleft { + float: none; + } + .pg_odd, .pg_even { + page-break-inside: avoid; + max-width: 600px; + } + .form-table td, .form-table th { + padding: 0; + } + .frm_file_container a { + display: block; + width: 100%; + } +} +/** + * Extended Components + * + * Additional components loaded after the main layout + */ +/** + * Layout: Publishing + */ +.frm-admin-page-styles #frm-publishing #save_menu_header, +.frm-admin-page-styles2 #frm-publishing #save_menu_header { + display: inline-block; +} + +/* Change the order of subfields of the Name field in the backend */ +.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first { + order: 2; +} + +.frm-video-wrapper iframe { + width: 100%; + max-width: 843px; + border-radius: var(--border-radius); +} + +/** + * Field group popup and related functionality + */ +#frm_field_group_popup { + position: absolute; + top: 0; + right: 0; + width: 366px; + max-height: 231px; + border-radius: 8px; + background: #fff; + box-shadow: 0 20px 48px rgba(40, 47, 54, 0.15); + z-index: 3; + box-sizing: border-box; + padding: 24px 0; + text-align: left; +} + +.rtl #frm_field_group_popup { + text-align: right; +} + +.frm-merge-fields-into-row #frm_field_group_popup { + top: unset; + bottom: 50px; + height: 196px; +} + +#frm_field_group_popup > hr { + margin: 12px 0; +} + +#frm_field_group_popup .frm-cancel-custom-field-group-layout, +#frm_field_group_popup .frm-save-custom-field-group-layout { + padding: 4px 18px; +} + +#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover { + border-color: var(--primary-500) !important; + color: var(--primary-500); + background-color: transparent !important; +} + +.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group { + display: none; +} + +.frm-merge-fields-into-row > a { + color: rgba(40, 47, 54, 0.85); + position: relative; + top: 2px; +} + +.frm-row-layout-title { + font-weight: 600; + font-size: 11px; + line-height: 15px; + text-transform: uppercase; + color: rgba(40, 47, 54, 0.45); + margin-bottom: 27px; +} + +.frm-row-layout-option { + background: #F6F7FB; + box-sizing: border-box; + border-radius: 2px; + padding: 15px 10px; +} + +#frm_field_group_popup .frm-row-layout-option .frm_grid_container { + grid-gap: 0 5%; + grid-template-columns: repeat(12, auto); +} + +#frm_field_group_popup .frm-row-layout-option { + cursor: pointer; + border: 2px solid transparent; +} + +#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout, +#frm_field_group_popup .frm-row-layout-option:hover { + border-color: var(--primary-500); +} + +.frm-custom-field-group-layout, +.frm-break-field-group { + padding: 4px 24px; + cursor: pointer; + font-size: var(--text-sm); + line-height: 19px; + color: rgb(72, 78, 84); +} + +.frm-custom-field-group-layout:hover, +.frm-break-field-group:hover { + background-color: rgba(245, 245, 245, 0.9607843137); +} + +.frm-custom-field-group-layout svg, +.frm-break-field-group svg { + margin-right: 5px; +} + +/** + * Field multiselect popup + */ +#frm_field_multiselect_popup { + background: white; + height: 48px; + position: fixed; + border-radius: 4px; + box-shadow: 0 8px 24px rgba(40, 47, 54, 0.15); + color: rgba(40, 47, 54, 0.85); + font-size: 13px; + right: 30px; + bottom: 10px; + z-index: 2; +} + +#frm_field_multiselect_popup > div { + display: inline-block; + line-height: 48px; + vertical-align: top; +} + +#frm_field_multiselect_popup.frm-unmergable > .frm-merge-fields-into-row, +#frm_field_multiselect_popup.frm-unmergable > .frm-multiselect-popup-separator { + display: none; +} + +#frm_field_multiselect_popup > div:not(.frm-multiselect-popup-separator) { + padding: 0 20px; + cursor: pointer; +} + +#frm_field_multiselect_popup > div:not(.frm-multiselect-popup-separator):hover { + background: rgba(245, 245, 245, 0.9607843137); +} + +.frm-builder-popup-heading { + font-weight: 600; + font-size: 11px; + line-height: 15px; + text-transform: uppercase; + color: rgba(40, 47, 54, 0.45); + margin-bottom: 7px; +} + +.frm-builder-popup-subheading { + font-size: 12px; + line-height: 16px; + color: rgba(40, 47, 54, 0.45); +} + +#frm_field_group_popup input[type=text] { + height: 30px; + border-radius: 3px; + font-size: 14px; + padding: 8px; + color: rgb(84, 95, 110); + border-color: rgba(40, 47, 54, 0.2); +} + +.frm-multiselect-popup-separator { + height: 36px; + width: 1px; + position: relative; + top: 6px; + background: #C4C4C4; +} + +.frm-sortable-helper, +.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider) { + pointer-events: none; +} + +.frm-sortable-helper { + /* Make sure the item being dragged appears above other form builder fields */ + z-index: 99; +} + +/** + * Component: Banner Notification + */ +#frm_banner { + width: 100%; + color: #fff; + background: var(--primary-500); + height: 40px; + line-height: 40px; + text-align: center; + position: relative; +} + +.frm-banner-emoji { + font-size: 19px; +} + +.frm-banner-emoji, +.frm-banner-title { + margin-right: 5px; + vertical-align: top; +} + +.frm-banner-cta a { + text-decoration: underline !important; +} + +#frm_banner .frm-banner-cta a.frm_inbox_dismiss { + display: none; +} + +.frm-banner-dismiss { + cursor: pointer; + position: absolute; + right: 10px; + top: 50%; + transform: translateY(-50%); +} + +.frm-banner-dismiss .frmsvg { + vertical-align: top; +} + +/** + * Ready-made solution styles + */ +.frm-ready-made-solution:not(.frm-search-result) { + display: none !important; +} + +#frm_leave_email_wrapper .frmsvg { + top: 0; +} + +#frm-add-my-email-address { + margin-top: 30px; +} + +.frm-ready-made-solution h3 ~ a { + color: var(--primary-500); +} + +.frm-ready-made-solution img { + max-width: 100%; + display: block; + box-shadow: var(--box-shadow-lg); +} + +/** + * Component: On Submit Action + */ +.frm_single_on_submit_settings .frm_form_field { + margin: 22px 0; +} + +.frm_on_submit_type_setting { + padding: 8px 0; +} + +.frm_on_submit_type label { + display: flex; + border: 1px solid var(--grey-border); + border-radius: var(--small-radius); + gap: 16px; + padding: 16px; + align-items: center; + justify-content: center; +} + +.frm_on_submit_type input { + opacity: 0 !important; + position: absolute; + z-index: -1; +} + +.frm_on_submit_type input[type=radio]:checked + label { + border-color: var(--primary-color); + box-shadow: 0 0 0 1px var(--primary-color); +} + +#form_settings_page .frm_on_submit_type label:hover, +.frm_on_submit_type input[type=radio]:checked + label svg { + color: var(--primary-color); +} + +/** + * Component: Call-to-Action + */ +.frm_pro_tip, +.frm-cta { + justify-content: space-between; + align-items: center; + gap: var(--gap-2xl); + padding: var(--gap-xs) var(--gap-sm); + border-radius: var(--small-radius); + background: var(--primary-25); +} + +.frm-cta.frm-cta-border { + border: 1px solid var(--primary-200); +} + +.frm-cta.frm-cta-border .frm-cta-footer { + background-color: #fff; + padding: 12px var(--gap-sm); + border-top: 1px solid var(--primary-200); + border-bottom-left-radius: var(--small-radius); + border-bottom-right-radius: var(--small-radius); + margin-top: 12px; + margin-bottom: calc(-1 * var(--gap-sm)); + margin-left: calc(-1 * var(--gap-sm)); + margin-right: calc(-1 * var(--gap-sm)); +} + +.frm-cta h4 { + font-weight: 600; + margin-top: 0; + margin-bottom: var(--gap-2xs); +} + +.frm-cta-green { + background-color: var(--success-25); +} + +.frm-cta-green .frm-banner-title { + gap: calc(var(--gap-2xs) + 1px); + color: var(--grey-700); +} + +.frm-cta-green.frm-cta-border { + border-color: var(--success-100); +} + +.frm-cta-green.frm-cta-border .frm-cta-footer { + border-color: var(--success-100); +} + +.frm-cta-red { + background-color: var(--error-25); +} + +.frm-cta-red.frm-cta-border { + border-color: var(--error-100); +} + +.frm-cta-icon { + padding: 3px 15px 3px 0; + border-right: 1px solid currentColor; +} + +#frm-upgrade-banner { + gap: 0; +} + +#frm-upgrade-banner .frm-cta-icon + .frm-cta-content { + margin-right: auto; + padding-left: 15px; +} + +#frm-upgrade-banner.frm-gradient h4, +#frm-upgrade-banner.frm-gradient p { + color: currentColor; +} + +#frm-upgrade-banner.frm-gradient h4 { + font-size: 16px; + font-weight: 600; +} + +#frm-upgrade-banner.frm-gradient p { + font-size: 14px; +} + +.frm-right-panel .inside .frm_pro_tip, +.frm_pro_tip { + color: var(--grey-700); + background: #FFE7DE; + margin: 0 auto; + display: flex; + gap: var(--gap-xs); +} + +.frm_field_list .frm_pro_tip { + margin: 10px 15px; + position: relative; + width: calc(100% - 30px); + box-sizing: border-box; + font-size: 14px; +} + +.frm_pro_tip .frmsvg, +.frm_pro_tip i { + color: var(--orange); +} + +.frm-tip-info { + flex: 1; + text-align: left; +} + +.frm-tip-cta { + color: var(--orange); +} + +.frm-gradient .frm-tip-cta, +.frm-light-tip .frm-gradient .frm-tip-cta { + color: currentColor; + font-weight: 700; +} + +.frm-tip-badge { + font-size: 9px; + font-weight: 700; + text-transform: uppercase; + color: #1E63D5; + background-color: #fff; + line-height: 1; + border-radius: 4px; + padding: 3px 4px; +} + +.frm-light-tip .frm_pro_tip { + background: var(--primary-25); +} + +.frm-light-tip .frm_pro_tip .frmsvg, +.frm-light-tip .frm_pro_tip i, +.frm-light-tip .frm-tip-cta { + color: var(--primary-500); +} + +.nav-tab-wrapper .frm_pro_tip { + float: right; +} + +/** + * Component: Form Templates Modal + */ +/* Start confirm and form templates modals */ +#frm-form-templates-modal textarea { + height: 108px; +} + +#frm-form-templates-modal .frm-fields button.btn { + border-color: var(--grey-300); + color: var(--grey-900); + cursor: pointer; +} + +#frm-form-templates-modal .frm-fields button.btn .frmsvg { + color: var(--grey-400); + width: 14px; + height: 14px; +} + +#frm-form-templates-modal .frm-form-templates-modal-fieldset { + position: relative; +} + +#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg { + padding: 0; + top: 0; + left: 13px; +} + +/* Fixes pro issue #3508, prevent a conflict that hides the postbox in modal */ +#frm-form-templates-modal .postbox { + display: block !important; +} + +/* Leave email modal */ +#frm_empty_inbox #frm-leave-email-modal { + margin-top: var(--gap-2xl); +} + +/* Name your form modal */ +#frm-name-your-form-modal .frm_modal_top { + padding-top: var(--gap-sm); +} + +/* End confirm and form templates modals */ +/** + * Component: Field Group Message + */ +#frm-field-group-message { + position: absolute; + bottom: 32px; + right: calc(50% - var(--biggest-sidebar)); + padding: var(--gap-xs) var(--gap-sm); + border-radius: 100px; + background-color: var(--primary-25); +} + +#frm-field-group-message .frm-field-group-message-text { + gap: 10px; + color: var(--grey-800); +} + +#frm-field-group-message-dismiss { + margin-left: var(--gap-xs); +} + +#frm-field-group-message-dismiss .frmsvg { + color: var(--grey-800); + width: 15px; + height: 15px; + cursor: pointer; + transition: color 300ms ease-in-out; +} + +#frm-field-group-message-dismiss .frmsvg:hover { + color: var(--grey-500); +} + +/** + * Component - Card Item + */ +.frm-card-item { + display: flex; + border: 1px solid var(--grey-200); + border-radius: var(--small-radius); + padding: var(--gap-sm); + box-shadow: var(--box-shadow-xs); + background: #FFF; +} + +.frm-card-item:not(.frm-counter-card) { + gap: 10px; +} + +.frm-compact-card-item { + padding: var(--gap-sm) 35px 10px 35px; +} + +.frm-card-bottom { + background-color: var(--grey-50); + margin-left: calc(var(--gap-sm) * -1); + margin-bottom: calc(var(--gap-sm) * -1); + margin-right: calc(var(--gap-sm) * -1); + padding: var(--gap-sm); + border-radius: 0 0 var(--small-radius) var(--small-radius); +} + +/** + * Component: Pirate Forms Importer + */ +#welcome-panel:has(#frm_form_pf_importer) { + background-color: #fff; + margin: var(--gap-sm) var(--gap-md) var(--gap-md); + line-height: 2; +} + +#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content { + text-align: start !important; + min-height: unset; + display: block; +} + +#frm_form_pf_importer div { + margin: 10px 0 !important; +} + +#frm_form_pf_importer button { + border: 1px solid var(--primary-500); + padding: 7px 16px; + min-height: 28px; + line-height: var(--leading); + margin-bottom: 0; + background: var(--primary-500); + color: #fff !important; +} + +#frm_form_pf_importer button:hover { + background: #135e96; + border-color: #135e96; +} + +/** + * Component: Option Box + */ +.frm-option-box { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 14px; + font-weight: 500; + background-color: #fff; + padding: 12px var(--gap-sm); + border: 1px solid var(--grey-200); + border-radius: var(--small-radius); + margin-bottom: var(--gap-xs); + transition: background-color 100ms ease-out; + cursor: pointer; +} + +.frm-option-box:hover { + background-color: var(--grey-25); +} + +.frm-option-box.frm-checked { + background-color: var(--primary-25); + border-color: var(--primary-200); +} + +.frm-option-box.frm-disabled { + cursor: default; +} + +.frm-option-box input[type=checkbox] { + margin: 0; +} + +.frm-option-box.frm-disabled input[type=checkbox] { + opacity: 0.5; +} + +.frm-option-box .frm_help .frmsvg { + width: 12px; + height: 12px; +} + +/** + * Component: Validation Error + */ +.frm-validation-error:not(.frm_hidden) { + display: flex; +} + +.frm-validation-error { + gap: calc(var(--gap-xs) + var(--gap-2xs)); +} + +.frm-validation-error span { + color: var(--error-500); +} + +.frm-validation-error span[frm-error] { + display: none; +} + +.frm-validation-error[frm-error=empty] span[frm-error=empty], +.frm-validation-error[frm-error=invalid] span[frm-error=invalid], +.frm-validation-error[frm-error=custom] span[frm-error=custom] { + display: inline-block; +} + +/** + * Utility: Box + */ +.frm-box { + padding: var(--gap-sm); + border: 1px solid var(--grey-200); + border-radius: var(--small-radius); +} + +/** + * External Link styles + */ +.frm-link-with-external-icon { + display: flex; + align-items: center; + gap: var(--gap-2xs); + font-size: var(--text-xs); +} + +.frm-link-with-external-icon .frmsvg { + width: 16px; + height: 16px; + transform: rotate(45deg); +} + +/** + * Page Skeleton + * + * Manages the layout and appearance of the page's content area. + */ +/* Core Styles for the Page */ +#wpbody-content .frm-page-skeleton { + /* Sidebar Styles */ + /* Scrollbar */ + /* Search */ +} +#wpbody-content .frm-page-skeleton ul, +#wpbody-content .frm-page-skeleton li { + margin: 0; +} +#wpbody-content .frm-page-skeleton .frm-right-panel { + padding: 2px; + overflow-y: initial; +} +#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper { + padding: var(--gap-md) var(--gap-sm); +} +#wpbody-content .frm-page-skeleton .frm-search { + float: none; + padding: 0 var(--gap-2xs); +} +#wpbody-content .frm-page-skeleton .frm-search > svg { + left: var(--gap-2xs); +} +#wpbody-content .frm-page-skeleton .frm-search > input { + width: 100%; +} + +/* Categories */ +.frm-page-skeleton-cat { + cursor: pointer; + padding: var(--gap-xs); + border-radius: var(--small-radius); + background-color: transparent; + transition: background-color 250ms ease-out; +} +.frm-page-skeleton-cat:hover { + background-color: var(--grey-100); +} +.frm-page-skeleton-cat > * { + z-index: 2; +} + +.frm-page-skeleton-cat-text { + color: var(--grey-900); + text-transform: capitalize; +} + +.frm-page-skeleton-cat-count { + color: var(--grey-400); +} + +.frm-current .frm-page-skeleton-cat-text, +.frm-current .frm-page-skeleton-cat-count { + color: var(--primary-500); +} + +/* Page Content Styles */ +.frm-list-grid-layout { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(303px, 1fr)); + grid-auto-rows: max-content; + gap: var(--gap-sm); +} +.frm-list-grid-layout > * { + grid-column: span 1; +} + +/* Empty State Styles */ +#frm-page-skeleton-empty-state { + height: 100%; + margin-top: calc(-1 * var(--gap-md)); +} +#frm-page-skeleton-empty-state .frm-page-skeleton-text { + max-width: 420px; +} + +/* Helper Classes */ +.frm-page-skeleton-divider { + border-top: 1px solid var(--grey-200); + margin: 0; +} + +/** + * Submit field styles + */ +.field_type_list .frm_tsubmit { + display: none !important; +} + +/** + * Component: Accordion Title + */ +#frm_style_sidebar .accordion-section-title::after, +#frm_view_editor_left .accordion-section-title::after { + content: ""; +} + +a[href="#square_settings"] svg.frmsvg { + width: 23px !important; + height: 22px !important; +} + +#frm_square_test_setup_modal a:focus { + box-shadow: none !important; +} + +@media only screen and (max-width: 900px) { + #square_settings .frm_grid_container:has(.frm-card-item) { + grid-template-columns: repeat(1, 1fr); + } + #square_settings .frm-card-item + .frm-card-item { + margin-top: var(--gap-sm); + } +} +#frm_sale_banner { + display: flex; + height: 90px; + flex-direction: row; + align-items: center; + gap: var(--gap-sm); + cursor: pointer; + position: relative; +} +#frm_sale_banner > div:first-child { + align-self: flex-end; + width: 150px; + height: 100%; + display: flex; + justify-content: center; +} +#frm_sale_banner > div:first-child img { + align-self: center; +} +#frm_sale_banner > div:nth-child(3) { + margin-left: auto; + margin-right: 50px; +} +#frm_sale_banner > div:nth-child(2) > div:last-child { + opacity: 0.8; +} +#frm_sale_banner a:not(.dismiss) { + text-shadow: none; + border-radius: 30px; + border: 1px transparent; + font-size: var(--text-sm); + padding: 7px 16px; + height: auto; + min-height: 28px; + outline: none; + line-height: var(--leading); + box-sizing: border-box; + margin-bottom: 0; + display: inline-block; + font-weight: 700; + background-color: #fff; + color: #000; +} +#frm_sale_banner .dismiss { + position: absolute; + color: #fff; + opacity: 0.6; + right: 15px; + top: 10px; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"] { + background-color: #F0F0F0 !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"] { + background-color: #E6470F !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"] { + background-color: #ED1D34 !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"] { + background-color: #3E041A !important; +} +#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"] { + background-color: #362630 !important; +} + +.frm-get-free-templates-banner { + flex-grow: 1; +} +.frm-get-free-templates-banner .frm-banner-image-wrapper { + display: flex; + justify-content: center; + align-items: flex-end; + background-color: var(--primary-25); + padding: 19px 14px 0; + border-radius: var(--small-radius); +} +.frm-get-free-templates-banner[data-direction=vertical] { + flex-direction: column; + align-items: stretch; + gap: 12px; +} +.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content { + align-items: center; + text-align: center; +} + +/** + * Backwards Compatibility + */ +.frm-lookup-box-label { + display: none; +} + +.frm-inline-modal[id^=frm-lookup-box] { + background-color: transparent; + border: 0; + box-shadow: none; +} +.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs, +.frm-inline-modal[id^=frm-lookup-box] .dismiss { + display: none; +} + +.frm_single_option a.frm_remove_tag svg, +.frm_single_option a.frm_add_opt svg { + width: 15px; + height: 15px; +} + +#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame { + margin-left: 12px; +} + +/*# sourceMappingURL=frm_admin.css.map*/ \ No newline at end of file diff --git a/css/frm_testing_mode.css b/css/frm_testing_mode.css index 74be79ddd9..86333379cc 100644 --- a/css/frm_testing_mode.css +++ b/css/frm_testing_mode.css @@ -1,3 +1,2851 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! +/*!********************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/test-mode/frm_testing_mode.scss ***! + \********************************************************************************************************************************************************************************************************************************************/ +/** + * Base - Variables + */ +:root, +.frm-white-body, +.frm_wrap { + --grey-900: #101828; + --grey-800: #1D2939; + --grey-700: #344054; + --grey-600: #475467; + --grey-500: #667085; /* Roughly 65% opacity */ + --grey-400: #98A2B3; + --grey-300: #D0D5DD; + --grey-200: #EAECF0; + --grey-100: #F2F4F7; + --grey-50: #F9FAFB; + --grey-25: #FCFCFD; + --dark-grey: var(--grey-700); /* Deprecated */ + --medium-grey: rgba(40, 47, 54, .65); + --grey: var(--grey-500); /* Deprecated */ + --grey-border: var(--grey-300); /* Deprecated */ + --lightest-grey: rgb(250, 250, 250); + --sidebar-color: var(--grey-50); + --sidebar-hover: var(--grey-200); + --primary-700: #2B66A9; + --primary-500: #4199FD; + --primary-300: #80BBFE; + --primary-200: #C0DDFE; + --primary-50: #ECF5FF; + --primary-25: #F5FAFF; + --primary-color: var(--primary-500); /* Deprecated */ + --primary-hover: var(--primary-700); /* Deprecated */ + --light-blue: var(--primary-25); /* Deprecated */ + --blue-border: rgb(188, 224, 253); + --error-700: #B42318; + --error-500: #F04438; + --error-300: #FECDCA; + --error-100: #FEE4E2; + --error-25: #FFF5F4; + --green: rgb(63, 172, 37); + --orange: #F15A24; + --warning-500: #F79009; + --pink: rgb(226, 42, 110); + --purple: rgb(141, 53, 245); + --success-900: #054F31; + --success-800: #065F46; + --success-500: #12b76a; + --success-100: #D1FAE5; + --success-200: #A6F4C5; + --success-50: #ECFDF3; + --success-25: #f6fef9; + --border-radius: 35px; + --small-radius: 8px; + --medium-radius: 16px; + --small-sidebar: 275px; + --medium-sidebar: 350px; + --big-sidebar: 390px; + --biggest-sidebar: 450px; + --text-xs: 12px; + --text-sm: 14px; + --text-md: 16px; + --text-lg: 18px; + --text-xl: 20px; + --h-xs: 24px; + --h-sm: 30px; + --h-md: 36px; + --leading: 1.5; + --gap-2xs: 4px; + --gap-xs: 8px; + --gap-sm: 16px; + --gap-md: 24px; + --gap-lg: 32px; + --gap-xl: 40px; + --gap-2xl: 48px; + --box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05); + --box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); + --box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03); + --box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18); + --button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1); + /* Override front-end CSS */ + --check-label-color: var(--grey-700); +} + +/** + * Toggle Components + * + * These are the styles for the "Enable Formidable styling" toggle in the visual styler. + * To use this element, you can call the FrmHtmlHelper::toggle function. + */ +.frm_toggle_opt { + padding: 0; + white-space: normal; + display: inline; + vertical-align: middle; + font-weight: 400; +} + +.frm_on_label, +.frm_off_label { + color: var(--grey-700); +} + +.frm_toggle { + position: relative; + display: inline-block; + width: 40px; + height: var(--h-xs); + vertical-align: middle; +} + +.frm_toggle_block { + display: inline-flex !important; + gap: var(--gap-xs); + align-items: center; +} + +.frm_toggle input, +.frm_toggle_block input { + display: none !important; +} + +.frm_toggle_slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: var(--grey-200); + transition: 0.4s; + border-radius: 30px; +} + +.frm_toggle_slider::before { + box-sizing: border-box; + content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E"); + position: absolute; + left: 2px; + bottom: 2px; + display: flex; + align-items: center; + justify-content: center; + width: 20px; + height: 20px; + font-size: 20px; + line-height: 20px; + background-color: #fff; + border-radius: 50%; + transition: 0.4s; + box-shadow: var(--box-shadow-md); +} + +input:checked + .frm_toggle .frm_toggle_slider { + background-color: var(--primary-500); +} + +input:focus + .frm_toggle .frm_toggle_slider { + box-shadow: var(--box-shadow-md); +} + +input:checked + .frm_toggle .frm_toggle_slider::before { + transform: translateX(16px); + content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E"); +} + +input[disabled] + .frm_toggle_slider, +input[disabled] + .frm_toggle .frm_toggle_slider { + pointer-events: none; + cursor: text; + opacity: 0.5; +} + +.frm_toggle_opt ~ .frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before { + content: "" !important; /* Don't show x/check if off label included or on builder page */ +} + +.rtl .frm_toggle_opt { + padding: 0 8px; +} + +.rtl .frm_toggle_slider::before { + left: 17px; +} + +.rtl input:checked + .frm_toggle .frm_toggle_slider::before { + transform: none !important; + left: 1px; +} + +/* Deprecated admin toggle */ +.frm_toggle_off, +.frm_toggle_on { + display: none; + color: #fff; + z-index: 999; + position: absolute; + font-size: 10px; + line-height: 20px; + left: 6px; +} + +.frm_toggle_off { + display: inline; + left: auto; + right: 5px; + color: var(--dark-grey); +} + +.frm_toggle_long { + width: 80% !important; + height: 28px; + display: inline-block !important; +} + +.frm_toggle_long .frm_toggle_slider { + background: var(--primary-700); + box-shadow: 0 0 0 2px var(--primary-700); +} + +.frm_toggle_long .frm_toggle_off, +.frm_toggle_long .frm_toggle_on { + width: 50%; + text-align: center; + font-size: 13px; + line-height: 28px; +} + +.frm_toggle_long .frm_toggle_on { + left: 0; +} + +.frm_toggle_long .frm_toggle_off { + right: 0; +} + +.frm_toggle_long .frm_toggle_slider::before { + width: 50%; + left: 0; + top: 0; + border-radius: var(--border-radius) 0 0 var(--border-radius); + height: 100%; + background-color: #fff; + color: var(--primary-color); + content: "" !important; +} + +.frm_toggle_long input:checked + .frm_toggle_slider::before { + transform: translateX(101%); + border-radius: 0 var(--border-radius) var(--border-radius) 0; +} + +input:checked + .frm_toggle_slider + .frm_toggle_on { + display: inline; +} + +input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { + display: none; +} + +.frm_toggle_long .frm_toggle_on, +.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { + display: inline; + color: var(--primary-500); + font-weight: 400; +} + +.frm_toggle_long .frm_toggle_off, +.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on { + color: #fff; + font-weight: 700; +} + +/* End toggle styling */ +/** + * Component: Admin Inputs + */ +.frmdates_add_blackout_date_link, +.frmdates_add_exception_link, +.frm_form_field.frm_scroll_box .frm_opt_container, +.frm-white-body .wrap input[type=text], +.frm-white-body .wrap input[type=search], +.frm-white-body .wrap input[type=number], +.frm-white-body .wrap select, +#frm-form-templates-modal select, +.frm-white-body .wrap textarea, +button.frm_choose_image_box, +#titlediv input[type=text], +.frm-fields button.btn, +.frm_wrap textarea, +.frm_wrap input[type=tel], +.frm_wrap input[type=text], +.frm_wrap input[type=email] .frm_wrap input[type=search], +.frm_wrap input[type=number], +.frm_wrap input[type=date], +.frm_wrap select, +.wp-admin .frm_wrap select, +.field-group textarea, +.field-group input[type=text], +.field-group select, +.frm-fields .frm-input-field { + outline: 0; + box-shadow: var(--box-shadow-xs); + border-radius: var(--small-radius); + padding: 5px 14px; + border-color: var(--grey-300); + color: var(--grey-800); + font-size: var(--text-md); + margin: 0; + background-color: #fff; + line-height: var(--leading); +} + +.frm_input_with_suffix { + border-radius: var(--small-radius); + border: 1px solid var(--grey-300); + display: inline-block; + padding-right: 14px; +} + +.frm_input_with_suffix input { + border: 0 !important; + padding-right: 5px !important; +} + +.frm_wrap ::-webkit-datetime-edit { + line-height: var(--leading); +} + +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus, +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus, +.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus, +.frm_wrap input:focus, +.frm_wrap select:focus, +.wp-core-ui .frm_wrap select:focus, +#frm-form-templates-modal select:focus, +.frm-btn-group .multiselect.dropdown-toggle:focus, +.frm_wrap textarea:focus { + border-color: var(--primary-500) !important; + box-shadow: none !important; +} + +/* +Pages like Entries and Styles need the border-color and box-shadow properties without the !important flag. +To achieve this, we exclude them above and duplicate these rules specifically for those pages without using !important. +*/ +.wp-admin .frm_fields_container textarea:focus, +.wp-admin .frm_fields_container input:focus, +.wp-admin .frm_fields_container select:focus { + border-color: var(--primary-500); + box-shadow: none; +} + +#postbox-container-2 textarea, +.frm_wrap textarea, +.field-group textarea { + line-height: 2; +} + +.frm_wrap input[type=number] { + height: auto; +} + +.frm_wrap select { + padding: 2px; +} + +.wp-admin .frm_wrap select, +#frm-form-templates-modal select { + max-width: 100%; +} + +.frm_form_field.frm_scroll_box .frm_opt_container { + padding: 10px 12px; +} + +.frm_wrap input[disabled], +.frm_wrap select[disabled], +.frm_wrap textarea[disabled], +.frm_wrap input[readonly], +.frm_wrap select[readonly], +.frm_wrap textarea[readonly], +.frm_wrap input::placeholder { + color: var(--grey-500); +} + +textarea[id^=frm_calc_]::placeholder { + font-size: var(--text-sm); + line-height: var(--leading); + font-style: italic; + color: var(--grey-400); + padding-top: 5px; +} + +.frm_wrap .frm-button-primary.frm-disabled { + opacity: 0.5; + cursor: default; +} + +#postcustomstuff table td > div { + /* To override some inline css in add-on */ + padding-top: 0 !important; +} + +.wp-admin .frm_wrap .form-table select { + vertical-align: top; +} + +.frm_wrap .frm_form_builder select { + line-height: var(--leading); + height: var(--text-md); + width: 100%; +} + +#postbox-container-2 select, +.wp-admin .frm_wrap select, +.frm_wrap .frm_form_builder select, +#frm-form-templates-modal select { + height: auto; +} + +.frm-white-body .tablenav select, +.frm-white-body .tablenav input[type=text], +.wp-admin .frm_wrap .tablenav select, +.frm_wrap .tablenav input[type=date], +.frm_wrap .tablenav input[type=text] { + padding-top: 0; + padding-bottom: 0; + line-height: 1; +} + +.frm_wrap .tablenav ::-webkit-datetime-edit { + line-height: 1; +} + +.frm-fields button.btn, +.frm-fields textarea, +.frm-fields input[type=text], +.frm-fields select, +.field-group textarea, +.field-group input[type=text], +.field-group select, +.accordion-container input.hex, +.frm-fields .frm-input-field { + width: 100%; + outline: 0; +} + +.frm-fields button.btn { + height: var(--h-md); + text-align: inherit; +} + +.global-font .field-group input[type=text] { + width: auto; +} + +/** + * Components - Button + */ +.frm_orange_button, +.frm_reverse_button { + font-size: 12px; + border: 1px solid var(--orange); + color: var(--orange); + font-weight: 600; + padding: 1px 4px; + border-radius: 4px; + background: transparent; +} + +.frm_reverse_button:hover, +.frm_reverse_button:active, +.frm_reverse_button:focus { + color: #fff; + background: var(--orange); + border: 1px solid var(--orange); +} + +.frm_reverse_button { + font-size: 1em; + transition: all 0.2s ease; +} + +.frm-button-primary, +.wp-core-ui .button-primary.frm-button-primary, +.wp-core-ui .button.frm-button-primary, +.frm-button-secondary, +.wp-core-ui .button-secondary.frm-button-secondary, +.wp-core-ui .button.frm-button-secondary, +.frm-white-body .frm-search .button, +.frm-white-body .search-box .button, +.frm-white-body .tablenav .button, +.frm_orange_button, +.toplevel_page_formidable #frm_upgrade_modal .button-primary, +.wp-core-ui.frm-white-body .button-primary, +.wp-core-ui.frm-white-body .button-secondary, +.frm-white-body .button-primary, +.frm-white-body .button-secondary, +#frm-form-button button, +.frm-form-button button, +.frm-preview-buttons button, +.frm-button-red, +.frm-button-tertiary { + text-shadow: none; + box-shadow: none; + border-radius: 30px; + border: 1px solid var(--primary-500); + font-size: var(--text-sm); + transition: all 0.2s ease; + padding: 7px 16px; + height: auto; + min-height: 28px; + outline: none; + line-height: var(--leading); + box-sizing: border-box; + font-weight: 500; + margin-bottom: 0; + display: inline-block; +} + +.frm-button-primary.frm-sharp, +.frm-button-secondary.frm-sharp { + border-radius: 12px !important; +} + +#wpcontent .frm-button-secondary.frm-button-gradient { + position: relative; + border-color: transparent !important; + background-clip: padding-box !important; +} +#wpcontent .frm-button-secondary.frm-button-gradient::before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; + margin: -1px; + border-radius: inherit; + background: linear-gradient(90deg, #129EFD 0%, #A334FD 100%); + transition: opacity 150ms ease-out; +} +#wpcontent .frm-button-secondary:hover::before { + opacity: 0.5; +} + +.no-js.wp-core-ui .frm-search .button.hide-if-no-js, +.js.wp-core-ui .frm-search .button.hide-if-js { + display: none; +} + +.frm-button-tertiary { + border-color: transparent; + color: var(--primary-500); +} + +.frm-button-tertiary:focus { + outline: none; +} + +.frm-button-tertiary.frm_loading_button::before { + border-right-color: var(--grey); + border-bottom-color: var(--grey); +} + +.frm-button-red, +.frm-button-red:focus { + --primary-color: var(--error-500); + --primary-500: var(--error-500); + --primary-700: var(--error-700); +} + +.frm-button-red:not(.frm-button-tertiary), +.frm-button-red:not(.frm-button-tertiary):focus { + color: #fff !important; +} + +.frm-white-body h2 .button, +.post-type-frm_display h2 .frm-button-primary, +.frm-white-body .tablenav .button, +.frm-button-primary.frm-button-sm, +.frm-button-secondary.frm-button-sm, +.frm-button-tertiary.frm-button-sm, +.frm-button-red.frm-button-sm { + padding: 4px 12px !important; + font-size: var(--text-xs) !important; +} + +.frm_no_style_button { + background: transparent; +} + +.frm-with-icon { + display: flex; + gap: var(--gap-xs); + align-items: center; +} + +.frm-with-icon svg { + opacity: 0.65; /* Get close to grey-500 without overriding hover colors */ +} + +.frm-with-icon.button svg { + height: var(--text-sm); + width: var(--text-sm); +} + +.frm-with-icon.frm-button-sm svg { + height: var(--text-xs); + width: var(--text-xs); +} + +.frm-white-body .button.add_media { + /* Media buttons above RTE */ + padding-left: 12px !important; + padding-right: 12px !important; + font-size: var(--text-xs); + border-radius: var(--border-radius); +} + +.wp-core-ui.frm-white-body #post-query-submit.button, +.wp-core-ui.frm-white-body .button.tablenav-pages-navspan, +.wp-core-ui.frm-white-body .button.first-page, +.wp-core-ui.frm-white-body .button.prev-page, +.wp-core-ui.frm-white-body .button.next-page, +.wp-core-ui.frm-white-body .button.last-page, +.wp-core-ui.frm-white-body .button.action { + background-color: transparent; + border-color: var(--grey-300); + color: var(--grey-700); + border-radius: var(--border-radius); +} + +.post-type-frm_display.wp-core-ui .button-primary, +.frm-button-primary, +.wp-core-ui .button-primary.frm-button-primary, +.frm_single_entry_page #frm-publishing .button-primary { + background-color: var(--primary-500) !important; + color: #fff !important; +} + +.frm-button-primary.frm_large, +.frm-button-secondary.frm_large { + height: auto !important; + padding: 12px 16px !important; +} + +.frm-button-secondary.frm-small, +.frm-button-primary.frm-small { + font-size: var(--text-xs) !important; + height: auto !important; + padding: var(--gap-2xs) 12px !important; +} + +.frm-button-primary i::before { + color: #fff; +} + +.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover, +.frm-button-primary:not([disabled]):hover { + background: var(--primary-700) !important; + border-color: var(--primary-700) !important; +} + +.wp-core-ui .button-primary.frm-button-primary:active { + vertical-align: inherit; +} + +.frm-white-body #search-submit, +#frm-form-button .frm_button_submit, +.frm-form-button .frm_button_submit, +.frm-white-body .frm-preview-buttons button, +.frm-white-body .button:not(.frm-button-primary), +.wp-core-ui.frm-white-body .button-secondary, +.wp-core-ui .button-secondary.frm-button-secondary, +.wp-core-ui .button.frm-button-secondary, +.frm-white-body .frm-button-secondary, +.frm-button-secondary { + color: var(--grey-800); + border-color: var(--grey-300); + background-color: #fff; +} + +#wp-content-media-buttons button, +#wp-content-media-buttons a.button { + border-color: var(--grey-300); +} + +.frm_orange_button { + border-color: #da791d !important; + background: var(--orange); + color: #fff; +} + +.frm-white-body .button:not(.frm-button-primary):focus, +.frm-white-body .button:not(.frm-button-primary):active, +.frm-white-body .frm-button-secondary:hover, +.wp-core-ui.frm-white-body .frm-button-secondary:hover, +.wp-core-ui.frm-white-body .button-secondary:hover, +.wp-core-ui.frm-white-body .button-secondary:focus, +.wp-core-ui.frm-white-body .tablenav .button:hover, +.frm_wrap .preview > .button:hover, +.frm-white-body #search-submit:hover { + border-color: var(--grey-300) !important; + color: var(--grey-800); + background: var(--grey-50) !important; + box-shadow: none !important; + outline: none !important; +} + +.frm-button-primary .frmsvg { + color: #fff; +} + +.frm_wrap .preview i { + font-size: inherit; +} + +.frm-white-body .frm-button-primary:focus, +.frm-white-body .frm-button-primary:active, +#frm-addons-page .button-primary:focus, +#form_global_settings .button-primary:focus, +#frm_upgrade_modal .button-primary:focus { + border-color: var(--primary-700) !important; + background-color: var(--primary-700) !important; + box-shadow: none !important; + outline: none !important; +} + +.frm_wrap .preview > .button:focus, +.frm_orange_button:hover, +.frm_orange_button:focus, +.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover, +.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus, +.toplevel_page_formidable .frm_wrap button.button-primary:hover, +.toplevel_page_formidable .frm_wrap button.button-primary:focus { + outline: none; +} + +.frm_orange_button:hover, +.frm_orange_button:focus { + border-color: var(--orange) !important; + background: transparent; + color: var(--orange); + opacity: 1; +} + +.major-publishing-actions.frm_create_form_header { + padding: 8px 0; +} + +.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner { + font-size: 15px; + background: transparent; +} + +.frm-menu-boxes .frm_blank_form_text { + padding-bottom: 26px; +} + +input.frm_insert_in_template { + font-size: 10px; + width: 98%; + font-weight: 400; +} + +.frm-dismissible a.dismiss:focus { + box-shadow: none; +} + +.frm-dismissible a.dismiss { + top: 10px; + right: 10px; + position: absolute; +} + +.frm-dismissible a.dismiss svg { + color: var(--grey-800); +} + +.frm-btn-unstyled { + font: inherit; + background: none; + border: none; + padding: 0; + cursor: pointer; + outline: inherit; +} +.frm-btn-unstyled:hover, .frm-btn-unstyled:focus, .frm-btn-unstyled:active { + text-decoration: none; + background: none; + border: none; + box-shadow: none; +} +.frm-btn-unstyled:disabled, .frm-btn-unstyled[disabled] { + pointer-events: none; + opacity: 0.65; +} + +/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm_actions_dropdown .frm-dropdown-menu{font-size:var(--text-sm);color:#5f6c72}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} + */ +.tooltip { + /* Copied from Bootstrap */ + position: absolute; + display: block; + margin: 0; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; + /* Custom rules */ + z-index: 9999999; + pointer-events: none; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; + margin-left: 0 !important; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.frm-dropdown-menu.show { + display: block; +} + +.frm-single-settings .frm-dropdown-menu.show { + background: #fff; +} + +/* End Bootstrap */ +.preview.dropdown .dropdown-menu { + min-width: 205px; +} + +.frm_clear { + clear: both; +} + +.frm_clearfix::after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.frm_clearfix { + display: block; +} + +.frm_admin_progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 4px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.frm_admin_progress_bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + transition: width 0.6s ease; + background-color: #04A4CC; +} + +.tooltip.frm_tooltip { + position: fixed; + top: auto !important; + bottom: 0 !important; + left: 0 !important; + max-width: none; + width: 100% !important; + z-index: 99999; +} + +.tooltip.frm_tooltip.bottom { + padding: 0; +} + +.frm_tooltip .tooltip-inner { + max-width: none; + min-height: 40px !important; + text-align: left; + box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.5); + padding: 10px 40px; + border-top-color: #ccc; + background: var(--sidebar-color); + color: var(--grey-700); + border-radius: 0; + opacity: 1; + font-size: var(--text-sm); +} + +#frm_custom_css_box { + width: 100%; +} + +/** + * Components - Dropdown + */ +/*Switch form dropdown*/ +h1 .fa-caret-down { + font-size: 18px; +} + +.caret { + display: inline-block; + width: 19px; + height: 9px; + margin-right: -8px; + vertical-align: middle; +} + +.caret, +.wp-admin .frm_wrap select, +.frm_wrap .frm_form_builder select, +.frm_wrap .ui-autocomplete-input { + background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%; + padding-right: var(--gap-lg) !important; +} + +.caret { + padding-right: var(--gap-xs) !important; + background-position-x: 5px; +} + +.frm-btn-group .caret { + float: right; + margin-top: calc(var(--text-md) / 2); +} + +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.frm_wrap .ui-autocomplete, +#frm_adv_info.frm-dropdown-menu, +.frm-dropdown-menu { + /* Copied from .dropdown-menu rules from Bootstrap */ + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + min-width: 10rem; + padding-left: 4px; + padding-right: 4px; + margin: var(--gap-xs) 0 0; + text-align: left; + list-style: none; + background: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid var(--grey-100); + border-radius: 0.25rem; + box-shadow: var(--box-shadow-lg); + /* Custom rules */ + max-height: 200px; + overflow-y: auto; + overflow-x: hidden; + font-size: var(--text-md); + width: auto; + min-width: 160px; +} + +.frm6 .frm-dropdown-menu { + min-width: 100px; + max-width: 99%; +} + +#frm_bs_dropdown .frm-dropdown-menu { + max-width: 400px; +} + +.field_type_list .frm-dropdown-menu { + min-width: 150px !important; +} + +#frm_field_group_controls .frm-dropdown-menu, +.frm-field-action-icons .frm-dropdown-menu { + min-width: 180px !important; +} + +.frm-field-action-icons .frm-dropdown-toggle svg, +#frm_field_group_controls .frm-dropdown-toggle svg { + color: #9EA9B8; +} + +.multiselect-container.frm-dropdown-menu, +#search-submit .frm-dropdown-menu { + min-width: 200px !important; +} + +.preview .frm-dropdown-menu { + min-width: 230px !important; +} + +.frm-dropdown-menu.dropdown-menu-right { + right: 0; + left: auto; +} + +.frm-dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.frm-dropdown-menu > .dropdown-item { + margin: 0; +} + +.frm-select-list-item, +.frm_wrap .ui-autocomplete li > div, +.multiselect-container button.multiselect-option, +.frm-dropdown-menu > .dropdown-item > a, +.frm-dropdown-menu .frm_dropdown_li { + clear: both; + font-weight: 400; + white-space: nowrap; + text-decoration: none; + border-radius: var(--small-radius); +} + +.frm-dropdown-menu > .active > a, +.frm-dropdown-menu > .active > a:hover, +.frm-dropdown-menu > .active > a:focus { + text-decoration: none; + outline: 0; +} + +.frm-select-list-item.disabled, +.frm-dropdown-menu > .disabled > a, .frm-dropdown-menu > .disabled > a:hover, .frm-dropdown-menu > .disabled > a:focus { + color: #999; +} + +.frm-select-list-item.disabled:hover, +.frm-dropdown-menu > .disabled > a:hover, +.frm-dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; +} + +.open > .frm-dropdown-menu { + display: block; +} + +.open > a { + outline: 0; +} + +.dropdown-header { + display: block; + padding: 3px 10px; + font-size: var(--text-xs); + color: var(--grey-400); +} + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} + +.dropdown-menu-right > .frm-dropdown-menu, +.pull-right > .frm-dropdown-menu { + right: 0; + left: auto; +} + +.navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000; + content: ""; +} + +.navbar-fixed-bottom .dropdown .frm-dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.btn { + border: 1px solid #ddd; + background: #fff; + height: 28px; + line-height: var(--leading); +} + +a.frm_option_icon::before { + color: var(--primary-500); + font-size: 22px; + width: 22px; + height: 22px; +} + +a.frm_option_icon:focus::before, +a.frm_option_icon:hover::before { + color: var(--primary-700); +} + +.frm_top_left .frm-dropdown-toggle { + color: #999; +} + +.frm-card ol { + margin-left: 15px; +} + +.frm-dropdown-toggle { + text-decoration: none; +} + +.frm-card .frm-dropdown-toggle { + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); + font-size: 13px; + color: var(--grey-700); + padding: 7px 20px; +} + +.frm_actions_dropdown .frm-dropdown-menu { + font-size: var(--text-sm); + color: #5F6C72; +} + +.frm-dropdown-menu .frm_icon_font { + vertical-align: middle; + color: #5F6C72; + margin-right: 3px; +} + +/* BS Multiselect */ +.multiselect-container.frm-dropdown-menu { + top: auto; + left: auto; + font-size: var(--text-sm); + padding: 4px; + margin-bottom: 3px; +} + +/** + * Components - Multiselect + */ +.multiselect-container { + position: absolute; + list-style-type: none; + margin: 0; + padding: 0; + width: 100%; + max-width: 250px; +} + +.multiselect-container button.multiselect-option { + width: 100%; + text-align: left; + border: none; + margin-bottom: 4px; +} + +.multiselect-container button.multiselect-option label { + margin-left: 5px; +} + +.accordion-container .multiselect-container label { + padding: 3px 19px 3px 7px; +} + +.frm-btn-group.btn-group > .btn-group:nth-child(2) > .multiselect.btn { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.frm-btn-group.btn-group, .frm-btn-group.btn-group-vertical { + display: block; +} + +.multiselect-option label { + max-width: calc(100% - 22px); + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +/** + * Field multiselect popup + */ +#frm_field_multiselect_popup { + background: white; + height: 48px; + position: fixed; + border-radius: 4px; + box-shadow: 0 8px 24px rgba(40, 47, 54, 0.15); + color: rgba(40, 47, 54, 0.85); + font-size: 13px; + right: 30px; + bottom: 10px; + z-index: 2; +} + +#frm_field_multiselect_popup > div { + display: inline-block; + line-height: 48px; + vertical-align: top; +} + +#frm_field_multiselect_popup.frm-unmergable > .frm-merge-fields-into-row, +#frm_field_multiselect_popup.frm-unmergable > .frm-multiselect-popup-separator { + display: none; +} + +#frm_field_multiselect_popup > div:not(.frm-multiselect-popup-separator) { + padding: 0 20px; + cursor: pointer; +} + +#frm_field_multiselect_popup > div:not(.frm-multiselect-popup-separator):hover { + background: rgba(245, 245, 245, 0.9607843137); +} + +.frm-builder-popup-heading { + font-weight: 600; + font-size: 11px; + line-height: 15px; + text-transform: uppercase; + color: rgba(40, 47, 54, 0.45); + margin-bottom: 7px; +} + +.frm-builder-popup-subheading { + font-size: 12px; + line-height: 16px; + color: rgba(40, 47, 54, 0.45); +} + +#frm_field_group_popup input[type=text] { + height: 30px; + border-radius: 3px; + font-size: 14px; + padding: 8px; + color: rgb(84, 95, 110); + border-color: rgba(40, 47, 54, 0.2); +} + +.frm-multiselect-popup-separator { + height: 36px; + width: 1px; + position: relative; + top: 6px; + background: #C4C4C4; +} + +.frm-sortable-helper, +.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider) { + pointer-events: none; +} + +.frm-sortable-helper { + /* Make sure the item being dragged appears above other form builder fields */ + z-index: 99; +} + +/** + * Component: Code List + */ +.frm_code_list a.button { + display: block; + text-align: center; + font-size: 11px; + overflow: hidden; +} + +#frm-navbarDrop + .frm_code_list.frm-full-hover { + margin: var(--gap-xs) 0 0; + min-width: 300px; + max-height: 256px; +} + +.frm_code_list.frm-full-hover li { + margin: 0; +} + +.frm-select-list-item, +.frm_wrap .ui-autocomplete li > div, +.multiselect-container button.multiselect-option, +.frm-dropdown-menu > .dropdown-item > a, +.frm-dropdown-menu > .dropdown-item > a:visited, +.frm-dropdown-menu > .dropdown-item > a:link, +.frm-dropdown-menu .frm_dropdown_li, +.frm_code_list.frm-full-hover a { + display: flex; + color: var(--grey-700); + padding: 5px 10px; + font-size: var(--text-md); + gap: var(--gap-xs); + align-items: center; +} + +.multiselect-container button.multiselect-option.disabled { + opacity: 0.5; +} + +.frm_code_list.frm-full-hover a span { + max-width: 83px; + margin-right: var(--gap-xs); + margin-left: auto; +} + +.frm_code_list.frm-full-hover a { + border-radius: var(--small-radius); +} +.frm_code_list.frm-full-hover a:not(#frm-insert-condition), +.frm_code_list.frm-full-hover a span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.frm_code_list.frm-full-hover a:focus span:last-child { + outline: 1px solid var(--primary-500); + outline-offset: var(--gap-2xs); +} + +.frm_code_list.frm-full-hover.frmcenter a { + display: block; +} + +#frm-layout-classes frm-full-hover a span { + max-width: 45%; +} + +.frm-select-list-item.active, +.frm-select-list-item:hover, +.frm_wrap .ui-autocomplete li div.ui-state-active, +.frm_wrap .ui-autocomplete li.ui-state-focus, +.multiselect-container button.multiselect-option.active, +.multiselect-container button.multiselect-option:hover, +.frm-dropdown-menu > .dropdown-item > a:hover, +.frm_code_list.frm-full-hover a:hover span, +.frm_code_list.frm-full-hover a:hover { + background: var(--primary-25); + color: var(--primary-500); +} + +.frm-select-list-item .frmsvg, +.frm-dropdown-menu > .dropdown-item > a .frmsvg { + opacity: 0.8; +} + +.frm-select-list-item:hover .frmsvg, +.frm-dropdown-menu > .dropdown-item > a:hover .frmsvg { + opacity: 1; +} + +.frm-dropdown-menu.frm_code_list > li > a { + padding: 3px 15px; + width: 300px; +} + +#frm_edit_box_content_modal .frm-with-search, +.frm-dropdown-menu .frm-with-search { + padding: var(--gap-xs) 10px 0; +} + +.frm-dropdown-menu .subsubsub { + padding: 0 10px; +} + +.frm_grid_container { + overflow: visible; +} + +.frm_code_list.frm_grid_container { + grid-gap: var(--gap-xs); +} + +.frm_code_list.frm_grid_container li { + width: auto; + margin: 0; +} + +.frm_code_list.frm_grid_container a { + display: block; + font-size: var(--text-md) !important; + font-weight: 500; + text-align: center; + color: var(--primary-500); + background-color: var(--light-blue); + border: 1px solid var(--primary-300); + border-radius: var(--small-radius); + padding: 10px 0; + box-shadow: var(--box-shadow-sm); +} +.frm_code_list.frm_grid_container a:hover { + background-color: var(--primary-500); + color: #fff; +} +.frm_code_list.frm_grid_container a:focus-visible { + outline: 2px solid var(--primary-500); + outline-offset: -1px; +} + +.frm-single-settings .frm_code_list.frm-full-hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover { + padding: 0; + margin: var(--gap-xs) -10px 0; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a { + font-size: var(--text-md); + color: var(--grey-900); + padding: var(--gap-xs) 12px; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span { + margin: 0; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span:first-child, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span:first-child { + max-width: 130px; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a span:last-child, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a span:last-child { + max-width: 120px; + margin-left: auto; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover { + font-weight: 500; +} +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover, +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover .frmsvg, +.frm-single-settings .frm_code_list.frm-full-hover > li > a:hover span, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover .frmsvg, +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover > li > a:hover span { + color: var(--primary-500); +} + +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover { + margin: var(--gap-xs) 0 0; +} +#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg { + width: 20px; + height: 20px; +} + +/** + * Accordion + */ +#post-body-content + .frm-right-panel h3.accordion-section-title { + padding: 7px 10px 8px 14px; + font-size: var(--text-md); + color: var(--grey-700); +} + +.frm-with-line, +.accordion-section-content h4 { + font-size: var(--text-md); + font-weight: 400; + margin: 20px -20px 10px; + padding: 0 20px; + color: var(--grey-700); + position: relative; + border: none !important; +} + +.frm-with-line span, +.accordion-section-content h4 span { + background: #fff; + padding: 0 var(--gap-xs); + position: relative; + display: inline-block; + z-index: 2; +} + +.accordion-section-content h4 span { + background: var(--sidebar-color); +} + +.frm-right-panel .frm-with-line span { + background: var(--sidebar-color) !important; + margin-left: -4px; +} + +.frm-right-panel .frm-inline-modal .frm-with-line span { + background: #fff !important; +} + +.frm-with-line::before, +.accordion-section-content h4::before { + content: ""; + display: block; + position: absolute; + border-bottom: 1px solid var(--grey-300); + left: 0; + width: 100%; + top: 50%; +} + +.control-section .accordion-section-title::after, +.customize-pane-child .accordion-section-title::after { + top: 15px; +} + +.accordion-container .frm-dropdown-menu { + min-width: 40px; +} + +.frm-btn-group .multiselect.dropdown-toggle { + box-sizing: border-box; + min-height: unset; + cursor: pointer; +} + +.accordion-container .frm-dropdown-menu::before, +.accordion-container .multiselect.dropdown-toggle::before { + font-family: "s11-fp" !important; +} + +/** + * Search Inputs + */ +.frm-search input[name=s], +.frm-search .dropdown-toggle, +.frm-search input.frm-search-input { + color: var(--grey-800); + border-color: var(--grey-300); + border-radius: var(--small-radius); + box-shadow: var(--box-shadow-xs); +} +.frm-search input[type=search], +.frm-search input[type=text] { + padding-left: var(--gap-lg) !important; +} +.frm-search .dropdown-toggle { + width: 100%; + float: none; + max-width: 200px; + background: transparent; + padding: 7px; + padding-left: 33px !important; + min-height: 32px; + text-align: inherit; + overflow: hidden; + text-overflow: ellipsis; +} +.frm-search #search-submit a { + color: var(--grey-800); +} +.frm-search #search-submit .caret { + opacity: 0.7; +} + +.frm-white-body .search-box input[name=s], +#wpwrap .frm-search input[type=search] { + flex: 1; + font-size: var(--text-md); + line-height: var(--text-xl); + padding: var(--gap-xs); +} + +span.multiselect-selected-text { + white-space: nowrap; + display: inline-block; + max-width: calc(90% - var(--gap-xs)); + text-overflow: ellipsis; + overflow: hidden; +} + +/** + * Component: Call-to-Action + */ +.frm_pro_tip, +.frm-cta { + justify-content: space-between; + align-items: center; + gap: var(--gap-2xl); + padding: var(--gap-xs) var(--gap-sm); + border-radius: var(--small-radius); + background: var(--primary-25); +} + +.frm-cta.frm-cta-border { + border: 1px solid var(--primary-200); +} + +.frm-cta.frm-cta-border .frm-cta-footer { + background-color: #fff; + padding: 12px var(--gap-sm); + border-top: 1px solid var(--primary-200); + border-bottom-left-radius: var(--small-radius); + border-bottom-right-radius: var(--small-radius); + margin-top: 12px; + margin-bottom: calc(-1 * var(--gap-sm)); + margin-left: calc(-1 * var(--gap-sm)); + margin-right: calc(-1 * var(--gap-sm)); +} + +.frm-cta h4 { + font-weight: 600; + margin-top: 0; + margin-bottom: var(--gap-2xs); +} + +.frm-cta-green { + background-color: var(--success-25); +} + +.frm-cta-green .frm-banner-title { + gap: calc(var(--gap-2xs) + 1px); + color: var(--grey-700); +} + +.frm-cta-green.frm-cta-border { + border-color: var(--success-100); +} + +.frm-cta-green.frm-cta-border .frm-cta-footer { + border-color: var(--success-100); +} + +.frm-cta-red { + background-color: var(--error-25); +} + +.frm-cta-red.frm-cta-border { + border-color: var(--error-100); +} + +.frm-cta-icon { + padding: 3px 15px 3px 0; + border-right: 1px solid currentColor; +} + +#frm-upgrade-banner { + gap: 0; +} + +#frm-upgrade-banner .frm-cta-icon + .frm-cta-content { + margin-right: auto; + padding-left: 15px; +} + +#frm-upgrade-banner.frm-gradient h4, +#frm-upgrade-banner.frm-gradient p { + color: currentColor; +} + +#frm-upgrade-banner.frm-gradient h4 { + font-size: 16px; + font-weight: 600; +} + +#frm-upgrade-banner.frm-gradient p { + font-size: 14px; +} + +.frm-right-panel .inside .frm_pro_tip, +.frm_pro_tip { + color: var(--grey-700); + background: #FFE7DE; + margin: 0 auto; + display: flex; + gap: var(--gap-xs); +} + +.frm_field_list .frm_pro_tip { + margin: 10px 15px; + position: relative; + width: calc(100% - 30px); + box-sizing: border-box; + font-size: 14px; +} + +.frm_pro_tip .frmsvg, +.frm_pro_tip i { + color: var(--orange); +} + +.frm-tip-info { + flex: 1; + text-align: left; +} + +.frm-tip-cta { + color: var(--orange); +} + +.frm-gradient .frm-tip-cta, +.frm-light-tip .frm-gradient .frm-tip-cta { + color: currentColor; + font-weight: 700; +} + +.frm-tip-badge { + font-size: 9px; + font-weight: 700; + text-transform: uppercase; + color: #1E63D5; + background-color: #fff; + line-height: 1; + border-radius: 4px; + padding: 3px 4px; +} + +.frm-light-tip .frm_pro_tip { + background: var(--primary-25); +} + +.frm-light-tip .frm_pro_tip .frmsvg, +.frm-light-tip .frm_pro_tip i, +.frm-light-tip .frm-tip-cta { + color: var(--primary-500); +} + +.nav-tab-wrapper .frm_pro_tip { + float: right; +} + +/** + * Components - Upgrade Bar + */ +.frm-gradient, +.frm-upgrade-bar { + background: linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important; + color: #fff !important; + border: 0 !important; +} + +.frm-gradient.frm-button-primary:not([disabled]), +.frm-gradient.frm-button-primary:not([disabled]):hover, +.frm-gradient.frm-button-primary:not([disabled]):focus { + background: linear-gradient(90deg, #1961D5, #816CFA) !important; +} + +.frm-upgrade-bar, +.frm-gradient { + position: relative; +} + +.frm-upgrade-bar::before, +.frm-gradient::before { + content: ""; + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(255, 255, 255, 0.1); + z-index: 0; +} + +.frm-upgrade-bar:hover::before, +.frm-gradient:hover::before, +.frm-gradient:focus::before { + display: block; +} + +.frm-upgrade-bar-inner, +.frm-gradient > * { + position: relative; + z-index: 1; +} + +.frm-upgrade-bar { + border-bottom: 1px solid var(--sidebar-hover); + padding: 9px 0; + font-size: 12px; + text-align: center; +} + +.frm-upgrade-bar a { + color: currentColor !important; + text-decoration: underline; +} + +.frm-upgrade-bar a:focus { + outline: 1px dotted var(--sidebar-hover); +} + +.frm-upgrade-bar span { + opacity: 0.9; +} + +/** + * Components - Message Styles + */ +.toplevel_page_formidable #wpbody-content > .error { + margin: 1px; + padding: 5px 12px; +} + +.frm_error_style, +.frm_warning_style, +.frm_note_style2, +.frm_note_style, +.frm_message, +#post-body-content .frm_updated_message, +div.frm_updated_message { + border-radius: var(--small-radius); + background-color: #D5F2DC; + color: #1E561F; + padding: var(--gap-sm) var(--gap-md); + font-size: var(--text-sm); + margin: var(--gap-sm) 0; + text-align: left; +} + +.frm_note_style2 { + background: linear-gradient(90deg, #e9effa, #fcf6fe) padding-box, linear-gradient(90deg, #1961D5, #E8ABEF) border-box; + border: 1px solid transparent; +} + +#frm_top_bar + .wrap > .frm_updated_message, #frm_top_bar + .wrap > .frm_warning_style { + display: inline-block; + width: 100%; + box-sizing: border-box; +} + +#post-body-content > .frm_updated_message { + margin: 5px 65px; +} + +#form_global_settings #post-body-content > .frm_updated_message, +#form_global_settings #post-body-content > .frm_warning_style { + margin: 5px 25px; +} + +.frm_error_style { + color: #973937; + background-color: #EBCCCC; + clear: both; +} + +.frm_error_style a { + text-decoration: underline; + font-weight: 600; +} + +.frm_error_style svg { + opacity: 0.7; +} + +.frm_warning_style { + color: #7A4D05; + background-color: #FFF2D2; +} + +.frm_warning_heading { + font-weight: 700; + margin-bottom: 4px; +} + +/* Warning message dismiss */ +.frm_warning_style { + position: relative; + padding-right: calc(var(--gap-md) + 15px); +} + +body.rtl .frm_warning_style { + padding-right: var(--gap-md); + padding-left: calc(var(--gap-md) + 15px); +} + +.frm-warning-dismiss { + position: absolute; + top: 10px; + right: 10px; + display: flex; + cursor: pointer; + transition: opacity 0.2s ease-out; +} + +body.rtl .frm-warning-dismiss { + left: 10px; + right: auto; +} + +.frm-warning-dismiss:hover { + opacity: 0.8; +} + +.frm-warning-dismiss.frmsvg, +.frm-warning-dismiss.frmsvg svg { + width: 15px; + height: 15px; +} + +.frm_note_style { + background: rgba(188, 224, 253, 0.23); + color: var(--grey-700); +} + +.frm-banner-alert { + text-align: left; + margin: 0; + border-radius: 0; + padding: 10px 0 10px 40px; +} + +.frm-banner-alert a { + color: var(--primary-500); + font-weight: 400; + text-decoration: none; +} + +.frm_updated_message ul, +.frm_updated_message li, +.frm_warning_style ul, +.frm_warning_style li, +.frm_error_style ul, +.frm_error_style li { + margin: 0; +} + +.frm-inline-message { + border: 1px solid var(--primary-700); + border-radius: var(--small-radius); + color: var(--primary-700); + background: #fff; + text-align: center; + padding: 20px; + font-size: var(--text-sm); + line-height: var(--leading); +} + +.frm-inline-message a { + text-decoration: underline; + font-weight: 600; + color: var(--primary-700); +} + +.frm_pro_heading span { + margin-top: 10px; +} + +.frm_pro_heading .alignright { + text-align: right; +} + +.frm-yes { + color: var(--green); + font-size: var(--text-xl); +} + +.frm-nope { + color: var(--grey-400); + font-size: var(--text-xl); +} + +/** + * Components - Modal + */ +.frm-modal:not(#frm-dismissable-cta) .postbox { + max-height: 600px; + overflow: hidden; + margin-bottom: 0; +} + +.frm-modal .postbox .frm_modal_top, +.frm-dialog .frm_common_modal .postbox > div:first-child, +.frm-error-modal .frm_modal_top { + padding: var(--gap-md) var(--gap-md) 0; + position: relative; +} + +.frm-modal h2, +.frm-modal .postbox .inside h2, +.frm-modal .postbox .frm-modal-title, +.frm-dialog .frm_common_modal .postbox > div:first-child > div:first-child, +.frm-error-modal .frm-modal-title { + display: inline-block; + font-size: var(--text-lg); + color: var(--grey-900); + font-weight: 600; + margin: 0; + padding: 0; +} + +.frm-modal h3 { + font-weight: 500; +} + +/* Dismiss icon button */ +.frm-inline-modal > a.dismiss, +.frm-modal .postbox > a.dismiss, +.frm-modal .postbox .frm-modal-title + div:last-child, +.frm-dialog .frm_common_modal .postbox > div:first-child > div:last-child { + position: absolute; + top: 19px; + right: 19px; + display: flex; + z-index: 2; +} + +body.rtl .frm-inline-modal > a.dismiss, +body.rtl .frm-modal .postbox > a.dismiss, +body.rtl .frm-modal .postbox .frm-modal-title + div:last-child, +body.rtl .frm-dialog .frm_common_modal .postbox > div:first-child > div:last-child { + right: unset; + left: 30px; +} + +.frm-info-modal .postbox > a.dismiss, +.frm-inline-modal > a.dismiss { + right: 13px; + top: 13px; +} + +.frm-modal .postbox .frm-modal-title + div:last-child a, +.frm-modal a.dismiss .frmsvg, +.frm_common_modal .frm_modal_top a .frmsvg { + color: var(--grey-500); +} + +.frm-modal .postbox .frm-modal-title + div:last-child a:hover, +.frm-modal a.dismiss .frmsvg:hover, +.frm_common_modal .frm_modal_top a .frmsvg:hover { + color: var(--grey-700); +} + +.frm-modal .frm_modal_content > div.inside, +.frm_common_modal .frm_modal_content > div.inside { + padding: var(--gap-md); + margin: 0; + font-size: var(--text-sm); + color: var(--grey-700); +} + +.frm-modal p { + color: var(--grey-900); +} + +.frm_common_modal .postbox { + display: flex; + flex-direction: column; +} + +.frm-modal .postbox > div.inside .cta-inside { + overflow-y: auto; + height: auto; +} + +.frm_modal_footer { + padding: 0 var(--gap-md) var(--gap-sm); + text-align: right; +} + +body.frm-body-with-open-modal { + overflow-y: hidden; +} + +/** + * Component: Dialog + */ +.frm-dialog { + z-index: 100; + padding: 0 !important; + border-radius: 16px; + border: none; + background-color: #fff; + max-width: 100% !important; +} + +.frm-dialog .postbox { + background: transparent; + box-shadow: none; + border: none; + line-height: var(--leading); +} + +.frm-dialog input[type=text], +.frm-dialog textarea { + font-size: var(--text-md); +} + +.frm-dialog textarea { + height: 75px; +} + +.frm-dialog button.frm-button-primary { + margin-right: 10px; +} + +.frm-dialog .frm-sub-label, +.frm-sub-label { + color: var(--grey); + text-transform: none; + padding-left: 8px; +} + +h2 .frm-sub-label { + font-size: var(--text-md); +} + +.frm-views-editor-body .ui-widget-overlay, +.frm-white-body .ui-widget-overlay, +.toplevel_page_formidable .ui-widget-overlay, +body[class*=formidable-payments] .ui-widget-overlay, +body.plugins-php .ui-widget-overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: var(--grey-500); + opacity: 0.5; + z-index: 2; +} + +/** + * Component: Circled Icons + */ +.frm-circled-icon { + width: 60px; + height: 60px; + border-radius: 50%; + background-color: var(--primary-25); +} + +.frm-circled-icon-large { + width: 80px; + height: 80px; +} + +.frm-circled-icon-green { + background-color: var(--success-50); +} + +.frm-circled-icon .frmsvg { + width: 21px; + height: 24px; +} +.frm-circled-icon .frmsvg.frm_svg32 { + width: 32px !important; + height: 32px !important; +} + +.frm-circled-icon-large .frmsvg { + width: 24px; +} + +.frm-circled-icon .frmsvg use { + color: var(--primary-500); +} + +.frm-circled-icon-green .frmsvg use { + color: var(--success-500); +} + +.frm-border-icon { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: 1px solid var(--grey-300); + border-radius: var(--small-radius); +} + +.frm-upgrade-message img { + max-width: 100%; +} + +/** + * Utilities - Flex + */ +.frm-inline-flex, +#wpbody-content .frm-inline-flex { + display: inline-flex; +} + +.frm-flex { + display: flex; +} + +.frm-force-flex { + display: flex !important; +} + +.frm_hidden, +.js .frm-hide-js { + display: none; +} + +.frm-flex-box { + display: flex; + gap: var(--gap-sm); +} + +.frm-flex-col { + display: flex; + flex-direction: column; +} + +.frm-flex-full { + flex: 1; +} + +.frm-force-flex-center, .frm-flex-center { + justify-content: center; + align-items: center; +} + +.frm-flex-center { + display: flex; +} + +.frm-force-flex-center { + display: flex !important; +} + +.frm-shrink-0 { + flex-shrink: 0; +} + +.frm-gap-0 { + gap: 0 !important; +} + +.frm-gap-2xs { + gap: var(--gap-2xs); +} + +.frm-gap-xs { + gap: var(--gap-xs); +} + +.frm-gap-sm { + gap: var(--gap-sm); +} + +.frm-gap-md { + gap: var(--gap-md); +} + +.frm-gap-xl { + gap: var(--gap-xl); +} + +.frm-justify-start { + justify-content: start !important; +} + +.frm-justify-center { + justify-content: center !important; +} + +.frm-justify-between { + justify-content: space-between; +} + +.frm-justify-end { + justify-content: end; +} + +.frm-items-start { + align-items: flex-start; +} + +.frm-items-center { + align-items: center; +} + +.frm-items-stretch { + align-items: stretch; +} + +.frm-self-normal { + align-self: normal; +} + +#wpbody-content .frm-flex-wrap { + flex-wrap: wrap; +} + +.frm-grow { + flex-grow: 1; +} + +.frm-order-first { + order: -9999; +} + +.frm-order-last { + order: 9999; +} + +.frm-order-none { + order: 0; +} + +.frm-h-stack-sm, .frm-h-stack-xs, .frm-h-stack { + display: flex !important; + align-items: center; +} +.frm-h-stack-sm > input[type=checkbox], .frm-h-stack-xs > input[type=checkbox], .frm-h-stack > input[type=checkbox], +.frm-h-stack-sm > input[type=radio], +.frm-h-stack-xs > input[type=radio], +.frm-h-stack > input[type=radio] { + margin: 0 !important; +} + +.frm-h-stack { + gap: var(--gap-2xs); +} + +.frm-h-stack-xs { + gap: var(--gap-xs); +} + +.frm-h-stack-sm { + gap: var(--gap-sm); +} + +.frm-flex-row-reverse { + flex-direction: row-reverse; +} + +/** + * Component: Info Modals + */ +.frm-info-modal a, +.frm-info-modal ul, +.frm-info-modal p, +.frm-info-modal, +.settings-lite-cta a, +.settings-lite-cta ul, +.settings-lite-cta { + color: var(--grey-500); + font-size: var(--text-md); + box-shadow: none !important; +} + +.frm-info-modal h3, +.settings-lite-cta h3 { + font-size: 17px !important; +} + +.frm-green-icons .frmsvg { + color: var(--green); +} + +.frm-info-modal .postbox .inside, +.settings-lite-cta .postbox .inside { + padding: var(--gap-md); + margin: 0; +} + +.cta-inside a { + color: var(--orange); +} + +.info-modal-inside a.frm-standard-link { + color: var(--primary-500); +} + +.info-modal-inside a.frm-standard-link:hover { + color: var(--primary-700); +} + +.frm_no_p_margin > p { + margin: 0; +} + +/** + * Components - Loading + */ +.frm_spinner.frm-wait, +.frm_spinner.spinner { + float: left; + visibility: hidden; + margin: 0 10px; +} + +.frm_visible_spinner.frm-wait, +.frm_visible_spinner.spinner { + visibility: visible; + float: none; +} + +.frm_form_action_settings .frm_spinner.frm-wait, +.frm_form_action_settings .frm_spinner.spinner { + visibility: visible; + float: none; + vertical-align: bottom; +} + +.frm_form_action_settings .frm_loading { + font-size: 15px; + text-align: center; +} + +.frm_ajax_settings_tab .frm-wait, +.frm_ajax_settings_tab .spinner { + visibility: visible; + float: none; + margin-top: 20px; +} + +.wp-core-ui .frm_loading_button.button-primary.frm-button-primary, +.frm_loading_button, +.frm_loading_form.frm_button_submit { + position: relative !important; + opacity: 0.8; + color: transparent !important; + text-shadow: none !important; +} + +.frm_loading_button:hover, +.frm_loading_button:active, +.frm_loading_button:focus, +.frm_loading_form.frm_button_submit:hover, +.frm_loading_form.frm_button_submit:active, +.frm_loading_form.frm_button_submit:focus { + cursor: not-allowed; + color: transparent !important; + outline: none !important; + box-shadow: none; +} + +.frm-wait { + margin: 20px; + width: 20px; + height: 20px; + position: relative; + display: inline-block; +} + +#frm-show-fields .frm-wait:only-child { + position: absolute; + left: 50px; + top: 30px; +} + +.frm-wait::before, +.frm_loading_button::before, +.frm_loading_form.frm_button_submit::before { + content: ""; + display: inline-block; + position: absolute; + background: transparent; + border: 1px solid #fff; + border-top-color: transparent; + border-left-color: transparent; + border-radius: 50%; + box-sizing: border-box; + top: 50%; + left: 50%; + margin-top: -10px; + margin-left: -10px; + width: 20px; + height: 20px; + animation: spin 2s linear infinite; +} + +.frm-wait::before { + border-bottom-color: var(--primary-700); + border-right-color: var(--primary-700); +} + +.frm_loading_button.frm-button-secondary::before { + border-bottom-color: var(--primary-500); + border-right-color: var(--primary-500); +} + +input[type=submit]:focus { + outline: none !important; +} + +/* Effects */ +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +.frmsvg { + fill: currentColor; + width: 18px; + height: 18px; + vertical-align: middle; +} + +body.frm_preview_page .ui-widget-overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: var(--grey-500); + opacity: 0.5; + z-index: 2; +} + +#frm_testing_mode { + border-radius: 1rem; + background-color: #fff; + border-color: rgba(0, 0, 0, 0.1019607843); + border-width: 1px; + border-style: solid; + padding: 16px 20px; + margin-bottom: 40px; + position: relative; +} +#frm_testing_mode h2 { + font-size: 18px; + font-weight: 600; + color: rgb(0, 0, 0); + margin-bottom: 0; +} +#frm_testing_mode label { + font-size: 12px; + font-weight: 600; +} +#frm_testing_mode label span.frm_toggle_opt { + color: var(--grey-800); + font-weight: 600; +} +#frm_testing_mode label:not(:first-child) { + margin-left: var(--gap-xs); +} +#frm_testing_mode a.frm_button { + margin-left: auto; + border-radius: 20px; + font-size: 14px; +} +#frm_testing_mode hr { + color: unset; + background: var(--grey-200); + height: 1px; + border: none; +} +#frm_testing_mode > div:nth-of-type(2) { + display: flex; + align-items: center; +} +#frm_testing_mode .multiselect.dropdown-toggle:after { + border: none; +} +#frm_testing_mode .frmsvg { + width: 11px; + height: 11px; + margin-right: var(--gap-2xs); + position: relative; + top: 1px; +} +#frm_testing_mode .frm_toggle_block { + gap: var(--gap-xs); +} +#frm_testing_mode label:not(.frm_toggle_block) { + margin-right: 2px; +} +#frm_testing_mode select { + width: auto !important; + min-height: auto !important; + outline: 0; + box-shadow: var(--box-shadow-xs); + border-radius: var(--small-radius); + border-width: 1px; + padding: 5px 14px; + border-color: var(--grey-300); + color: var(--grey-800); + font-size: var(--text-md); + margin: 0; + background-color: #fff; + line-height: var(--leading); + appearance: none; + background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%; + padding-right: var(--gap-lg) !important; +} +#frm_testing_mode select:focus { + background-color: transparent !important; +} +#frm_testing_mode select, +#frm_testing_mode .btn-group button.multiselect.dropdown-toggle { + border-radius: var(--medium-radius); + font-size: 12px; + font-weight: 600; + height: 30px; +} +#frm_testing_mode .btn-group button.multiselect.dropdown-toggle { + padding-top: 0; + padding-bottom: 0; +} +#frm_testing_mode .multiselect-selected-text { + position: relative; + top: 2px; +} +#frm_testing_mode #frm_testmode_fill_in_empty_form_fields { + background-color: var(--primary-500); + color: #fff; + padding: 8px 18px; +} +#frm_testing_mode .frm_help { + vertical-align: top; +} + +#frm_testing_mode .frm-button-secondary:hover, +#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover, +#frm_ai_autofill_error_modal .frm-button-secondary:hover { + border-color: var(--grey-300) !important; + color: var(--grey-800); + background: var(--grey-50) !important; + box-shadow: none !important; + outline: none !important; +} +#frm_testing_mode a, +#frm_testmode_disable_required_fields_modal a, +#frm_ai_autofill_error_modal a { + text-decoration: none; +} + +#frm_testmode_disable_required_fields_modal p { + font-size: 16px; +} + +#frm_test_mode_pagination { + display: inline-block; + margin-left: var(--gap-xs); +} +#frm_test_mode_pagination input[type=button] { + border: 1px solid var(--grey-300); + padding: 8px 12px; + border-radius: 8px; + font-size: 12px; + background-color: #fff; +} +#frm_test_mode_pagination input[type=button].frm_test_mode_active_page { + background-color: var(--primary-500); + border-color: var(--primary-500); + color: #fff; +} +#frm_test_mode_pagination input[type=button]:not(.frm_noallow) { + cursor: pointer; +} + +#frm_testmode_start_over { + position: absolute; + right: 20px; + top: 20px; + background-color: #fff; + color: var(--grey-800); + border-radius: 20px; + padding: 4px 12px; + border-color: var(--grey-300); + font-weight: 600; +} +#frm_testmode_start_over img { + vertical-align: middle; + position: relative; + bottom: 2px; +} + +.frm_noallow { + opacity: 0.5; +} + +#frm_testmode_enabled_form_actions_container { + vertical-align: middle; + display: inline-block; + max-width: 200px; +} + +#frm_testmode_upgrade { + border-radius: 16px; + padding: var(--gap-xs) var(--gap-sm); + text-align: center; + font-size: var(--text-xs); + margin-top: var(--gap-sm); + line-height: var(--text-xs); + font-weight: 500; + text-decoration: none; + display: block; + margin-left: -20px; + margin-right: -20px; + margin-bottom: -16px; + border-radius: 0 0 16px 16px; +} + +.frm_warning_style:has(.frm-addon-button) { + display: flex; + padding: var(--gap-sm); + line-height: 40px; +} + +.frm_warning_style .frm-addon-button, +#frm_upgrade_modal a.frm-button-primary { + text-decoration: none; +} + +#frm_upgrade_modal a.frm-button-primary { + cursor: pointer; +} + +.frm-dialog { + z-index: 1001; +} + +.frm-dialog + .ui-widget-overlay { + z-index: 1000; +} + +@media (max-width: 1024px) { + #frm_testing_mode > div > label:not(#frm_quick_jump_label) { + width: 100%; + display: block !important; + margin-left: 0 !important; + } + #frm_testing_mode > div > label:not(#frm_quick_jump_label) { + margin-top: var(--gap-sm); + } + #frm_testmode_fill_in_empty_form_fields { + display: block; + } + #frm_testing_mode > div:nth-of-type(2) { + flex-direction: column; + align-items: normal; + } + #frm_test_mode_pagination { + margin-left: 0; + } +} + +/*# sourceMappingURL=frm_testing_mode.css.map*/ \ No newline at end of file diff --git a/js/addons-page.js b/js/addons-page.js index 9fd495f4fb..39852affec 100644 --- a/js/addons-page.js +++ b/js/addons-page.js @@ -1 +1,4843 @@ -(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function i(){var i,a,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var n,r,a,c,l,s,u,f,d,p=1,y=t.length,m="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=n:(!o.number.test(c.type)||f&&!c.sign?d="":(d=f?"+":"-",n=n.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",u=c.width-(d+n).length,l=c.width&&u>0?s.repeat(u):"",m+=c.align?d+n+l:"0"===s?d+l+n:l+d+n)}return m}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],i=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],s=[];if(null===(s=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(l=l.substring(s[0].length));)if(null!==(s=o.key_access.exec(l)))a.push(s[1]);else{if(null===(s=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.url,r=(t.nonce,"frm_hidden"),o="frm-hide-js",i="frm-current";function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):0":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},j=["(","?"],E={")":["("],":":["?","?:"]},P=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var F={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var I={contextDelimiter:"",onMissingKey:null};function D(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},I)this.options[n]=void 0!==e&&n in e?e[n]:I[n]}function L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function q(t){for(var e=1;e=0||_[o]<_[n]){a.push(o);break}i.push(o)}E[n]||a.push(n),t=t.substr(e.index+n.length)}return(t=t.trim())&&i.push(t),i.concat(a.reverse())}(t);return function(t){return function(t,e){var n,r,o,i,a,c,l=[];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(B(n)&&z(r))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:r};if(a[n]){var l,s=a[n].handlers;for(l=s.length;l>0&&!(i>=s[l-1].priority);l--);l===s.length?s[l]=c:s.splice(l,0,c),a.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else a[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var i=t[e];if(B(r)&&(n||z(o))){if(!i[r])return 0;var a=0;if(n)a=i[r].handlers.length,i[r]={runs:i[r].runs,handlers:[]};else for(var c=i[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},s=c.length-1;s>=0;s--)l(s);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),a}}},U=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},Z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var i=o[r].handlers,a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=q(q(q({},R),r.data[e]),t),r.data[e][""]=q(q({},R[""]),r.data[e][""])},c=function(t,e){a(t,e),i()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},u=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+s(r),o,t,e,r)):o};if(n){var f=function(t){N.test(t)&&i()};n.addAction("hookAdded","core/i18n",f),n.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+s(e),r,t,e)):r},_x:u,_n:function(t,e,r,o){var i=l(o,void 0,t,e,r);return n?(i=n.applyFilters("i18n.ngettext",i,t,e,r,o),n.applyFilters("i18n.ngettext_"+s(o),i,t,e,r,o)):i},_nx:function(t,e,r,o,i){var a=l(i,o,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,o,i),n.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,r,o,i)):a},isRTL:function(){return"rtl"===u("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,l=!(null===(i=r.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+s(o),l,t,e,o)),l}}}(0,0,V));G.getLocaleData.bind(G),G.setLocaleData.bind(G),G.resetLocaleData.bind(G),G.subscribe.bind(G);var H=G.__.bind(G),Q=(G._x.bind(G),G._n.bind(G),G._nx.bind(G),G.isRTL.bind(G),G.hasTranslation.bind(G),window.frmDom),W=Q.tag,Y=Q.div,tt=Q.a,et=Q.img;function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function rt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function ot(t,e,n){return(e=function(t){var e=function(t){if("object"!=nt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==nt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var it,at=document.getElementById("post-body-content"),ct=document.getElementById("".concat(h,"-sidebar")),lt=((it=tt({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),Y({id:"".concat(h,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(r),children:[et({src:"".concat(e,"/images/page-skeleton/empty-state.svg"),alt:H("Empty State","formidable")}),Y({className:"frmcenter",children:[W("h2",{className:"".concat(h,"-title frm-mb-0")}),W("p",{className:"".concat(h,"-text frm-mb-0")})]}),it]}));null==at||at.appendChild(lt);var st=function(){var t=document.querySelector("#".concat(h,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(h,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(h,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),ut=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==O(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==O(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=w(w({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==vt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==vt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=yt(yt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:g,selectedCategoryEl:bt}),gt=ht.getState,St=ht.getSingleState,wt=ht.setState,xt=ht.setSingleState,Ot=function(t){var e,n=t.currentTarget,r=n.getAttribute("data-category"),o=gt(),a=o.selectedCategory,c=o.selectedCategoryEl,l=o.notEmptySearchText;if(a!==r){a=wp.hooks.applyFilters("frmPage.selectedCategory",r),c.classList.remove(i),(c=n).classList.add(i),wt({selectedCategory:a,selectedCategoryEl:c}),l&&((e=ft().searchInput).value="",e.dispatchEvent(new Event("input",{bubbles:!0}))),wp.hooks.doAction("frmPage.onCategoryClick",a);var u=ft().bodyContent;new s(u).fadeIn()}};function _t(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Ot(t))}var jt=window.frmAddonsVars.addonRequestURL,Et="frm-addons",Pt="available-addons",kt="active-addons",At="basic",Ct="plus",Tt="business",Ft="elite",It=ft(),Dt=It.bodyContent,Lt=It.sidebar;Dt.querySelectorAll(".frm-card-item:not(.plugin-card-formidable-pro)").forEach(function(t){var e=t.dataset.categories;switch(!0){case e.includes(Tt):t.setAttribute("data-categories","".concat(e,",").concat(Ft));break;case e.includes(Ct):t.setAttribute("data-categories","".concat(e,",").concat(Tt,",").concat(Ft));break;case e.includes(At):t.setAttribute("data-categories","".concat(e,",").concat(Ct,",").concat(Tt,",").concat(Ft))}}),dt({upgradeBanner:document.getElementById("frm-upgrade-banner"),availableCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Pt,'"]')),activeCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(kt,'"]')),categoriesTopDivider:Lt.querySelector(".".concat(h,"-divider")),basicPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(At,'"]')),plusPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ct,'"]')),businessPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Tt,'"]')),elitePlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ft,'"]')),addonsList:document.getElementById("".concat(Et,"-list")),addons:Dt.querySelectorAll(".frm-card-item"),availableAddons:Dt.querySelectorAll(".frm-card-item:not(.frm-locked-item)"),addonsToggle:Dt.querySelectorAll(".frm_toggle_block"),bodyContentChildren:null==Dt?void 0:Dt.children});var qt={};qt[Pt]=[],qt[kt]=[];var Rt,Nt=".".concat(h,"-cat-count");function zt(){var t=ft(),e=t.activeCategory,n=t.availableCategory,r=t.categoriesTopDivider,o=document.querySelectorAll(".frm-addon-active:not(.frm-locked-item)");0!==o.length?(qt[kt]=o,e.querySelector(Nt).textContent=o.length):m([e,n,r])}function Bt(){var t=gt().selectedCategory,e=ft(),n=e.emptyState,r=e.emptyStateButton,o=e.emptyStateTitle,i=e.emptyStateText;n.setAttribute("data-view",t),o.textContent=H("No add-ons found","formidable"),i.textContent=H("Sorry, we didn't find any add-ons that match your criteria.","formidable"),r.textContent=H("Request Add-On","formidable"),r.href=jt,r.setAttribute("target","_blank"),y([n,r])}function Mt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,s=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(t){s=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(t,e)||$t(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(t,e){if(t){if("string"==typeof t)return Ut(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ut(t,e):void 0}}function Ut(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==e.return||e.return()}finally{if(a)throw o}}}}(new Map([["frm-addon-not-installed",".frm-install-addon"],["frm-addon-installed",".frm-activate-addon"],["frm-addon-active",".frm-deactivate-addon"]]).entries());try{for(o.s();!(n=o.n()).done;){var i=Mt(n.value,2),a=i[0],c=i[1];if(r.classList.contains(a)){(Rt=r.querySelector(c)).click();break}}}catch(t){o.e(t)}finally{o.f()}}};var Kt=window.frmDom.search.init;function Xt(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=gt(),a=ft().allItemsCategory;xt("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ft(),n=e.bodyContent,r=e.bodyContentChildren,o=e.addonsList;t&&St("selectedCategoryEl").classList.remove(i),m(r),v(o),new s(n).fadeIn()}(r),r&&xt("selectedCategory","")),function(t){if(t){var e,n=ft().emptyState;e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")&&b(n)}else Bt()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}function Jt(){var t;ft().categoryItems.forEach(function(t){p(t,Ot),t.addEventListener("keydown",_t)}),wp.hooks.addAction("frmPage.onCategoryClick","frmAddonsPage",function(t){!function(t){var e=ft(),n=e.bodyContent,r=e.addons,o=e.emptyState,i=e.upgradeBanner;b(o),v(i),n.dataset.category=t,g!==t?(m(r),0===qt[t].length?(Bt(),b(i)):y(qt[t])):y(r)}(t)}),ft().addonsToggle.forEach(function(t){return t.addEventListener("click",Zt)}),wp.hooks.addAction("frm_update_addon_state","frmAddonPage",function(){zt()}),t=ft().searchInput,Kt(t,"frm-card-item",{handleSearchResult:Xt})}var Vt;Vt=function(){(function(){var t,e,n,r,i,a,c,l,u,f,d=ft(),p=d.sidebar,y=d.searchInput,m=d.bodyContent,b=new s(m);y.value="",zt(),function(){var t=ft(),e=t.bodyContent,n=t.availableCategory,r=t.availableAddons;if(qt[Pt]=r,n){n.querySelector(Nt).textContent=r.length;var o=e.querySelector(".".concat(Et,"-available-count"));o&&(o.textContent=r.length)}}(),function(){var t=ft(),e=t.allItemsCategory,n=t.addons;e.querySelector(Nt).textContent=n.length}(),e=(t=ft()).basicPlanCategory,n=t.plusPlanCategory,r=t.businessPlanCategory,i=t.elitePlanCategory,c=(a=function(t){return parseInt(t.querySelector(Nt).textContent,10)||0})(e),l=a(n)-1,u=a(r)-1,f=a(i)-1,n.querySelector(Nt).textContent=c+l,r.querySelector(Nt).textContent=c+l+u,i.querySelector(Nt).textContent=c+l+u+f,m.classList.remove(o),p.classList.remove(o),b.fadeIn(),v(p)})(),ft().addons.forEach(function(t){var e=t.getAttribute("data-categories");e&&e.split(",").forEach(function(e){qt[e]||(qt[e]=[]),qt[e].push(t)})}),Jt()},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",Vt):Vt())})()})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // ⇒ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/index.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // ⇒ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // ⇒ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/index.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/addons-page/addons/categorizeAddons.js": +/*!*******************************************************!*\ + !*** ./js/src/addons-page/addons/categorizeAddons.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ buildCategorizedAddons: () => (/* binding */ buildCategorizedAddons), +/* harmony export */ categorizedAddons: () => (/* binding */ categorizedAddons) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * Internal dependencies + */ + + +var categorizedAddons = {}; +categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.AVAILABLE] = []; +categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ACTIVE] = []; + +/** + * Builds a categorized list of addons. + * + * @return {void} + */ +function buildCategorizedAddons() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + addons = _getElements.addons; + addons.forEach(function (addon) { + // Extract and split the categories from data attribute + var dataCategories = addon.getAttribute('data-categories'); + if (!dataCategories) { + return; + } + var categories = dataCategories.split(','); + categories.forEach(function (category) { + // Initialize the category array if not already done + if (!categorizedAddons[category]) { + categorizedAddons[category] = []; + } + + // Add the addon to the appropriate category + categorizedAddons[category].push(addon); + }); + }); +} + +/***/ }), + +/***/ "./js/src/addons-page/addons/index.js": +/*!********************************************!*\ + !*** ./js/src/addons-page/addons/index.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ buildCategorizedAddons: () => (/* reexport safe */ _categorizeAddons__WEBPACK_IMPORTED_MODULE_0__.buildCategorizedAddons), +/* harmony export */ categorizedAddons: () => (/* reexport safe */ _categorizeAddons__WEBPACK_IMPORTED_MODULE_0__.categorizedAddons) +/* harmony export */ }); +/* harmony import */ var _categorizeAddons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./categorizeAddons */ "./js/src/addons-page/addons/categorizeAddons.js"); + + +/***/ }), + +/***/ "./js/src/addons-page/constants.js": +/*!*****************************************!*\ + !*** ./js/src/addons-page/constants.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PLANS: () => (/* binding */ PLANS), +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ VIEWS: () => (/* binding */ VIEWS), +/* harmony export */ addonRequestURL: () => (/* binding */ addonRequestURL) +/* harmony export */ }); +var addonRequestURL = window.frmAddonsVars.addonRequestURL; + +var PREFIX = 'frm-addons'; +var VIEWS = { + AVAILABLE: 'available-addons', + ACTIVE: 'active-addons' +}; +var PLANS = { + BASIC: 'basic', + PLUS: 'plus', + BUSINESS: 'business', + ELITE: 'elite' +}; + +/***/ }), + +/***/ "./js/src/addons-page/elements/elements.js": +/*!*************************************************!*\ + !*** ./js/src/addons-page/elements/elements.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _getElements = (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + bodyContent = _getElements.bodyContent, + sidebar = _getElements.sidebar; +bodyContent.querySelectorAll('.frm-card-item:not(.plugin-card-formidable-pro)').forEach(function (addon) { + var categories = addon.dataset.categories; + switch (true) { + case categories.includes(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS): + addon.setAttribute('data-categories', "".concat(categories, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE)); + break; + case categories.includes(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.PLUS): + addon.setAttribute('data-categories', "".concat(categories, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE)); + break; + case categories.includes(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BASIC): + addon.setAttribute('data-categories', "".concat(categories, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.PLUS, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS, ",").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE)); + break; + } +}); +(0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements)({ + // Body elements + upgradeBanner: document.getElementById('frm-upgrade-banner'), + // Category elements + availableCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.AVAILABLE, "\"]")), + activeCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ACTIVE, "\"]")), + categoriesTopDivider: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-divider")), + basicPlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BASIC, "\"]")), + plusPlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.PLUS, "\"]")), + businessPlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.BUSINESS, "\"]")), + elitePlanCategory: sidebar.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PLANS.ELITE, "\"]")), + // Card elements + addonsList: document.getElementById("".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-list")), + addons: bodyContent.querySelectorAll('.frm-card-item'), + availableAddons: bodyContent.querySelectorAll('.frm-card-item:not(.frm-locked-item)'), + addonsToggle: bodyContent.querySelectorAll('.frm_toggle_block'), + // Add children of the bodyContent to the elements object + bodyContentChildren: bodyContent === null || bodyContent === void 0 ? void 0 : bodyContent.children +}); + + +/***/ }), + +/***/ "./js/src/addons-page/elements/index.js": +/*!**********************************************!*\ + !*** ./js/src/addons-page/elements/index.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/addons-page/elements/elements.js"); + + +/***/ }), + +/***/ "./js/src/addons-page/events/addonToggleListener.js": +/*!**********************************************************!*\ + !*** ./js/src/addons-page/events/addonToggleListener.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _ui___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ui/ */ "./js/src/addons-page/ui/index.js"); +function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } +function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +/** + * Internal dependencies + */ + + +var targetButton; + +/** + * Manages event handling for addons toggle. + * + * @return {void} + */ +function addAddonToggleEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + addonsToggle = _getElements.addonsToggle; + addonsToggle.forEach(function (addonToggle) { + return addonToggle.addEventListener('click', onAddonToggleClick); + }); + wp.hooks.addAction('frm_update_addon_state', 'frmAddonPage', function () { + (0,_ui___WEBPACK_IMPORTED_MODULE_1__.setupActiveCategory)(); + }); +} + +/** + * Handles the click event on the addon toggle. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onAddonToggleClick = function onAddonToggleClick(event) { + var _targetButton; + if ((_targetButton = targetButton) !== null && _targetButton !== void 0 && _targetButton.classList.contains('frm_loading_button')) { + return; + } + var addonToggle = event.currentTarget; + var addon = addonToggle.closest('.frm-card-item'); + var actionMap = new Map([['frm-addon-not-installed', '.frm-install-addon'], ['frm-addon-installed', '.frm-activate-addon'], ['frm-addon-active', '.frm-deactivate-addon']]); + var _iterator = _createForOfIteratorHelper(actionMap.entries()), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + className = _step$value[0], + selector = _step$value[1]; + if (addon.classList.contains(className)) { + targetButton = addon.querySelector(selector); + targetButton.click(); + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addAddonToggleEvents); + +/***/ }), + +/***/ "./js/src/addons-page/events/index.js": +/*!********************************************!*\ + !*** ./js/src/addons-page/events/index.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ui */ "./js/src/addons-page/ui/index.js"); +/* harmony import */ var _addonToggleListener__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addonToggleListener */ "./js/src/addons-page/events/addonToggleListener.js"); +/* harmony import */ var _searchListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./searchListener */ "./js/src/addons-page/events/searchListener.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Attaches event listeners for handling user interactions. + * + * @return {void} + */ +function addEventListeners() { + (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addCategoryEvents)(); + wp.hooks.addAction('frmPage.onCategoryClick', 'frmAddonsPage', function (selectedCategory) { + (0,_ui__WEBPACK_IMPORTED_MODULE_1__.showSelectedCategory)(selectedCategory); + }); + (0,_addonToggleListener__WEBPACK_IMPORTED_MODULE_2__["default"])(); + (0,_searchListener__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + +/***/ }), + +/***/ "./js/src/addons-page/events/searchListener.js": +/*!*****************************************************!*\ + !*** ./js/src/addons-page/events/searchListener.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/addons-page/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui */ "./js/src/addons-page/ui/index.js"); +/** + * Internal dependencies + */ + + + +var initSearch = window.frmDom.search.init; + +/** + * Adds search-related event listeners by calling the 'initSearch' function. + * + * @see frmDom.search method + * @return {void} + */ +function addSearchEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + searchInput = _getElements.searchInput; + initSearch(searchInput, 'frm-card-item', { + handleSearchResult: handleSearchResult + }); +} + +/** + * Manages UI state based on search results and input value. + * + * @private + * @param {Object} args Contains flags for search status. + * @param {boolean} args.foundSomething True if search yielded results. + * @param {boolean} args.notEmptySearchText True if search input is not empty. + * @param {Event} event The event object (input, search, or change event). + * @return {void} + */ +function handleSearchResult(_ref, event) { + var foundSomething = _ref.foundSomething, + notEmptySearchText = _ref.notEmptySearchText; + // Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events, + // triggering this method twice on 'x' button click. + if (event && event.type === 'search' && event.target.value === '') { + return; + } + var state = (0,_shared__WEBPACK_IMPORTED_MODULE_1__.getState)(); + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + allItemsCategory = _getElements2.allItemsCategory; + (0,_shared__WEBPACK_IMPORTED_MODULE_1__.setSingleState)('notEmptySearchText', notEmptySearchText); + + // Revert to 'All Templates' if search and selected category are both empty + if (!state.notEmptySearchText && !state.selectedCategory) { + allItemsCategory.dispatchEvent(new Event('click', { + bubbles: true + })); + return; + } + + // Display search state if a category is selected + if (state.selectedCategory) { + (0,_ui__WEBPACK_IMPORTED_MODULE_2__.showSearchState)(notEmptySearchText); + + // Setting "selectedCategory" to an empty string as a flag for search state + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_1__.setSingleState)('selectedCategory', ''); + } + } + (0,_ui__WEBPACK_IMPORTED_MODULE_2__.displaySearchElements)(foundSomething); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addSearchEvents); + +/***/ }), + +/***/ "./js/src/addons-page/shared/index.js": +/*!********************************************!*\ + !*** ./js/src/addons-page/shared/index.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageState */ "./js/src/addons-page/shared/pageState.js"); + + +/***/ }), + +/***/ "./js/src/addons-page/shared/pageState.js": +/*!************************************************!*\ + !*** ./js/src/addons-page/shared/pageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/** + * External dependencies + */ + + +// NOTE: +// Use setState() here to add new states on the Add-Ons page. +// Check the 'core/page-skeleton' package for shared states you can use. + + + +/***/ }), + +/***/ "./js/src/addons-page/ui/index.js": +/*!****************************************!*\ + !*** ./js/src/addons-page/ui/index.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ displaySearchElements: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_2__.displaySearchElements), +/* harmony export */ setupActiveCategory: () => (/* reexport safe */ _setupInitialView__WEBPACK_IMPORTED_MODULE_0__.setupActiveCategory), +/* harmony export */ setupInitialView: () => (/* reexport safe */ _setupInitialView__WEBPACK_IMPORTED_MODULE_0__.setupInitialView), +/* harmony export */ showEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_3__.showEmptyState), +/* harmony export */ showSearchState: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_2__.showSearchState), +/* harmony export */ showSelectedCategory: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_1__.showSelectedCategory) +/* harmony export */ }); +/* harmony import */ var _setupInitialView__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setupInitialView */ "./js/src/addons-page/ui/setupInitialView.js"); +/* harmony import */ var _showSelectedCategory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./showSelectedCategory */ "./js/src/addons-page/ui/showSelectedCategory.js"); +/* harmony import */ var _searchState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./searchState */ "./js/src/addons-page/ui/searchState.js"); +/* harmony import */ var _showEmptyState__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./showEmptyState */ "./js/src/addons-page/ui/showEmptyState.js"); + + + + + +/***/ }), + +/***/ "./js/src/addons-page/ui/searchState.js": +/*!**********************************************!*\ + !*** ./js/src/addons-page/ui/searchState.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ displaySearchElements: () => (/* binding */ displaySearchElements), +/* harmony export */ showSearchState: () => (/* binding */ showSearchState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared */ "./js/src/addons-page/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! . */ "./js/src/addons-page/ui/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Updates the UI to display the search state. + * + * @param {boolean} notEmptySearchText True if search input is not empty. + * @return {void} + */ +function showSearchState(notEmptySearchText) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + bodyContent = _getElements.bodyContent, + bodyContentChildren = _getElements.bodyContentChildren, + addonsList = _getElements.addonsList; + + // Remove highlighting from the currently selected category if the search text is not empty + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_4__.getSingleState)('selectedCategoryEl').classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_1__.CURRENT_CLASS); + } + + // Hide non-relevant elements in the body content + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hideElements)(bodyContentChildren); + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.show)(addonsList); + + // Smoothly display the updated UI elements + new core_utils__WEBPACK_IMPORTED_MODULE_2__.frmAnimate(bodyContent).fadeIn(); +} + +/** + * Displays search results based on search outcome. + * + * @param {boolean} foundSomething True if search yielded results. + * @return {void} + */ +function displaySearchElements(foundSomething) { + // Show empty state if no templates found + if (!foundSomething) { + (0,___WEBPACK_IMPORTED_MODULE_5__.showEmptyState)(); + return; + } + + // Hide empty state if currently displayed + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + emptyState = _getElements2.emptyState; + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_2__.isVisible)(emptyState)) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hide)(emptyState); + } +} + +/***/ }), + +/***/ "./js/src/addons-page/ui/setupInitialView.js": +/*!***************************************************!*\ + !*** ./js/src/addons-page/ui/setupInitialView.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ setupActiveCategory: () => (/* binding */ setupActiveCategory), +/* harmony export */ setupInitialView: () => (/* binding */ setupInitialView) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _addons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../addons */ "./js/src/addons-page/addons/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * External dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +var CAT_COUNT_CLASS = ".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-cat-count"); + +/** + * Sets up the initial view, performing any required + * DOM manipulations for proper element presentation. + * + * @return {void} + */ +function setupInitialView() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + sidebar = _getElements.sidebar, + searchInput = _getElements.searchInput, + bodyContent = _getElements.bodyContent; + var bodyContentAnimate = new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent); + searchInput.value = ''; + setupActiveCategory(); + setupAvailableCategory(); + setupAllAddonsCategory(); + setupPlansCategory(); + + // Smoothly display the updated UI elements + bodyContent.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + sidebar.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + bodyContentAnimate.fadeIn(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(sidebar); +} + +/** + * Sets up the "Active" category, updating the + * categorizedAddons object and the category count. + * + * @return {void} + */ +function setupActiveCategory() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + activeCategory = _getElements2.activeCategory, + availableCategory = _getElements2.availableCategory, + categoriesTopDivider = _getElements2.categoriesTopDivider; + var activeAddons = document.querySelectorAll('.frm-addon-active:not(.frm-locked-item)'); + if (activeAddons.length === 0) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([activeCategory, availableCategory, categoriesTopDivider]); + return; + } + _addons__WEBPACK_IMPORTED_MODULE_4__.categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_5__.VIEWS.ACTIVE] = activeAddons; + + // Set "Active" category count + activeCategory.querySelector(CAT_COUNT_CLASS).textContent = activeAddons.length; +} + +/** + * Sets up the "Available" category, updating the + * categorizedAddons object and the category count. + * + * @private + * @return {void} + */ +function setupAvailableCategory() { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + bodyContent = _getElements3.bodyContent, + availableCategory = _getElements3.availableCategory, + availableAddons = _getElements3.availableAddons; + _addons__WEBPACK_IMPORTED_MODULE_4__.categorizedAddons[_constants__WEBPACK_IMPORTED_MODULE_5__.VIEWS.AVAILABLE] = availableAddons; + + // Set "Available" category count + if (availableCategory) { + availableCategory.querySelector(CAT_COUNT_CLASS).textContent = availableAddons.length; + var upgradeBannerAvailableCount = bodyContent.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_5__.PREFIX, "-available-count")); + if (upgradeBannerAvailableCount) { + upgradeBannerAvailableCount.textContent = availableAddons.length; + } + } +} + +/** + * Sets up the "All Add-Ons" category, updating the + * category count. + * + * @private + * @return {void} + */ +function setupAllAddonsCategory() { + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + allItemsCategory = _getElements4.allItemsCategory, + addons = _getElements4.addons; + + // Set "All Add-Ons" category count + allItemsCategory.querySelector(CAT_COUNT_CLASS).textContent = addons.length; +} + +/** + * Sets up the "All Add-Ons" category, updating the + * category count. + * + * @private + * @return {void} + */ +function setupPlansCategory() { + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + basicPlanCategory = _getElements5.basicPlanCategory, + plusPlanCategory = _getElements5.plusPlanCategory, + businessPlanCategory = _getElements5.businessPlanCategory, + elitePlanCategory = _getElements5.elitePlanCategory; + var getCount = function getCount(category) { + return parseInt(category.querySelector(CAT_COUNT_CLASS).textContent, 10) || 0; + }; + + // The "Formidable Pro" add-on is included in all plans, so we just consider that in the basicCount + var basicCount = getCount(basicPlanCategory); + var plusCount = getCount(plusPlanCategory) - 1; + var businessCount = getCount(businessPlanCategory) - 1; + var eliteCount = getCount(elitePlanCategory) - 1; + + // Update the text content for each category + plusPlanCategory.querySelector(CAT_COUNT_CLASS).textContent = basicCount + plusCount; + businessPlanCategory.querySelector(CAT_COUNT_CLASS).textContent = basicCount + plusCount + businessCount; + elitePlanCategory.querySelector(CAT_COUNT_CLASS).textContent = basicCount + plusCount + businessCount + eliteCount; +} + +/***/ }), + +/***/ "./js/src/addons-page/ui/showEmptyState.js": +/*!*************************************************!*\ + !*** ./js/src/addons-page/ui/showEmptyState.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showEmptyState: () => (/* binding */ showEmptyState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/addons-page/shared/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ "./js/src/addons-page/constants.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Display the search-empty state. + * + * @return {void} + */ +function showEmptyState() { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory; + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyState = _getElements.emptyState, + emptyStateButton = _getElements.emptyStateButton, + emptyStateTitle = _getElements.emptyStateTitle, + emptyStateText = _getElements.emptyStateText; + emptyState.setAttribute('data-view', selectedCategory); + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No add-ons found', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Sorry, we didn\'t find any add-ons that match your criteria.', 'formidable'); + emptyStateButton.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Request Add-On', 'formidable'); + emptyStateButton.href = _constants__WEBPACK_IMPORTED_MODULE_4__.addonRequestURL; + emptyStateButton.setAttribute('target', '_blank'); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.showElements)([emptyState, emptyStateButton]); +} + +/***/ }), + +/***/ "./js/src/addons-page/ui/showSelectedCategory.js": +/*!*******************************************************!*\ + !*** ./js/src/addons-page/ui/showSelectedCategory.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ showSelectedCategory: () => (/* binding */ showSelectedCategory) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/addons-page/elements/index.js"); +/* harmony import */ var _addons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../addons */ "./js/src/addons-page/addons/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ "./js/src/addons-page/ui/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Show addons based on selected category. + * + * @param {string} selectedCategory The selected category to display addons for. + * @return {void} + */ +function showSelectedCategory(selectedCategory) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements.bodyContent, + addons = _getElements.addons, + emptyState = _getElements.emptyState, + upgradeBanner = _getElements.upgradeBanner; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(emptyState); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.show)(upgradeBanner); + bodyContent.dataset.category = selectedCategory; + if (core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS === selectedCategory) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)(addons); + return; + } + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(addons); + if (_addons__WEBPACK_IMPORTED_MODULE_3__.categorizedAddons[selectedCategory].length === 0) { + (0,___WEBPACK_IMPORTED_MODULE_4__.showEmptyState)(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(upgradeBanner); + } else { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)(_addons__WEBPACK_IMPORTED_MODULE_3__.categorizedAddons[selectedCategory]); + } +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (showSelectedCategory); + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/factory/createPageElements.js": +/*!***************************************************!*\ + !*** ./js/src/core/factory/createPageElements.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* binding */ createPageElements) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page elements manager. + * + * @param {Object} [initialElements={}] An object containing initial DOM elements. + * @throws {Error} Throws an error if the `initialElements` is not an object. + * @return {Object} An object with methods to get and add elements. + */ +function createPageElements() { + var initialElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialElements) !== 'object' || initialElements === null) { + throw new Error('createPageElements: initialElements must be a non-null object'); + } + var elements = initialElements; + + /** + * Retrieve the initialized essential DOM elements. + * + * @return {Object} The initialized elements object. + */ + function getElements() { + return elements; + } + + /** + * Add new elements to the elements object. + * + * @param {Object} newElements An object containing new elements to be added. + * @throws {Error} Throws an error if the `newElements` is not a non-null object. + * @return {void} Updates the elements object by merging the new elements into it. + */ + function addElements(newElements) { + if (_typeof(newElements) !== 'object' || newElements === null) { + throw new Error('addElements: newElements must be a non-null object'); + } + elements = _objectSpread(_objectSpread({}, elements), newElements); + } + return { + getElements: getElements, + addElements: addElements + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/createPageState.js": +/*!************************************************!*\ + !*** ./js/src/core/factory/createPageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageState: () => (/* binding */ createPageState) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page state manager. + * + * @param {Object} [initialState={}] An object containing the initial state. + * @throws {Error} Throws an error if the `initialState` is not a plain object. + * @return {Object} An object with methods to initialize, get, and set the page state. + */ +function createPageState() { + var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialState) !== 'object' || initialState === null) { + throw new Error('createPageState: initialState must be a non-null object'); + } + var state = initialState; + + /** + * Returns the current page state. + * + * @return {Object|null} The current state of the page or null if not initialized. + */ + var getState = function getState() { + return state; + }; + + /** + * Returns a specific property from the current page state. + * + * @param {string} propertyName The name of the property to retrieve. + * @return {*} The value of the specified property, or null if it doesn't exist. + */ + var getSingleState = function getSingleState(propertyName) { + var value = Reflect.get(state, propertyName); + + // We convert `undefined` to `null` for a consistent API. + // This makes it easier for users to handle the results since all missing properties return `null`. + return value === undefined ? null : value; + }; + + /** + * Updates the page state with new values. + * + * @param {Object} newState The new values to update the state with. + * @throws {Error} Throws an error if `newState` is not a plain object. + * @return {void} + */ + var setState = function setState(newState) { + if (_typeof(newState) !== 'object' || newState === null) { + throw new Error('setState: newState must be a non-null object'); + } + state = _objectSpread(_objectSpread({}, state), newState); + }; + + /** + * Updates a specific property in the page state with a new value. + * + * @param {string} propertyName The name of the property to update. + * @param {*} value The new value to set for the property. + * @return {void} + */ + var setSingleState = function setSingleState(propertyName, value) { + if (Reflect.has(state, propertyName)) { + Reflect.set(state, propertyName, value); + } + }; + return { + getState: getState, + getSingleState: getSingleState, + setState: setState, + setSingleState: setSingleState + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/index.js": +/*!**************************************!*\ + !*** ./js/src/core/factory/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* reexport safe */ _createPageElements__WEBPACK_IMPORTED_MODULE_0__.createPageElements), +/* harmony export */ createPageState: () => (/* reexport safe */ _createPageState__WEBPACK_IMPORTED_MODULE_1__.createPageState) +/* harmony export */ }); +/* harmony import */ var _createPageElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPageElements */ "./js/src/core/factory/createPageElements.js"); +/* harmony import */ var _createPageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createPageState */ "./js/src/core/factory/createPageState.js"); + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/constants.js": +/*!************************************************!*\ + !*** ./js/src/core/page-skeleton/constants.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* binding */ SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* binding */ VIEWS) +/* harmony export */ }); +var PREFIX = 'frm-page-skeleton'; +var SEARCH_RESULT_ITEM = 'frm-card-item'; +var VIEWS = { + ALL_ITEMS: 'all-items' +}; + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/elements.js": +/*!********************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/elements.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* binding */ addElements), +/* harmony export */ getElements: () => (/* binding */ getElements) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _emptyStateElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emptyStateElement */ "./js/src/core/page-skeleton/elements/emptyStateElement.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var bodyContent = document.getElementById('post-body-content'); +var sidebar = document.getElementById("".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-sidebar")); + +// Append empty state elements to body content +var emptyState = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.createEmptyStateElement)(); +bodyContent === null || bodyContent === void 0 || bodyContent.appendChild(emptyState); +var emptyStateElements = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.getEmptyStateElements)(); +var _createPageElements = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageElements)(_objectSpread({ + bodyContent: bodyContent, + // Sidebar elements + sidebar: sidebar, + searchInput: sidebar.querySelector('.frm-search-input'), + categoryItems: sidebar.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat")), + allItemsCategory: sidebar.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS, "\"]")) + }, emptyStateElements)), + getElements = _createPageElements.getElements, + addElements = _createPageElements.addElements; + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/emptyStateElement.js": +/*!*****************************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/emptyStateElement.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createEmptyStateElement: () => (/* binding */ createEmptyStateElement), +/* harmony export */ getEmptyStateElements: () => (/* binding */ getEmptyStateElements) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _window$frmDom = window.frmDom, + tag = _window$frmDom.tag, + div = _window$frmDom.div, + a = _window$frmDom.a, + img = _window$frmDom.img; + +/** + * Create and return the Empty State HTML element. + * + * @return {HTMLElement} The Empty State element. + */ +function createEmptyStateElement() { + var button = a({ + className: 'button button-primary frm-button-primary' + }); + button.setAttribute('role', 'button'); + return div({ + id: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state"), + className: "frm-flex-col frm-flex-center frm-gap-md ".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS), + children: [img({ + src: "".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.PLUGIN_URL, "/images/page-skeleton/empty-state.svg"), + alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Empty State', 'formidable') + }), div({ + className: 'frmcenter', + children: [tag('h2', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title frm-mb-0") + }), tag('p', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text frm-mb-0") + })] + }), button] + }); +} + +/** + * Return the elements related to the Empty State. + * + * @return {Object} Object containing Empty State related DOM elements. + */ +function getEmptyStateElements() { + var emptyState = document.querySelector("#".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state")); + return { + emptyState: emptyState, + emptyStateTitle: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title")), + emptyStateText: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text")), + emptyStateButton: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector('.button') + }; +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/index.js": +/*!*****************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/index.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/elements.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/categoryListener.js": +/*!**************************************************************!*\ + !*** ./js/src/core/page-skeleton/events/categoryListener.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addCategoryEvents: () => (/* binding */ addCategoryEvents) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ "./js/src/core/page-skeleton/events/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Manages event handling for sidebar category links. + * + * @return {void} + */ +function addCategoryEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + categoryItems = _getElements.categoryItems; + + // Attach click and keyboard event listeners to each sidebar category + categoryItems.forEach(function (category) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(category, onCategoryClick); + category.addEventListener('keydown', onCategoryKeydown); + }); +} + +/** + * Handles the click event on a category item. + * + * @private + * @param {Event} event The click event object. + */ +var onCategoryClick = function onCategoryClick(event) { + var clickedCategory = event.currentTarget; + var newSelectedCategory = clickedCategory.getAttribute('data-category'); + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory, + selectedCategoryEl = _getState.selectedCategoryEl, + notEmptySearchText = _getState.notEmptySearchText; + + // If the selected category hasn't changed, return early + if (selectedCategory === newSelectedCategory) { + return; + } + + /** + * Filter hook to modify the selected category. + * + * @param {string} selectedCategory The selected category + */ + selectedCategory = wp.hooks.applyFilters('frmPage.selectedCategory', newSelectedCategory); + + // Highlight the newly clicked category and update the application state + selectedCategoryEl.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + selectedCategoryEl = clickedCategory; + selectedCategoryEl.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setState)({ + selectedCategory: selectedCategory, + selectedCategoryEl: selectedCategoryEl + }); + + // Reset the search input if it contains text + if (notEmptySearchText) { + (0,___WEBPACK_IMPORTED_MODULE_4__.resetSearchInput)(); + } + + /** + * Trigger custom action to update category content. + * + * @param {string} selectedCategory The selected category. + */ + wp.hooks.doAction('frmPage.onCategoryClick', selectedCategory); + + // Smoothly display the updated UI elements + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements2.bodyContent; + new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent).fadeIn(); +}; + +/** + * Handles the keyboard event on a category item. + * + * @param {KeyboardEvent} event The keyboard event object. + * @return {void} + */ +function onCategoryKeydown(event) { + // Only respond to 'Enter' or 'Space' key presses + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault(); + onCategoryClick(event); + } +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/events/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addCategoryEvents: () => (/* reexport safe */ _categoryListener__WEBPACK_IMPORTED_MODULE_1__.addCategoryEvents), +/* harmony export */ resetSearchInput: () => (/* binding */ resetSearchInput) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _categoryListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./categoryListener */ "./js/src/core/page-skeleton/events/categoryListener.js"); +/** + * Internal dependencies + */ + + +/** + * Resets the value of the search input and triggers an input event. + * + * @return {void} + */ +function resetSearchInput() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + searchInput = _getElements.searchInput; + searchInput.value = ''; + searchInput.dispatchEvent(new Event('input', { + bubbles: true + })); +} + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/index.js": +/*!********************************************!*\ + !*** ./js/src/core/page-skeleton/index.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.VIEWS), +/* harmony export */ addCategoryEvents: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.addCategoryEvents), +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.getElements), +/* harmony export */ getSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getState), +/* harmony export */ resetSearchInput: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.resetSearchInput), +/* harmony export */ setSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setState) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ "./js/src/core/page-skeleton/events/index.js"); + + + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageState */ "./js/src/core/page-skeleton/shared/pageState.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/pageState.js": +/*!*******************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/pageState.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* binding */ getSingleState), +/* harmony export */ getState: () => (/* binding */ getState), +/* harmony export */ setSingleState: () => (/* binding */ setSingleState), +/* harmony export */ setState: () => (/* binding */ setState) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + allItemsCategory = _getElements.allItemsCategory; +var _createPageState = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageState)({ + notEmptySearchText: false, + selectedCategory: _constants__WEBPACK_IMPORTED_MODULE_2__.VIEWS.ALL_ITEMS, + selectedCategoryEl: allItemsCategory + }), + getState = _createPageState.getState, + getSingleState = _createPageState.getSingleState, + setState = _createPageState.setState, + setSingleState = _createPageState.setSingleState; + + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/globalModules.js": +/*!********************************************!*\ + !*** ./js/src/core/utils/globalModules.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* binding */ a), +/* harmony export */ bold: () => (/* binding */ bold), +/* harmony export */ button: () => (/* binding */ button), +/* harmony export */ div: () => (/* binding */ div), +/* harmony export */ doJsonPost: () => (/* binding */ doJsonPost), +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ footerButton: () => (/* binding */ footerButton), +/* harmony export */ img: () => (/* binding */ img), +/* harmony export */ maybeCreateModal: () => (/* binding */ maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault), +/* harmony export */ p: () => (/* binding */ p), +/* harmony export */ span: () => (/* binding */ span), +/* harmony export */ svg: () => (/* binding */ svg), +/* harmony export */ tag: () => (/* binding */ tag) +/* harmony export */ }); +var _frmDom = frmDom, + div = _frmDom.div, + span = _frmDom.span, + tag = _frmDom.tag, + a = _frmDom.a, + img = _frmDom.img, + svg = _frmDom.svg; +var _frmDom$modal = frmDom.modal, + maybeCreateModal = _frmDom$modal.maybeCreateModal, + footerButton = _frmDom$modal.footerButton; +var _frmDom$util = frmDom.util, + onClickPreventDefault = _frmDom$util.onClickPreventDefault, + documentOn = _frmDom$util.documentOn; +var doJsonPost = frmDom.ajax.doJsonPost; +var p = function p(args) { + return tag('p', args); +}; +var bold = function bold(args) { + return tag('strong', args); +}; +var button = function button(args) { + return tag('button', args); +}; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.a), +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ bold: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.bold), +/* harmony export */ button: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.button), +/* harmony export */ div: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.div), +/* harmony export */ doJsonPost: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.doJsonPost), +/* harmony export */ documentOn: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ footerButton: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.footerButton), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ img: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.img), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ maybeCreateModal: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ p: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.p), +/* harmony export */ removeParamFromHistory: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError), +/* harmony export */ span: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.span), +/* harmony export */ svg: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.svg), +/* harmony export */ tag: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.tag) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _globalModules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globalModules */ "./js/src/core/utils/globalModules.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeParamFromHistory: () => (/* binding */ removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/** + * Removes a query parameter and updates history with replaceState. + * + * @param {string} paramName The query parameter to remove. + * @return {void} + */ +var removeParamFromHistory = function removeParamFromHistory(paramName) { + return history.replaceState({}, '', removeQueryParam(paramName)); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _defineProperty) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPrimitive) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); + +function toPrimitive(t, r) { + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPropertyKey) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); + + +function toPropertyKey(t) { + var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); + return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _typeof) +/* harmony export */ }); +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!*************************************!*\ + !*** ./js/src/addons-page/index.js ***! + \*************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./js/src/addons-page/ui/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events */ "./js/src/addons-page/events/index.js"); +/* harmony import */ var _addons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addons */ "./js/src/addons-page/addons/index.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_3__["default"])(function () { + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.setupInitialView)(); + (0,_addons__WEBPACK_IMPORTED_MODULE_2__.buildCategorizedAddons)(); + (0,_events__WEBPACK_IMPORTED_MODULE_1__.addEventListeners)(); +}); +})(); + +/******/ })() +; +//# sourceMappingURL=addons-page.js.map \ No newline at end of file diff --git a/js/addons-page.js.map b/js/addons-page.js.map index 53b2d0b4d0..f550239086 100644 --- a/js/addons-page.js.map +++ b/js/addons-page.js.map @@ -1 +1 @@ -{"version":3,"file":"addons-page.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AC3HA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,iC;;;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B,yC;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iEAAe,iBAAiB,EAAC;AACjC,6C;;;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,oBAAoB;AAChC;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B,yC;;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA,iEAAe,eAAe,EAAC;AAC/B,2C;;;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;A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ACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;;AAEA,YAAY,4BAA4B;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;;ACJqD;AACrD;AACA,+BAA+B,gEAAgB;AAC/C;;;;;;;;;;;;;;;;ACHA;AACA;AACA;;;;;;;;;;;;;;;;;ACF+C;AAC/C;AACA,cAAc,6DAAa;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACRA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACFuD;AACJ;AACsB;AAClB;AACvD;AACA,SAAS,iEAAiB,OAAO,+DAAe,OAAO,0EAA0B,OAAO,iEAAiB;AACzG;;;;;;;;;;;;;;;;;ACNkC;AAClC;AACA,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC3C;AACA,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;;ACLA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACRqD;AACrD;AACA;AACA,qCAAqC,gEAAgB;AACrD,cAAc;AACd,+LAA+L,gEAAgB;AAC/M;AACA;;;;;;;UCPA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AAC4C;;AAE5C;AACA;AACA;AACwC;AACK;AACK;AAElDC,gEAAQ,CAAE,YAAM;EACftK,qDAAgB,CAAC,CAAC;EAClBxH,+DAAsB,CAAC,CAAC;EACxBkF,0DAAiB,CAAC,CAAC;AACpB,CAAE,CAAC,C","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/addons-page/addons/categorizeAddons.js","webpack://formidable/./js/src/addons-page/addons/index.js","webpack://formidable/./js/src/addons-page/constants.js","webpack://formidable/./js/src/addons-page/elements/elements.js","webpack://formidable/./js/src/addons-page/elements/index.js","webpack://formidable/./js/src/addons-page/events/addonToggleListener.js","webpack://formidable/./js/src/addons-page/events/index.js","webpack://formidable/./js/src/addons-page/events/searchListener.js","webpack://formidable/./js/src/addons-page/shared/index.js","webpack://formidable/./js/src/addons-page/shared/pageState.js","webpack://formidable/./js/src/addons-page/ui/index.js","webpack://formidable/./js/src/addons-page/ui/searchState.js","webpack://formidable/./js/src/addons-page/ui/setupInitialView.js","webpack://formidable/./js/src/addons-page/ui/showEmptyState.js","webpack://formidable/./js/src/addons-page/ui/showSelectedCategory.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/factory/createPageElements.js","webpack://formidable/./js/src/core/factory/createPageState.js","webpack://formidable/./js/src/core/factory/index.js","webpack://formidable/./js/src/core/page-skeleton/constants.js","webpack://formidable/./js/src/core/page-skeleton/elements/elements.js","webpack://formidable/./js/src/core/page-skeleton/elements/emptyStateElement.js","webpack://formidable/./js/src/core/page-skeleton/events/categoryListener.js","webpack://formidable/./js/src/core/page-skeleton/events/index.js","webpack://formidable/./js/src/core/page-skeleton/index.js","webpack://formidable/./js/src/core/page-skeleton/shared/pageState.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/addons-page/index.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEWS } from '../constants';\n\nexport const categorizedAddons = {};\n\ncategorizedAddons[ VIEWS.AVAILABLE ] = [];\ncategorizedAddons[ VIEWS.ACTIVE ] = [];\n\n/**\n * Builds a categorized list of addons.\n *\n * @return {void}\n */\nexport function buildCategorizedAddons() {\n\tconst { addons } = getElements();\n\n\taddons.forEach( addon => {\n\t\t// Extract and split the categories from data attribute\n\t\tconst dataCategories = addon.getAttribute( 'data-categories' );\n\t\tif ( ! dataCategories ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst categories = dataCategories.split( ',' );\n\n\t\tcategories.forEach( category => {\n\t\t\t// Initialize the category array if not already done\n\t\t\tif ( ! categorizedAddons[ category ] ) {\n\t\t\t\tcategorizedAddons[ category ] = [];\n\t\t\t}\n\n\t\t\t// Add the addon to the appropriate category\n\t\t\tcategorizedAddons[ category ].push( addon );\n\t\t} );\n\t} );\n}\n","export * from './categorizeAddons';\n","export const { addonRequestURL } = window.frmAddonsVars;\nexport const PREFIX = 'frm-addons';\n\nexport const VIEWS = {\n\tAVAILABLE: 'available-addons',\n\tACTIVE: 'active-addons',\n};\n\nexport const PLANS = {\n\tBASIC: 'basic',\n\tPLUS: 'plus',\n\tBUSINESS: 'business',\n\tELITE: 'elite',\n};\n","/**\n * External dependencies\n */\nimport {\n\tgetElements,\n\taddElements,\n\tPREFIX as SKELETON_PREFIX,\n} from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PLANS, PREFIX, VIEWS } from '../constants';\n\nconst { bodyContent, sidebar } = getElements();\n\nbodyContent\n\t.querySelectorAll( '.frm-card-item:not(.plugin-card-formidable-pro)' )\n\t.forEach( addon => {\n\t\tconst categories = addon.dataset.categories;\n\t\tswitch ( true ) {\n\t\t\tcase categories.includes( PLANS.BUSINESS ):\n\t\t\t\taddon.setAttribute(\n\t\t\t\t\t'data-categories',\n\t\t\t\t\t`${ categories },${ PLANS.ELITE }`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase categories.includes( PLANS.PLUS ):\n\t\t\t\taddon.setAttribute(\n\t\t\t\t\t'data-categories',\n\t\t\t\t\t`${ categories },${ PLANS.BUSINESS },${ PLANS.ELITE }`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase categories.includes( PLANS.BASIC ):\n\t\t\t\taddon.setAttribute(\n\t\t\t\t\t'data-categories',\n\t\t\t\t\t`${ categories },${ PLANS.PLUS },${ PLANS.BUSINESS },${ PLANS.ELITE }`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t} );\n\naddElements( {\n\t// Body elements\n\tupgradeBanner: document.getElementById( 'frm-upgrade-banner' ),\n\n\t// Category elements\n\tavailableCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEWS.AVAILABLE }\"]`\n\t),\n\tactiveCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEWS.ACTIVE }\"]`\n\t),\n\tcategoriesTopDivider: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-divider`\n\t),\n\tbasicPlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.BASIC }\"]`\n\t),\n\tplusPlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.PLUS }\"]`\n\t),\n\tbusinessPlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.BUSINESS }\"]`\n\t),\n\telitePlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.ELITE }\"]`\n\t),\n\n\t// Card elements\n\taddonsList: document.getElementById( `${ PREFIX }-list` ),\n\taddons: bodyContent.querySelectorAll( '.frm-card-item' ),\n\tavailableAddons: bodyContent.querySelectorAll(\n\t\t'.frm-card-item:not(.frm-locked-item)'\n\t),\n\taddonsToggle: bodyContent.querySelectorAll( '.frm_toggle_block' ),\n\n\t// Add children of the bodyContent to the elements object\n\tbodyContentChildren: bodyContent?.children,\n} );\n\nexport { getElements, addElements };\n","export * from './elements';\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { setupActiveCategory } from '../ui/';\n\nlet targetButton;\n\n/**\n * Manages event handling for addons toggle.\n *\n * @return {void}\n */\nfunction addAddonToggleEvents() {\n\tconst { addonsToggle } = getElements();\n\n\taddonsToggle.forEach( addonToggle =>\n\t\taddonToggle.addEventListener( 'click', onAddonToggleClick )\n\t);\n\n\twp.hooks.addAction( 'frm_update_addon_state', 'frmAddonPage', () => {\n\t\tsetupActiveCategory();\n\t} );\n}\n\n/**\n * Handles the click event on the addon toggle.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onAddonToggleClick = event => {\n\tif ( targetButton?.classList.contains( 'frm_loading_button' ) ) {\n\t\treturn;\n\t}\n\n\tconst addonToggle = event.currentTarget;\n\tconst addon = addonToggle.closest( '.frm-card-item' );\n\n\tconst actionMap = new Map( [\n\t\t[ 'frm-addon-not-installed', '.frm-install-addon' ],\n\t\t[ 'frm-addon-installed', '.frm-activate-addon' ],\n\t\t[ 'frm-addon-active', '.frm-deactivate-addon' ],\n\t] );\n\n\tfor ( const [ className, selector ] of actionMap.entries() ) {\n\t\tif ( addon.classList.contains( className ) ) {\n\t\t\ttargetButton = addon.querySelector( selector );\n\t\t\ttargetButton.click();\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nexport default addAddonToggleEvents;\n","/**\n * External dependencies\n */\nimport { addCategoryEvents } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { showSelectedCategory } from '../ui';\nimport addAddonToggle from './addonToggleListener';\nimport addSearchEvents from './searchListener';\n\n/**\n * Attaches event listeners for handling user interactions.\n *\n * @return {void}\n */\nexport function addEventListeners() {\n\taddCategoryEvents();\n\twp.hooks.addAction(\n\t\t'frmPage.onCategoryClick',\n\t\t'frmAddonsPage',\n\t\tselectedCategory => {\n\t\t\tshowSelectedCategory( selectedCategory );\n\t\t}\n\t);\n\n\taddAddonToggle();\n\taddSearchEvents();\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setSingleState } from '../shared';\nimport { showSearchState, displaySearchElements } from '../ui';\n\nconst { init: initSearch } = window.frmDom.search;\n\n/**\n * Adds search-related event listeners by calling the 'initSearch' function.\n *\n * @see frmDom.search method\n * @return {void}\n */\nfunction addSearchEvents() {\n\tconst { searchInput } = getElements();\n\n\tinitSearch( searchInput, 'frm-card-item', { handleSearchResult } );\n}\n\n/**\n * Manages UI state based on search results and input value.\n *\n * @private\n * @param {Object} args Contains flags for search status.\n * @param {boolean} args.foundSomething True if search yielded results.\n * @param {boolean} args.notEmptySearchText True if search input is not empty.\n * @param {Event} event The event object (input, search, or change event).\n * @return {void}\n */\nfunction handleSearchResult( { foundSomething, notEmptySearchText }, event ) {\n\t// Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events,\n\t// triggering this method twice on 'x' button click.\n\tif ( event && event.type === 'search' && event.target.value === '' ) {\n\t\treturn;\n\t}\n\n\tconst state = getState();\n\tconst { allItemsCategory } = getElements();\n\n\tsetSingleState( 'notEmptySearchText', notEmptySearchText );\n\n\t// Revert to 'All Templates' if search and selected category are both empty\n\tif ( ! state.notEmptySearchText && ! state.selectedCategory ) {\n\t\tallItemsCategory.dispatchEvent(\n\t\t\tnew Event( 'click', { bubbles: true } )\n\t\t);\n\n\t\treturn;\n\t}\n\n\t// Display search state if a category is selected\n\tif ( state.selectedCategory ) {\n\t\tshowSearchState( notEmptySearchText );\n\n\t\t// Setting \"selectedCategory\" to an empty string as a flag for search state\n\t\tif ( notEmptySearchText ) {\n\t\t\tsetSingleState( 'selectedCategory', '' );\n\t\t}\n\t}\n\n\tdisplaySearchElements( foundSomething );\n}\n\nexport default addSearchEvents;\n","export * from './pageState';\n","/**\n * External dependencies\n */\nimport {\n\tgetState,\n\tgetSingleState,\n\tsetState,\n\tsetSingleState,\n} from 'core/page-skeleton';\n\n// NOTE:\n// Use setState() here to add new states on the Add-Ons page.\n// Check the 'core/page-skeleton' package for shared states you can use.\n\nexport { getState, getSingleState, setState, setSingleState };\n","export * from './setupInitialView';\nexport * from './showSelectedCategory';\nexport * from './searchState';\nexport * from './showEmptyState';\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { frmAnimate, hideElements, hide, show, isVisible } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState } from '../shared';\nimport { showEmptyState } from '.';\n\n/**\n * Updates the UI to display the search state.\n *\n * @param {boolean} notEmptySearchText True if search input is not empty.\n * @return {void}\n */\nexport function showSearchState( notEmptySearchText ) {\n\tconst { bodyContent, bodyContentChildren, addonsList } = getElements();\n\n\t// Remove highlighting from the currently selected category if the search text is not empty\n\tif ( notEmptySearchText ) {\n\t\tgetSingleState( 'selectedCategoryEl' ).classList.remove(\n\t\t\tCURRENT_CLASS\n\t\t);\n\t}\n\n\t// Hide non-relevant elements in the body content\n\thideElements( bodyContentChildren );\n\n\tshow( addonsList );\n\n\t// Smoothly display the updated UI elements\n\tnew frmAnimate( bodyContent ).fadeIn();\n}\n\n/**\n * Displays search results based on search outcome.\n *\n * @param {boolean} foundSomething True if search yielded results.\n * @return {void}\n */\nexport function displaySearchElements( foundSomething ) {\n\t// Show empty state if no templates found\n\tif ( ! foundSomething ) {\n\t\tshowEmptyState();\n\t\treturn;\n\t}\n\n\t// Hide empty state if currently displayed\n\tconst { emptyState } = getElements();\n\tif ( isVisible( emptyState ) ) {\n\t\thide( emptyState );\n\t}\n}\n","/**\n * External dependencies\n */\nimport { HIDE_JS_CLASS } from 'core/constants';\nimport { frmAnimate, hideElements, show } from 'core/utils';\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { categorizedAddons } from '../addons';\nimport { PREFIX, VIEWS } from '../constants';\n\nconst CAT_COUNT_CLASS = `.${ SKELETON_PREFIX }-cat-count`;\n\n/**\n * Sets up the initial view, performing any required\n * DOM manipulations for proper element presentation.\n *\n * @return {void}\n */\nexport function setupInitialView() {\n\tconst { sidebar, searchInput, bodyContent } = getElements();\n\n\tconst bodyContentAnimate = new frmAnimate( bodyContent );\n\n\tsearchInput.value = '';\n\n\tsetupActiveCategory();\n\tsetupAvailableCategory();\n\tsetupAllAddonsCategory();\n\tsetupPlansCategory();\n\n\t// Smoothly display the updated UI elements\n\tbodyContent.classList.remove( HIDE_JS_CLASS );\n\tsidebar.classList.remove( HIDE_JS_CLASS );\n\tbodyContentAnimate.fadeIn();\n\tshow( sidebar );\n}\n\n/**\n * Sets up the \"Active\" category, updating the\n * categorizedAddons object and the category count.\n *\n * @return {void}\n */\nexport function setupActiveCategory() {\n\tconst { activeCategory, availableCategory, categoriesTopDivider } =\n\t\tgetElements();\n\tconst activeAddons = document.querySelectorAll(\n\t\t'.frm-addon-active:not(.frm-locked-item)'\n\t);\n\n\tif ( activeAddons.length === 0 ) {\n\t\thideElements( [\n\t\t\tactiveCategory,\n\t\t\tavailableCategory,\n\t\t\tcategoriesTopDivider,\n\t\t] );\n\t\treturn;\n\t}\n\n\tcategorizedAddons[ VIEWS.ACTIVE ] = activeAddons;\n\n\t// Set \"Active\" category count\n\tactiveCategory.querySelector( CAT_COUNT_CLASS ).textContent = activeAddons.length;\n}\n\n/**\n * Sets up the \"Available\" category, updating the\n * categorizedAddons object and the category count.\n *\n * @private\n * @return {void}\n */\nfunction setupAvailableCategory() {\n\tconst { bodyContent, availableCategory, availableAddons } = getElements();\n\n\tcategorizedAddons[ VIEWS.AVAILABLE ] = availableAddons;\n\n\t// Set \"Available\" category count\n\tif ( availableCategory ) {\n\t\tavailableCategory.querySelector( CAT_COUNT_CLASS ).textContent = availableAddons.length;\n\n\t\tconst upgradeBannerAvailableCount = bodyContent.querySelector(\n\t\t\t`.${ PREFIX }-available-count`\n\t\t);\n\t\tif ( upgradeBannerAvailableCount ) {\n\t\t\tupgradeBannerAvailableCount.textContent = availableAddons.length;\n\t\t}\n\t}\n}\n\n/**\n * Sets up the \"All Add-Ons\" category, updating the\n * category count.\n *\n * @private\n * @return {void}\n */\nfunction setupAllAddonsCategory() {\n\tconst { allItemsCategory, addons } = getElements();\n\n\t// Set \"All Add-Ons\" category count\n\tallItemsCategory.querySelector( CAT_COUNT_CLASS ).textContent = addons.length;\n}\n\n/**\n * Sets up the \"All Add-Ons\" category, updating the\n * category count.\n *\n * @private\n * @return {void}\n */\nfunction setupPlansCategory() {\n\tconst {\n\t\tbasicPlanCategory,\n\t\tplusPlanCategory,\n\t\tbusinessPlanCategory,\n\t\telitePlanCategory,\n\t} = getElements();\n\n\tconst getCount = category => parseInt( category.querySelector( CAT_COUNT_CLASS ).textContent, 10 ) || 0;\n\n\t// The \"Formidable Pro\" add-on is included in all plans, so we just consider that in the basicCount\n\tconst basicCount = getCount( basicPlanCategory );\n\tconst plusCount = getCount( plusPlanCategory ) - 1;\n\tconst businessCount = getCount( businessPlanCategory ) - 1;\n\tconst eliteCount = getCount( elitePlanCategory ) - 1;\n\n\t// Update the text content for each category\n\tplusPlanCategory.querySelector( CAT_COUNT_CLASS ).textContent = basicCount + plusCount;\n\tbusinessPlanCategory.querySelector( CAT_COUNT_CLASS ).textContent = basicCount + plusCount + businessCount;\n\telitePlanCategory.querySelector( CAT_COUNT_CLASS ).textContent = basicCount + plusCount + businessCount + eliteCount;\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { showElements } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState } from '../shared';\nimport { addonRequestURL } from '../constants';\n\n/**\n * Display the search-empty state.\n *\n * @return {void}\n */\nexport function showEmptyState() {\n\tconst { selectedCategory } = getState();\n\tconst { emptyState, emptyStateButton, emptyStateTitle, emptyStateText } =\n\t\tgetElements();\n\n\temptyState.setAttribute( 'data-view', selectedCategory );\n\n\temptyStateTitle.textContent = __( 'No add-ons found', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'Sorry, we didn\\'t find any add-ons that match your criteria.',\n\t\t'formidable'\n\t);\n\n\temptyStateButton.textContent = __( 'Request Add-On', 'formidable' );\n\temptyStateButton.href = addonRequestURL;\n\temptyStateButton.setAttribute( 'target', '_blank' );\n\n\tshowElements( [ emptyState, emptyStateButton ] );\n}\n","/**\n * External dependencies\n */\nimport { showElements, hideElements, show, hide } from 'core/utils';\nimport { VIEWS as SKELETON_VIEWS } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { categorizedAddons } from '../addons';\nimport { showEmptyState } from '.';\n\n/**\n * Show addons based on selected category.\n *\n * @param {string} selectedCategory The selected category to display addons for.\n * @return {void}\n */\nexport function showSelectedCategory( selectedCategory ) {\n\tconst { bodyContent, addons, emptyState, upgradeBanner } = getElements();\n\n\thide( emptyState );\n\tshow( upgradeBanner );\n\n\tbodyContent.dataset.category = selectedCategory;\n\n\tif ( SKELETON_VIEWS.ALL_ITEMS === selectedCategory ) {\n\t\tshowElements( addons );\n\t\treturn;\n\t}\n\n\thideElements( addons );\n\n\tif ( categorizedAddons[ selectedCategory ].length === 0 ) {\n\t\tshowEmptyState();\n\t\thide( upgradeBanner );\n\t} else {\n\t\tshowElements( categorizedAddons[ selectedCategory ] );\n\t}\n}\n\nexport default showSelectedCategory;\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","/**\n * Creates a page elements manager.\n *\n * @param {Object} [initialElements={}] An object containing initial DOM elements.\n * @throws {Error} Throws an error if the `initialElements` is not an object.\n * @return {Object} An object with methods to get and add elements.\n */\nexport function createPageElements( initialElements = {} ) {\n\tif ( typeof initialElements !== 'object' || initialElements === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageElements: initialElements must be a non-null object'\n\t\t);\n\t}\n\n\tlet elements = initialElements;\n\n\t/**\n\t * Retrieve the initialized essential DOM elements.\n\t *\n\t * @return {Object} The initialized elements object.\n\t */\n\tfunction getElements() {\n\t\treturn elements;\n\t}\n\n\t/**\n\t * Add new elements to the elements object.\n\t *\n\t * @param {Object} newElements An object containing new elements to be added.\n\t * @throws {Error} Throws an error if the `newElements` is not a non-null object.\n\t * @return {void} Updates the elements object by merging the new elements into it.\n\t */\n\tfunction addElements( newElements ) {\n\t\tif ( typeof newElements !== 'object' || newElements === null ) {\n\t\t\tthrow new Error(\n\t\t\t\t'addElements: newElements must be a non-null object'\n\t\t\t);\n\t\t}\n\n\t\telements = { ...elements, ...newElements };\n\t}\n\n\treturn { getElements, addElements };\n}\n","/**\n * Creates a page state manager.\n *\n * @param {Object} [initialState={}] An object containing the initial state.\n * @throws {Error} Throws an error if the `initialState` is not a plain object.\n * @return {Object} An object with methods to initialize, get, and set the page state.\n */\nexport function createPageState( initialState = {} ) {\n\tif ( typeof initialState !== 'object' || initialState === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageState: initialState must be a non-null object'\n\t\t);\n\t}\n\n\tlet state = initialState;\n\n\t/**\n\t * Returns the current page state.\n\t *\n\t * @return {Object|null} The current state of the page or null if not initialized.\n\t */\n\tconst getState = () => state;\n\n\t/**\n\t * Returns a specific property from the current page state.\n\t *\n\t * @param {string} propertyName The name of the property to retrieve.\n\t * @return {*} The value of the specified property, or null if it doesn't exist.\n\t */\n\tconst getSingleState = propertyName => {\n\t\tconst value = Reflect.get( state, propertyName );\n\n\t\t// We convert `undefined` to `null` for a consistent API.\n\t\t// This makes it easier for users to handle the results since all missing properties return `null`.\n\t\treturn value === undefined ? null : value;\n\t};\n\n\t/**\n\t * Updates the page state with new values.\n\t *\n\t * @param {Object} newState The new values to update the state with.\n\t * @throws {Error} Throws an error if `newState` is not a plain object.\n\t * @return {void}\n\t */\n\tconst setState = newState => {\n\t\tif ( typeof newState !== 'object' || newState === null ) {\n\t\t\tthrow new Error( 'setState: newState must be a non-null object' );\n\t\t}\n\n\t\tstate = { ...state, ...newState };\n\t};\n\n\t/**\n\t * Updates a specific property in the page state with a new value.\n\t *\n\t * @param {string} propertyName The name of the property to update.\n\t * @param {*} value The new value to set for the property.\n\t * @return {void}\n\t */\n\tconst setSingleState = ( propertyName, value ) => {\n\t\tif ( Reflect.has( state, propertyName ) ) {\n\t\t\tReflect.set( state, propertyName, value );\n\t\t}\n\t};\n\n\treturn { getState, getSingleState, setState, setSingleState };\n}\n","export * from './createPageElements';\nexport * from './createPageState';\n","export const PREFIX = 'frm-page-skeleton';\nexport const SEARCH_RESULT_ITEM = 'frm-card-item';\nexport const VIEWS = {\n\tALL_ITEMS: 'all-items',\n};\n","/**\n * External dependencies\n */\nimport { createPageElements } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEWS } from '../constants';\nimport {\n\tcreateEmptyStateElement,\n\tgetEmptyStateElements,\n} from './emptyStateElement';\n\nconst bodyContent = document.getElementById( 'post-body-content' );\nconst sidebar = document.getElementById( `${ PREFIX }-sidebar` );\n\n// Append empty state elements to body content\nconst emptyState = createEmptyStateElement();\nbodyContent?.appendChild( emptyState );\nconst emptyStateElements = getEmptyStateElements();\n\nexport const { getElements, addElements } = createPageElements( {\n\tbodyContent,\n\n\t// Sidebar elements\n\tsidebar,\n\tsearchInput: sidebar.querySelector( '.frm-search-input' ),\n\tcategoryItems: sidebar.querySelectorAll( `.${ PREFIX }-cat` ),\n\tallItemsCategory: sidebar.querySelector(\n\t\t`.${ PREFIX }-cat[data-category=\"${ VIEWS.ALL_ITEMS }\"]`\n\t),\n\n\t// Empty State elements\n\t...emptyStateElements,\n} );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { PLUGIN_URL, HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX } from '../constants';\n\nconst { tag, div, a, img } = window.frmDom;\n\n/**\n * Create and return the Empty State HTML element.\n *\n * @return {HTMLElement} The Empty State element.\n */\nexport function createEmptyStateElement() {\n\tconst button = a( {\n\t\tclassName: 'button button-primary frm-button-primary',\n\t} );\n\tbutton.setAttribute( 'role', 'button' );\n\n\treturn div( {\n\t\tid: `${ PREFIX }-empty-state`,\n\t\tclassName: `frm-flex-col frm-flex-center frm-gap-md ${ HIDDEN_CLASS }`,\n\t\tchildren: [\n\t\t\timg( {\n\t\t\t\tsrc: `${ PLUGIN_URL }/images/page-skeleton/empty-state.svg`,\n\t\t\t\talt: __( 'Empty State', 'formidable' ),\n\t\t\t} ),\n\t\t\tdiv( {\n\t\t\t\tclassName: 'frmcenter',\n\t\t\t\tchildren: [\n\t\t\t\t\ttag( 'h2', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-title frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t\ttag( 'p', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-text frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t],\n\t\t\t} ),\n\t\t\tbutton,\n\t\t],\n\t} );\n}\n\n/**\n * Return the elements related to the Empty State.\n *\n * @return {Object} Object containing Empty State related DOM elements.\n */\nexport function getEmptyStateElements() {\n\tconst emptyState = document.querySelector( `#${ PREFIX }-empty-state` );\n\n\treturn {\n\t\temptyState,\n\t\temptyStateTitle: emptyState?.querySelector( `.${ PREFIX }-title` ),\n\t\temptyStateText: emptyState?.querySelector( `.${ PREFIX }-text` ),\n\t\temptyStateButton: emptyState?.querySelector( '.button' ),\n\t};\n}\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { onClickPreventDefault, frmAnimate } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setState } from '../shared';\nimport { resetSearchInput } from '.';\n\n/**\n * Manages event handling for sidebar category links.\n *\n * @return {void}\n */\nexport function addCategoryEvents() {\n\tconst { categoryItems } = getElements();\n\n\t// Attach click and keyboard event listeners to each sidebar category\n\tcategoryItems.forEach( category => {\n\t\tonClickPreventDefault( category, onCategoryClick );\n\t\tcategory.addEventListener( 'keydown', onCategoryKeydown );\n\t} );\n}\n\n/**\n * Handles the click event on a category item.\n *\n * @private\n * @param {Event} event The click event object.\n */\nconst onCategoryClick = event => {\n\tconst clickedCategory = event.currentTarget;\n\tconst newSelectedCategory = clickedCategory.getAttribute( 'data-category' );\n\tlet { selectedCategory, selectedCategoryEl, notEmptySearchText } =\n\t\tgetState();\n\n\t// If the selected category hasn't changed, return early\n\tif ( selectedCategory === newSelectedCategory ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * Filter hook to modify the selected category.\n\t *\n\t * @param {string} selectedCategory The selected category\n\t */\n\tselectedCategory = wp.hooks.applyFilters(\n\t\t'frmPage.selectedCategory',\n\t\tnewSelectedCategory\n\t);\n\n\t// Highlight the newly clicked category and update the application state\n\tselectedCategoryEl.classList.remove( CURRENT_CLASS );\n\tselectedCategoryEl = clickedCategory;\n\tselectedCategoryEl.classList.add( CURRENT_CLASS );\n\tsetState( { selectedCategory, selectedCategoryEl } );\n\n\t// Reset the search input if it contains text\n\tif ( notEmptySearchText ) {\n\t\tresetSearchInput();\n\t}\n\n\t/**\n\t * Trigger custom action to update category content.\n\t *\n\t * @param {string} selectedCategory The selected category.\n\t */\n\twp.hooks.doAction( 'frmPage.onCategoryClick', selectedCategory );\n\n\t// Smoothly display the updated UI elements\n\tconst { bodyContent } = getElements();\n\tnew frmAnimate( bodyContent ).fadeIn();\n};\n\n/**\n * Handles the keyboard event on a category item.\n *\n * @param {KeyboardEvent} event The keyboard event object.\n * @return {void}\n */\nfunction onCategoryKeydown( event ) {\n\t// Only respond to 'Enter' or 'Space' key presses\n\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\tevent.preventDefault();\n\t\tonCategoryClick( event );\n\t}\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Resets the value of the search input and triggers an input event.\n *\n * @return {void}\n */\nexport function resetSearchInput() {\n\tconst { searchInput } = getElements();\n\n\tsearchInput.value = '';\n\tsearchInput.dispatchEvent( new Event( 'input', { bubbles: true } ) );\n}\n\nexport * from './categoryListener';\n","export * from './constants';\nexport * from './elements';\nexport * from './shared';\nexport * from './events';\n","/**\n * External dependencies\n */\nimport { createPageState } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEWS } from '../constants';\n\nconst { allItemsCategory } = getElements();\n\nexport const { getState, getSingleState, setState, setSingleState } =\n\tcreatePageState( {\n\t\tnotEmptySearchText: false,\n\t\tselectedCategory: VIEWS.ALL_ITEMS,\n\t\tselectedCategoryEl: allItemsCategory,\n\t} );\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { setupInitialView } from './ui';\nimport { addEventListeners } from './events';\nimport { buildCategorizedAddons } from './addons';\n\ndomReady( () => {\n\tsetupInitialView();\n\tbuildCategorizedAddons();\n\taddEventListeners();\n} );\n"],"names":["getElements","VIEWS","categorizedAddons","AVAILABLE","ACTIVE","buildCategorizedAddons","_getElements","addons","forEach","addon","dataCategories","getAttribute","categories","split","category","push","addonRequestURL","window","frmAddonsVars","PREFIX","PLANS","BASIC","PLUS","BUSINESS","ELITE","addElements","SKELETON_PREFIX","bodyContent","sidebar","querySelectorAll","dataset","includes","setAttribute","concat","upgradeBanner","document","getElementById","availableCategory","querySelector","activeCategory","categoriesTopDivider","basicPlanCategory","plusPlanCategory","businessPlanCategory","elitePlanCategory","addonsList","availableAddons","addonsToggle","bodyContentChildren","children","setupActiveCategory","targetButton","addAddonToggleEvents","addonToggle","addEventListener","onAddonToggleClick","wp","hooks","addAction","event","_targetButton","classList","contains","currentTarget","closest","actionMap","Map","_iterator","_createForOfIteratorHelper","entries","_step","s","n","done","_step$value","_slicedToArray","value","className","selector","click","err","e","f","addCategoryEvents","showSelectedCategory","addAddonToggle","addSearchEvents","addEventListeners","selectedCategory","getState","setSingleState","showSearchState","displaySearchElements","initSearch","frmDom","search","init","searchInput","handleSearchResult","_ref","foundSomething","notEmptySearchText","type","target","state","_getElements2","allItemsCategory","dispatchEvent","Event","bubbles","getSingleState","setState","__","CURRENT_CLASS","frmAnimate","hideElements","hide","show","isVisible","showEmptyState","remove","fadeIn","emptyState","HIDE_JS_CLASS","CAT_COUNT_CLASS","setupInitialView","bodyContentAnimate","setupAvailableCategory","setupAllAddonsCategory","setupPlansCategory","activeAddons","length","textContent","_getElements3","upgradeBannerAvailableCount","_getElements4","_getElements5","getCount","parseInt","basicCount","plusCount","businessCount","eliteCount","showElements","_getState","emptyStateButton","emptyStateTitle","emptyStateText","href","SKELETON_VIEWS","ALL_ITEMS","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","createPageElements","initialElements","arguments","undefined","_typeof","Error","elements","newElements","_objectSpread","createPageState","initialState","propertyName","Reflect","get","newState","has","set","SEARCH_RESULT_ITEM","createEmptyStateElement","getEmptyStateElements","appendChild","emptyStateElements","_createPageElements","categoryItems","_window$frmDom","tag","div","a","img","button","id","src","alt","onClickPreventDefault","resetSearchInput","onCategoryClick","onCategoryKeydown","clickedCategory","newSelectedCategory","selectedCategoryEl","applyFilters","add","doAction","key","preventDefault","_createPageState","_classCallCheck","prepareElements","_createClass","_this","applyStyleToElements","element","resetOpacity","once","cascadeFadeIn","_this2","delay","setTimeout","index","style","transitionDelay","_this3","opacity","callback","Element","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","showFormError","inputId","errorId","message","inputElement","errorElement","console","warn","span","_frmDom","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","documentOn","doJsonPost","ajax","p","args","bold","URL","location","urlParams","searchParams","getQueryParam","paramName","removeQueryParam","delete","toString","setQueryParam","paramValue","updateMethod","_defineProperty","history","hasQueryParam","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","_Array$from","Array","from","_Array$from2","styles","getComputedStyle","getPropertyValue","domReady"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"addons-page.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AC3HA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iEAAe,iBAAiB,EAAC;AACjC;;;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,oBAAoB;AAChC;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA,iEAAe,eAAe,EAAC;AAC/B;;;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;ACrCwE;;AAExE;AACA;AACA;AAC4C;AACM;AACN;AACA;AACQ;AACJ;AACJ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,EAAE,qFAAe;;AAEjB,aAAa,mBAAmB;AAChC;AACA;AACA,aAAa,mBAAmB;;AAEhC;AACA;AACA,mBAAmB,0DAAa;AAChC,mBAAmB,0DAAa;AAChC,sBAAsB,6DAAgB;AACtC,sBAAsB,6DAAgB;AACtC,mBAAmB,0DAAa;AAChC,mBAAmB,0DAAa;AAChC,0BAA0B,6DAAgB;AAC1C,0BAA0B,6DAAgB;AAC1C,kBAAkB,0DAAa;AAC/B,sBAAsB,0DAAa;AACnC,uBAAuB,8DAAiB;AACxC,uBAAuB,8DAAiB;AACxC,qBAAqB,4DAAe;AACpC,qBAAqB,4DAAe;AACpC,mBAAmB,0DAAa;AAChC,mBAAmB,0DAAa;AAChC;AACA,cAAc,QAAQ;;AAEtB;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;AAC3B;;;;;;;;;;;;;;;;;AC5DA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,oBAAoB;AAChC;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA;AACA;AACA,YAAY,YAAY;AACxB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,uBAAuB,iEAAiB;AACxC;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,wCAAwC,QAAQ;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iEAAe,gBAAgB,EAAC;AAChC;;;;;;;;;;;;;;;;AC3F8E;;AAE9E;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD,QAAQ,IAAqC;AAC7C;AACA;AACA,sCAAsC,wFAAkB;AACxD;AACA;;AAEA,2FAA2F,aAAa;AACxG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEA;AACA;AACA;AACwC;AACxC,cAAc,uBAAuB;;AAErC;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;;AAEA;AACA,aAAa,wBAAwB,uBAAuB;AAC5D;;AAEA;AACA,aAAa,uBAAuB;AACpC;;AAEA;AACA,aAAa,+BAA+B;AAC5C;;AAEO,mBAAmB,wDAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2P;AAC3P;;;;;;;;;;;;;;;ACzDA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAe,gBAAgB,EAAC;AAChC;;;;;;;;;;;;;;;AChCA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAe,iBAAiB,EAAC;AACjC;;;;;;;;;;;;;;;;;ACzBwE;;AAExE,2CAA2C,gCAAgC,oCAAoC,oDAAoD,8DAA8D,iEAAiE,GAAG,kCAAkC;;AAEvU,iCAAiC,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,uDAAuD,qFAAe,6BAA6B,KAAK,6CAA6C,6EAA6E,OAAO,iDAAiD,mFAAmF,OAAO;;AAEtgB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAY;;AAE1B,cAAc,YAAY;;AAE1B;AACA,aAAa,sDAAsD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4DAA4D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,6EAA6E;AAC1F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8FAA8F;AAC3G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gEAAgE;AAC7E;AACA;AACA;;AAEA,cAAc,kCAAkC;;AAEhD;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA,cAAc,iBAAiB;AAC/B;AACA,cAAc,WAAW;AACzB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB;AACA,cAAc,KAAK;AACnB;AACA,cAAc,OAAO;AACrB,cAAc,gBAAgB;AAC9B;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,YAAY,4BAA4B;AACxC;;AAEO;AACP;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,8CAAM,GAAG;AAC5B;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC,cAAc,qBAAqB;AACnC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;;;AAG5B;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,QAAQ;AACrB;;;AAGA;AACA;AACA,sEAAsE,qDAAqD;AAC3H;;AAEA,4DAA4D;AAC5D;AACA,aAAa,eAAe;;;AAG5B;AACA;AACA;AACA;AACA,aAAa,iBAAiB;;;AAG9B;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B,aAAa,kBAAkB;AAC/B,aAAa,kBAAkB;AAC/B;AACA,aAAa,kBAAkB;AAC/B;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;;;AAG9B;AACA;AACA;AACA;AACA,aAAa,IAAI;;;AAGjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,IAAI;;;AAGjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,IAAI;;;AAGjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,KAAK;;;AAGlB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;;;AAGA;AACA,eAAe,QAAQ;;AAEvB,eAAe,GAAG;AAClB;AACA;AACA,iBAAiB,QAAQ;;AAEzB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA,aAAa,OAAO;;;AAGpB;AACA;AACA;AACA,aAAa,gBAAgB;;;AAG7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,iBAAiB,QAAQ;AACzB,iBAAiB,QAAQ;AACzB,iBAAiB,QAAQ;AACzB;AACA;AACA,kBAAkB,UAAU;;AAE5B,iBAAiB,GAAG;AACpB;AACA;AACA,kBAAkB,UAAU;;AAE5B,iBAAiB,GAAG;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1cA;AACA;AACA;AAC2C;AAC3C;AACA;AACA;;AAEgD;AAChD,WAAW,wDAAU,uBAAuB,0DAAY;AACxD;AACA;AACA;;AAEA,iEAAe,IAAI,EAAC;AACpB;AACA;AACA;AACA;;AAEA;AACA,aAAa,oCAAoC;AACjD,aAAa,2CAA2C;AACxD,aAAa,6CAA6C;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB;;AAEO;AACP;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,YAAY,qBAAqB;AACjC;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB;;AAEO;AACP;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;;AAEO;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClJoC;AACN;AAC4H;AAC1J;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AAC6B;AACM;AACnC;AACA,qCAAqC;AACrC;AACA;AACA;AACA,WAAW,MAAM;AACjB;;AAEA,mBAAmB,6CAAO,iBAAiB;;AAE3C;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,MAAM;AACjB;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA,2FAA2F,aAAa;AACxG;AACA;;AAEA,WAAW,yDAAiB,OAAO,mDAAS;AAC5C,IAAI;AACJ;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AAC0C;AACL;AAE9B,IAAME,iBAAiB,GAAG,CAAC,CAAC;AAEnCA,iBAAiB,CAAED,6CAAK,CAACE,SAAS,CAAE,GAAG,EAAE;AACzCD,iBAAiB,CAAED,6CAAK,CAACG,MAAM,CAAE,GAAG,EAAE;;AAEtC;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAAA,EAAG;EACxC,IAAAC,YAAA,GAAmBN,sDAAW,CAAC,CAAC;IAAxBO,MAAM,GAAAD,YAAA,CAANC,MAAM;EAEdA,MAAM,CAACC,OAAO,CAAE,UAAAC,KAAK,EAAI;IACxB;IACA,IAAMC,cAAc,GAAGD,KAAK,CAACE,YAAY,CAAE,iBAAkB,CAAC;IAC9D,IAAK,CAAED,cAAc,EAAG;MACvB;IACD;IAEA,IAAME,UAAU,GAAGF,cAAc,CAACG,KAAK,CAAE,GAAI,CAAC;IAE9CD,UAAU,CAACJ,OAAO,CAAE,UAAAM,QAAQ,EAAI;MAC/B;MACA,IAAK,CAAEZ,iBAAiB,CAAEY,QAAQ,CAAE,EAAG;QACtCZ,iBAAiB,CAAEY,QAAQ,CAAE,GAAG,EAAE;MACnC;;MAEA;MACAZ,iBAAiB,CAAEY,QAAQ,CAAE,CAACC,IAAI,CAAEN,KAAM,CAAC;IAC5C,CAAE,CAAC;EACJ,CAAE,CAAC;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEtCO,IAAQO,eAAe,GAAKC,MAAM,CAACC,aAAa,CAAxCF,eAAe;AAA0B;AACjD,IAAMG,MAAM,GAAG,YAAY;AAE3B,IAAMlB,KAAK,GAAG;EACpBE,SAAS,EAAE,kBAAkB;EAC7BC,MAAM,EAAE;AACT,CAAC;AAEM,IAAMgB,KAAK,GAAG;EACpBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACR,CAAC;;;;;;;;;;;;;;;;;;ACbD;AACA;AACA;AAK4B;;AAE5B;AACA;AACA;AACoD;AAEpD,IAAAlB,YAAA,GAAiCN,+DAAW,CAAC,CAAC;EAAtC2B,WAAW,GAAArB,YAAA,CAAXqB,WAAW;EAAEC,OAAO,GAAAtB,YAAA,CAAPsB,OAAO;AAE5BD,WAAW,CACTE,gBAAgB,CAAE,iDAAkD,CAAC,CACrErB,OAAO,CAAE,UAAAC,KAAK,EAAI;EAClB,IAAMG,UAAU,GAAGH,KAAK,CAACqB,OAAO,CAAClB,UAAU;EAC3C,QAAS,IAAI;IACZ,KAAKA,UAAU,CAACmB,QAAQ,CAAEX,6CAAK,CAACG,QAAS,CAAC;MACzCd,KAAK,CAACuB,YAAY,CACjB,iBAAiB,KAAAC,MAAA,CACbrB,UAAU,OAAAqB,MAAA,CAAMb,6CAAK,CAACI,KAAK,CAChC,CAAC;MACD;IACD,KAAKZ,UAAU,CAACmB,QAAQ,CAAEX,6CAAK,CAACE,IAAK,CAAC;MACrCb,KAAK,CAACuB,YAAY,CACjB,iBAAiB,KAAAC,MAAA,CACbrB,UAAU,OAAAqB,MAAA,CAAMb,6CAAK,CAACG,QAAQ,OAAAU,MAAA,CAAMb,6CAAK,CAACI,KAAK,CACpD,CAAC;MACD;IACD,KAAKZ,UAAU,CAACmB,QAAQ,CAAEX,6CAAK,CAACC,KAAM,CAAC;MACtCZ,KAAK,CAACuB,YAAY,CACjB,iBAAiB,KAAAC,MAAA,CACbrB,UAAU,OAAAqB,MAAA,CAAMb,6CAAK,CAACE,IAAI,OAAAW,MAAA,CAAMb,6CAAK,CAACG,QAAQ,OAAAU,MAAA,CAAMb,6CAAK,CAACI,KAAK,CACpE,CAAC;MACD;EACF;AACD,CAAE,CAAC;AAEJC,+DAAW,CAAE;EACZ;EACAS,aAAa,EAAEC,QAAQ,CAACC,cAAc,CAAE,oBAAqB,CAAC;EAE9D;EACAC,iBAAiB,EAAET,OAAO,CAACU,aAAa,KAAAL,MAAA,CAClCP,sDAAe,2BAAAO,MAAA,CAAyBhC,6CAAK,CAACE,SAAS,QAC7D,CAAC;EACDoC,cAAc,EAAEX,OAAO,CAACU,aAAa,KAAAL,MAAA,CAC/BP,sDAAe,2BAAAO,MAAA,CAAyBhC,6CAAK,CAACG,MAAM,QAC1D,CAAC;EACDoC,oBAAoB,EAAEZ,OAAO,CAACU,aAAa,KAAAL,MAAA,CACrCP,sDAAe,aACrB,CAAC;EACDe,iBAAiB,EAAEb,OAAO,CAACU,aAAa,KAAAL,MAAA,CAClCP,sDAAe,2BAAAO,MAAA,CAAyBb,6CAAK,CAACC,KAAK,QACzD,CAAC;EACDqB,gBAAgB,EAAEd,OAAO,CAACU,aAAa,KAAAL,MAAA,CACjCP,sDAAe,2BAAAO,MAAA,CAAyBb,6CAAK,CAACE,IAAI,QACxD,CAAC;EACDqB,oBAAoB,EAAEf,OAAO,CAACU,aAAa,KAAAL,MAAA,CACrCP,sDAAe,2BAAAO,MAAA,CAAyBb,6CAAK,CAACG,QAAQ,QAC5D,CAAC;EACDqB,iBAAiB,EAAEhB,OAAO,CAACU,aAAa,KAAAL,MAAA,CAClCP,sDAAe,2BAAAO,MAAA,CAAyBb,6CAAK,CAACI,KAAK,QACzD,CAAC;EAED;EACAqB,UAAU,EAAEV,QAAQ,CAACC,cAAc,IAAAH,MAAA,CAAMd,8CAAM,UAAS,CAAC;EACzDZ,MAAM,EAAEoB,WAAW,CAACE,gBAAgB,CAAE,gBAAiB,CAAC;EACxDiB,eAAe,EAAEnB,WAAW,CAACE,gBAAgB,CAC5C,sCACD,CAAC;EACDkB,YAAY,EAAEpB,WAAW,CAACE,gBAAgB,CAAE,mBAAoB,CAAC;EAEjE;EACAmB,mBAAmB,EAAErB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsB;AACnC,CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE/EH;AACA;AACA;AAC0C;AACG;AAE7C,IAAIE,YAAY;;AAEhB;AACA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAAA,EAAG;EAC/B,IAAA9C,YAAA,GAAyBN,sDAAW,CAAC,CAAC;IAA9B+C,YAAY,GAAAzC,YAAA,CAAZyC,YAAY;EAEpBA,YAAY,CAACvC,OAAO,CAAE,UAAA6C,WAAW;IAAA,OAChCA,WAAW,CAACC,gBAAgB,CAAE,OAAO,EAAEC,kBAAmB,CAAC;EAAA,CAC5D,CAAC;EAEDC,EAAE,CAACC,KAAK,CAACC,SAAS,CAAE,wBAAwB,EAAE,cAAc,EAAE,YAAM;IACnER,yDAAmB,CAAC,CAAC;EACtB,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGI,KAAK,EAAI;EAAA,IAAAC,aAAA;EACnC,KAAAA,aAAA,GAAKT,YAAY,cAAAS,aAAA,eAAZA,aAAA,CAAcC,SAAS,CAACC,QAAQ,CAAE,oBAAqB,CAAC,EAAG;IAC/D;EACD;EAEA,IAAMT,WAAW,GAAGM,KAAK,CAACI,aAAa;EACvC,IAAMtD,KAAK,GAAG4C,WAAW,CAACW,OAAO,CAAE,gBAAiB,CAAC;EAErD,IAAMC,SAAS,GAAG,IAAIC,GAAG,CAAE,CAC1B,CAAE,yBAAyB,EAAE,oBAAoB,CAAE,EACnD,CAAE,qBAAqB,EAAE,qBAAqB,CAAE,EAChD,CAAE,kBAAkB,EAAE,uBAAuB,CAAE,CAC9C,CAAC;EAAC,IAAAC,SAAA,GAAAC,0BAAA,CAEmCH,SAAS,CAACI,OAAO,CAAC,CAAC;IAAAC,KAAA;EAAA;IAA1D,KAAAH,SAAA,CAAAI,CAAA,MAAAD,KAAA,GAAAH,SAAA,CAAAK,CAAA,IAAAC,IAAA,GAA6D;MAAA,IAAAC,WAAA,GAAAC,cAAA,CAAAL,KAAA,CAAAM,KAAA;QAA/CC,SAAS,GAAAH,WAAA;QAAEI,QAAQ,GAAAJ,WAAA;MAChC,IAAKjE,KAAK,CAACoD,SAAS,CAACC,QAAQ,CAAEe,SAAU,CAAC,EAAG;QAC5C1B,YAAY,GAAG1C,KAAK,CAAC6B,aAAa,CAAEwC,QAAS,CAAC;QAC9C3B,YAAY,CAAC4B,KAAK,CAAC,CAAC;QACpB;MACD;IACD;EAAC,SAAAC,GAAA;IAAAb,SAAA,CAAAc,CAAA,CAAAD,GAAA;EAAA;IAAAb,SAAA,CAAAe,CAAA;EAAA;AACF,CAAC;AAED,iEAAe9B,oBAAoB;;;;;;;;;;;;;;;;;;;ACvDnC;AACA;AACA;AACuD;;AAEvD;AACA;AACA;AAC6C;AACM;AACJ;;AAE/C;AACA;AACA;AACA;AACA;AACO,SAASmC,iBAAiBA,CAAA,EAAG;EACnCJ,qEAAiB,CAAC,CAAC;EACnB3B,EAAE,CAACC,KAAK,CAACC,SAAS,CACjB,yBAAyB,EACzB,eAAe,EACf,UAAA8B,gBAAgB,EAAI;IACnBJ,yDAAoB,CAAEI,gBAAiB,CAAC;EACzC,CACD,CAAC;EAEDH,gEAAc,CAAC,CAAC;EAChBC,2DAAe,CAAC,CAAC;AAClB;;;;;;;;;;;;;;;;;;AC7BA;AACA;AACA;AAC0C;AACW;AACU;AAE/D,IAAcO,UAAU,GAAK5E,MAAM,CAAC6E,MAAM,CAACC,MAAM,CAAzCC,IAAI;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,SAASV,eAAeA,CAAA,EAAG;EAC1B,IAAAhF,YAAA,GAAwBN,sDAAW,CAAC,CAAC;IAA7BiG,WAAW,GAAA3F,YAAA,CAAX2F,WAAW;EAEnBJ,UAAU,CAAEI,WAAW,EAAE,eAAe,EAAE;IAAEC,kBAAkB,EAAlBA;EAAmB,CAAE,CAAC;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,kBAAkBA,CAAAC,IAAA,EAA0CxC,KAAK,EAAG;EAAA,IAA9CyC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IAAEC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB;EAChE;EACA;EACA,IAAK1C,KAAK,IAAIA,KAAK,CAAC2C,IAAI,KAAK,QAAQ,IAAI3C,KAAK,CAAC4C,MAAM,CAAC3B,KAAK,KAAK,EAAE,EAAG;IACpE;EACD;EAEA,IAAM4B,KAAK,GAAGf,iDAAQ,CAAC,CAAC;EACxB,IAAAgB,aAAA,GAA6BzG,sDAAW,CAAC,CAAC;IAAlC0G,gBAAgB,GAAAD,aAAA,CAAhBC,gBAAgB;EAExBhB,uDAAc,CAAE,oBAAoB,EAAEW,kBAAmB,CAAC;;EAE1D;EACA,IAAK,CAAEG,KAAK,CAACH,kBAAkB,IAAI,CAAEG,KAAK,CAAChB,gBAAgB,EAAG;IAC7DkB,gBAAgB,CAACC,aAAa,CAC7B,IAAIC,KAAK,CAAE,OAAO,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAE,CACvC,CAAC;IAED;EACD;;EAEA;EACA,IAAKL,KAAK,CAAChB,gBAAgB,EAAG;IAC7BG,oDAAe,CAAEU,kBAAmB,CAAC;;IAErC;IACA,IAAKA,kBAAkB,EAAG;MACzBX,uDAAc,CAAE,kBAAkB,EAAE,EAAG,CAAC;IACzC;EACD;EAEAE,0DAAqB,CAAEQ,cAAe,CAAC;AACxC;AAEA,iEAAed,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEjE9B;AACA;AACA;AAM4B;;AAE5B;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACZmC;AACI;AACT;;;;;;;;;;;;;;;;;;;;;;;ACF9B;AACA;AACA;AACqC;;AAErC;AACA;AACA;AAC+C;AAC8B;;AAE7E;AACA;AACA;AAC0C;AACC;AACR;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,eAAeA,CAAEU,kBAAkB,EAAG;EACrD,IAAA/F,YAAA,GAAyDN,sDAAW,CAAC,CAAC;IAA9D2B,WAAW,GAAArB,YAAA,CAAXqB,WAAW;IAAEqB,mBAAmB,GAAA1C,YAAA,CAAnB0C,mBAAmB;IAAEH,UAAU,GAAAvC,YAAA,CAAVuC,UAAU;;EAEpD;EACA,IAAKwD,kBAAkB,EAAG;IACzBS,uDAAc,CAAE,oBAAqB,CAAC,CAACjD,SAAS,CAAC2D,MAAM,CACtDP,yDACD,CAAC;EACF;;EAEA;EACAE,wDAAY,CAAEnE,mBAAoB,CAAC;EAEnCqE,gDAAI,CAAExE,UAAW,CAAC;;EAElB;EACA,IAAIqE,kDAAU,CAAEvF,WAAY,CAAC,CAAC8F,MAAM,CAAC,CAAC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS7B,qBAAqBA,CAAEQ,cAAc,EAAG;EACvD;EACA,IAAK,CAAEA,cAAc,EAAG;IACvBmB,iDAAc,CAAC,CAAC;IAChB;EACD;;EAEA;EACA,IAAAd,aAAA,GAAuBzG,sDAAW,CAAC,CAAC;IAA5B0H,UAAU,GAAAjB,aAAA,CAAViB,UAAU;EAClB,IAAKJ,qDAAS,CAAEI,UAAW,CAAC,EAAG;IAC9BN,gDAAI,CAAEM,UAAW,CAAC;EACnB;AACD;;;;;;;;;;;;;;;;;;;;;;AC7DA;AACA;AACA;AAC+C;AACa;AACG;;AAE/D;AACA;AACA;AAC0C;AACI;AACD;AAE7C,IAAME,eAAe,OAAA3F,MAAA,CAAQP,sDAAe,eAAa;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACO,SAASmG,gBAAgBA,CAAA,EAAG;EAClC,IAAAvH,YAAA,GAA8CN,sDAAW,CAAC,CAAC;IAAnD4B,OAAO,GAAAtB,YAAA,CAAPsB,OAAO;IAAEqE,WAAW,GAAA3F,YAAA,CAAX2F,WAAW;IAAEtE,WAAW,GAAArB,YAAA,CAAXqB,WAAW;EAEzC,IAAMmG,kBAAkB,GAAG,IAAIZ,kDAAU,CAAEvF,WAAY,CAAC;EAExDsE,WAAW,CAACrB,KAAK,GAAG,EAAE;EAEtB1B,mBAAmB,CAAC,CAAC;EACrB6E,sBAAsB,CAAC,CAAC;EACxBC,sBAAsB,CAAC,CAAC;EACxBC,kBAAkB,CAAC,CAAC;;EAEpB;EACAtG,WAAW,CAACkC,SAAS,CAAC2D,MAAM,CAAEG,yDAAc,CAAC;EAC7C/F,OAAO,CAACiC,SAAS,CAAC2D,MAAM,CAAEG,yDAAc,CAAC;EACzCG,kBAAkB,CAACL,MAAM,CAAC,CAAC;EAC3BJ,gDAAI,CAAEzF,OAAQ,CAAC;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASsB,mBAAmBA,CAAA,EAAG;EACrC,IAAAuD,aAAA,GACCzG,sDAAW,CAAC,CAAC;IADNuC,cAAc,GAAAkE,aAAA,CAAdlE,cAAc;IAAEF,iBAAiB,GAAAoE,aAAA,CAAjBpE,iBAAiB;IAAEG,oBAAoB,GAAAiE,aAAA,CAApBjE,oBAAoB;EAE/D,IAAM0F,YAAY,GAAG/F,QAAQ,CAACN,gBAAgB,CAC7C,yCACD,CAAC;EAED,IAAKqG,YAAY,CAACC,MAAM,KAAK,CAAC,EAAG;IAChChB,wDAAY,CAAE,CACb5E,cAAc,EACdF,iBAAiB,EACjBG,oBAAoB,CACnB,CAAC;IACH;EACD;EAEAtC,sDAAiB,CAAED,6CAAK,CAACG,MAAM,CAAE,GAAG8H,YAAY;;EAEhD;EACA3F,cAAc,CAACD,aAAa,CAAEsF,eAAgB,CAAC,CAACQ,WAAW,GAAGF,YAAY,CAACC,MAAM;AAClF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASJ,sBAAsBA,CAAA,EAAG;EACjC,IAAAM,aAAA,GAA4DrI,sDAAW,CAAC,CAAC;IAAjE2B,WAAW,GAAA0G,aAAA,CAAX1G,WAAW;IAAEU,iBAAiB,GAAAgG,aAAA,CAAjBhG,iBAAiB;IAAES,eAAe,GAAAuF,aAAA,CAAfvF,eAAe;EAEvD5C,sDAAiB,CAAED,6CAAK,CAACE,SAAS,CAAE,GAAG2C,eAAe;;EAEtD;EACA,IAAKT,iBAAiB,EAAG;IACxBA,iBAAiB,CAACC,aAAa,CAAEsF,eAAgB,CAAC,CAACQ,WAAW,GAAGtF,eAAe,CAACqF,MAAM;IAEvF,IAAMG,2BAA2B,GAAG3G,WAAW,CAACW,aAAa,KAAAL,MAAA,CACvDd,8CAAM,qBACZ,CAAC;IACD,IAAKmH,2BAA2B,EAAG;MAClCA,2BAA2B,CAACF,WAAW,GAAGtF,eAAe,CAACqF,MAAM;IACjE;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASH,sBAAsBA,CAAA,EAAG;EACjC,IAAAO,aAAA,GAAqCvI,sDAAW,CAAC,CAAC;IAA1C0G,gBAAgB,GAAA6B,aAAA,CAAhB7B,gBAAgB;IAAEnG,MAAM,GAAAgI,aAAA,CAANhI,MAAM;;EAEhC;EACAmG,gBAAgB,CAACpE,aAAa,CAAEsF,eAAgB,CAAC,CAACQ,WAAW,GAAG7H,MAAM,CAAC4H,MAAM;AAC9E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASF,kBAAkBA,CAAA,EAAG;EAC7B,IAAAO,aAAA,GAKIxI,sDAAW,CAAC,CAAC;IAJhByC,iBAAiB,GAAA+F,aAAA,CAAjB/F,iBAAiB;IACjBC,gBAAgB,GAAA8F,aAAA,CAAhB9F,gBAAgB;IAChBC,oBAAoB,GAAA6F,aAAA,CAApB7F,oBAAoB;IACpBC,iBAAiB,GAAA4F,aAAA,CAAjB5F,iBAAiB;EAGlB,IAAM6F,QAAQ,GAAG,SAAXA,QAAQA,CAAG3H,QAAQ;IAAA,OAAI4H,QAAQ,CAAE5H,QAAQ,CAACwB,aAAa,CAAEsF,eAAgB,CAAC,CAACQ,WAAW,EAAE,EAAG,CAAC,IAAI,CAAC;EAAA;;EAEvG;EACA,IAAMO,UAAU,GAAGF,QAAQ,CAAEhG,iBAAkB,CAAC;EAChD,IAAMmG,SAAS,GAAGH,QAAQ,CAAE/F,gBAAiB,CAAC,GAAG,CAAC;EAClD,IAAMmG,aAAa,GAAGJ,QAAQ,CAAE9F,oBAAqB,CAAC,GAAG,CAAC;EAC1D,IAAMmG,UAAU,GAAGL,QAAQ,CAAE7F,iBAAkB,CAAC,GAAG,CAAC;;EAEpD;EACAF,gBAAgB,CAACJ,aAAa,CAAEsF,eAAgB,CAAC,CAACQ,WAAW,GAAGO,UAAU,GAAGC,SAAS;EACtFjG,oBAAoB,CAACL,aAAa,CAAEsF,eAAgB,CAAC,CAACQ,WAAW,GAAGO,UAAU,GAAGC,SAAS,GAAGC,aAAa;EAC1GjG,iBAAiB,CAACN,aAAa,CAAEsF,eAAgB,CAAC,CAACQ,WAAW,GAAGO,UAAU,GAAGC,SAAS,GAAGC,aAAa,GAAGC,UAAU;AACrH;;;;;;;;;;;;;;;;;;;;ACvIA;AACA;AACA;AACqC;;AAErC;AACA;AACA;AAC0C;;AAE1C;AACA;AACA;AAC0C;AACL;AACU;;AAE/C;AACA;AACA;AACA;AACA;AACO,SAASvB,cAAcA,CAAA,EAAG;EAChC,IAAAyB,SAAA,GAA6BvD,iDAAQ,CAAC,CAAC;IAA/BD,gBAAgB,GAAAwD,SAAA,CAAhBxD,gBAAgB;EACxB,IAAAlF,YAAA,GACCN,sDAAW,CAAC,CAAC;IADN0H,UAAU,GAAApH,YAAA,CAAVoH,UAAU;IAAEuB,gBAAgB,GAAA3I,YAAA,CAAhB2I,gBAAgB;IAAEC,eAAe,GAAA5I,YAAA,CAAf4I,eAAe;IAAEC,cAAc,GAAA7I,YAAA,CAAd6I,cAAc;EAGrEzB,UAAU,CAAC1F,YAAY,CAAE,WAAW,EAAEwD,gBAAiB,CAAC;EAExD0D,eAAe,CAACd,WAAW,GAAGpB,mDAAE,CAAE,kBAAkB,EAAE,YAAa,CAAC;EACpEmC,cAAc,CAACf,WAAW,GAAGpB,mDAAE,CAC9B,8DAA8D,EAC9D,YACD,CAAC;EAEDiC,gBAAgB,CAACb,WAAW,GAAGpB,mDAAE,CAAE,gBAAgB,EAAE,YAAa,CAAC;EACnEiC,gBAAgB,CAACG,IAAI,GAAGpI,uDAAe;EACvCiI,gBAAgB,CAACjH,YAAY,CAAE,QAAQ,EAAE,QAAS,CAAC;EAEnD+G,wDAAY,CAAE,CAAErB,UAAU,EAAEuB,gBAAgB,CAAG,CAAC;AACjD;;;;;;;;;;;;;;;;;;;;;ACxCA;AACA;AACA;AACoE;AACP;;AAE7D;AACA;AACA;AAC0C;AACI;AACX;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACO,SAAS7D,oBAAoBA,CAAEI,gBAAgB,EAAG;EACxD,IAAAlF,YAAA,GAA2DN,sDAAW,CAAC,CAAC;IAAhE2B,WAAW,GAAArB,YAAA,CAAXqB,WAAW;IAAEpB,MAAM,GAAAD,YAAA,CAANC,MAAM;IAAEmH,UAAU,GAAApH,YAAA,CAAVoH,UAAU;IAAExF,aAAa,GAAA5B,YAAA,CAAb4B,aAAa;EAEtDkF,gDAAI,CAAEM,UAAW,CAAC;EAClBL,gDAAI,CAAEnF,aAAc,CAAC;EAErBP,WAAW,CAACG,OAAO,CAAChB,QAAQ,GAAG0E,gBAAgB;EAE/C,IAAK6D,qDAAc,CAACC,SAAS,KAAK9D,gBAAgB,EAAG;IACpDuD,wDAAY,CAAExI,MAAO,CAAC;IACtB;EACD;EAEA4G,wDAAY,CAAE5G,MAAO,CAAC;EAEtB,IAAKL,sDAAiB,CAAEsF,gBAAgB,CAAE,CAAC2C,MAAM,KAAK,CAAC,EAAG;IACzDZ,iDAAc,CAAC,CAAC;IAChBH,gDAAI,CAAElF,aAAc,CAAC;EACtB,CAAC,MAAM;IACN6G,wDAAY,CAAE7I,sDAAiB,CAAEsF,gBAAgB,CAAG,CAAC;EACtD;AACD;AAEA,iEAAeJ,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;AC1C5B,IAAAmE,iBAAA,GAAmCtI,MAAM,CAACuI,SAAS;EAAtCC,UAAU,GAAAF,iBAAA,CAAfG,GAAG;EAAcC,KAAK,GAAAJ,iBAAA,CAALI,KAAK;AAAsB;AACpD,IAAMC,YAAY,GAAG,YAAY;AACjC,IAAMC,cAAc,GAAG,cAAc;AACrC,IAAMlC,aAAa,GAAG,aAAa;AACnC,IAAMV,aAAa,GAAG,aAAa;AACnC,IAAM6C,aAAa,GAAG,aAAa;AACnC,IAAMC,qBAAqB,GAAG,qBAAqB;AAEnD,IAAMC,KAAK,GAAG;EACpBC,mBAAmB,EAAE;AACtB,CAAC;;;;;;;;;;;;;;;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAyB;EAAA,IAAvBC,eAAe,GAAAC,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;EACvD,IAAKE,OAAA,CAAOH,eAAe,MAAK,QAAQ,IAAIA,eAAe,KAAK,IAAI,EAAG;IACtE,MAAM,IAAII,KAAK,CACd,+DACD,CAAC;EACF;EAEA,IAAIC,QAAQ,GAAGL,eAAe;;EAE9B;AACD;AACA;AACA;AACA;EACC,SAASnK,WAAWA,CAAA,EAAG;IACtB,OAAOwK,QAAQ;EAChB;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;EACC,SAAS/I,WAAWA,CAAEgJ,WAAW,EAAG;IACnC,IAAKH,OAAA,CAAOG,WAAW,MAAK,QAAQ,IAAIA,WAAW,KAAK,IAAI,EAAG;MAC9D,MAAM,IAAIF,KAAK,CACd,oDACD,CAAC;IACF;IAEAC,QAAQ,GAAAE,aAAA,CAAAA,aAAA,KAAQF,QAAQ,GAAKC,WAAW,CAAE;EAC3C;EAEA,OAAO;IAAEzK,WAAW,EAAXA,WAAW;IAAEyB,WAAW,EAAXA;EAAY,CAAC;AACpC;;;;;;;;;;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkJ,eAAeA,CAAA,EAAsB;EAAA,IAApBC,YAAY,GAAAR,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;EACjD,IAAKE,OAAA,CAAOM,YAAY,MAAK,QAAQ,IAAIA,YAAY,KAAK,IAAI,EAAG;IAChE,MAAM,IAAIL,KAAK,CACd,yDACD,CAAC;EACF;EAEA,IAAI/D,KAAK,GAAGoE,YAAY;;EAExB;AACD;AACA;AACA;AACA;EACC,IAAMnF,QAAQ,GAAG,SAAXA,QAAQA,CAAA;IAAA,OAASe,KAAK;EAAA;;EAE5B;AACD;AACA;AACA;AACA;AACA;EACC,IAAMM,cAAc,GAAG,SAAjBA,cAAcA,CAAG+D,YAAY,EAAI;IACtC,IAAMjG,KAAK,GAAGkG,OAAO,CAACC,GAAG,CAAEvE,KAAK,EAAEqE,YAAa,CAAC;;IAEhD;IACA;IACA,OAAOjG,KAAK,KAAKyF,SAAS,GAAG,IAAI,GAAGzF,KAAK;EAC1C,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC,IAAMmC,QAAQ,GAAG,SAAXA,QAAQA,CAAGiE,QAAQ,EAAI;IAC5B,IAAKV,OAAA,CAAOU,QAAQ,MAAK,QAAQ,IAAIA,QAAQ,KAAK,IAAI,EAAG;MACxD,MAAM,IAAIT,KAAK,CAAE,8CAA+C,CAAC;IAClE;IAEA/D,KAAK,GAAAkE,aAAA,CAAAA,aAAA,KAAQlE,KAAK,GAAKwE,QAAQ,CAAE;EAClC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC,IAAMtF,cAAc,GAAG,SAAjBA,cAAcA,CAAKmF,YAAY,EAAEjG,KAAK,EAAM;IACjD,IAAKkG,OAAO,CAACG,GAAG,CAAEzE,KAAK,EAAEqE,YAAa,CAAC,EAAG;MACzCC,OAAO,CAACI,GAAG,CAAE1E,KAAK,EAAEqE,YAAY,EAAEjG,KAAM,CAAC;IAC1C;EACD,CAAC;EAED,OAAO;IAAEa,QAAQ,EAARA,QAAQ;IAAEqB,cAAc,EAAdA,cAAc;IAAEC,QAAQ,EAARA,QAAQ;IAAErB,cAAc,EAAdA;EAAe,CAAC;AAC9D;;;;;;;;;;;;;;;;;;AClEqC;;;;;;;;;;;;;;;;;;ACA9B,IAAMvE,MAAM,GAAG,mBAAmB;AAClC,IAAMgK,kBAAkB,GAAG,eAAe;AAC1C,IAAMlL,KAAK,GAAG;EACpBqJ,SAAS,EAAE;AACZ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;ACJD;AACA;AACA;AACkD;;AAElD;AACA;AACA;AAC6C;AAIhB;AAE7B,IAAM3H,WAAW,GAAGQ,QAAQ,CAACC,cAAc,CAAE,mBAAoB,CAAC;AAClE,IAAMR,OAAO,GAAGO,QAAQ,CAACC,cAAc,IAAAH,MAAA,CAAMd,8CAAM,aAAY,CAAC;;AAEhE;AACA,IAAMuG,UAAU,GAAG0D,2EAAuB,CAAC,CAAC;AAC5CzJ,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAE2J,WAAW,CAAE5D,UAAW,CAAC;AACtC,IAAM6D,kBAAkB,GAAGF,yEAAqB,CAAC,CAAC;AAE3C,IAAAG,mBAAA,GAAqCtB,gEAAkB,CAAAQ,aAAA;IAC7D/I,WAAW,EAAXA,WAAW;IAEX;IACAC,OAAO,EAAPA,OAAO;IACPqE,WAAW,EAAErE,OAAO,CAACU,aAAa,CAAE,mBAAoB,CAAC;IACzDmJ,aAAa,EAAE7J,OAAO,CAACC,gBAAgB,KAAAI,MAAA,CAAOd,8CAAM,SAAQ,CAAC;IAC7DuF,gBAAgB,EAAE9E,OAAO,CAACU,aAAa,KAAAL,MAAA,CACjCd,8CAAM,2BAAAc,MAAA,CAAyBhC,6CAAK,CAACqJ,SAAS,QACpD;EAAC,GAGEiC,kBAAkB,CACpB,CAAC;EAbYvL,WAAW,GAAAwL,mBAAA,CAAXxL,WAAW;EAAEyB,WAAW,GAAA+J,mBAAA,CAAX/J,WAAW;;;;;;;;;;;;;;;;;;;;ACtBvC;AACA;AACA;AACqC;;AAErC;AACA;AACA;AAC0D;;AAE1D;AACA;AACA;AACsC;AAEtC,IAAAiK,cAAA,GAA6BzK,MAAM,CAAC6E,MAAM;EAAlC6F,GAAG,GAAAD,cAAA,CAAHC,GAAG;EAAEC,GAAG,GAAAF,cAAA,CAAHE,GAAG;EAAEC,CAAC,GAAAH,cAAA,CAADG,CAAC;EAAEC,GAAG,GAAAJ,cAAA,CAAHI,GAAG;;AAExB;AACA;AACA;AACA;AACA;AACO,SAASV,uBAAuBA,CAAA,EAAG;EACzC,IAAMW,MAAM,GAAGF,CAAC,CAAE;IACjBhH,SAAS,EAAE;EACZ,CAAE,CAAC;EACHkH,MAAM,CAAC/J,YAAY,CAAE,MAAM,EAAE,QAAS,CAAC;EAEvC,OAAO4J,GAAG,CAAE;IACXI,EAAE,KAAA/J,MAAA,CAAMd,8CAAM,iBAAe;IAC7B0D,SAAS,6CAAA5C,MAAA,CAA8C2H,wDAAY,CAAG;IACtE3G,QAAQ,EAAE,CACT6I,GAAG,CAAE;MACJG,GAAG,KAAAhK,MAAA,CAAMwH,sDAAU,0CAAwC;MAC3DyC,GAAG,EAAElF,mDAAE,CAAE,aAAa,EAAE,YAAa;IACtC,CAAE,CAAC,EACH4E,GAAG,CAAE;MACJ/G,SAAS,EAAE,WAAW;MACtB5B,QAAQ,EAAE,CACT0I,GAAG,CAAE,IAAI,EAAE;QACV9G,SAAS,KAAA5C,MAAA,CAAMd,8CAAM;MACtB,CAAE,CAAC,EACHwK,GAAG,CAAE,GAAG,EAAE;QACT9G,SAAS,KAAA5C,MAAA,CAAMd,8CAAM;MACtB,CAAE,CAAC;IAEL,CAAE,CAAC,EACH4K,MAAM;EAER,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASV,qBAAqBA,CAAA,EAAG;EACvC,IAAM3D,UAAU,GAAGvF,QAAQ,CAACG,aAAa,KAAAL,MAAA,CAAOd,8CAAM,iBAAgB,CAAC;EAEvE,OAAO;IACNuG,UAAU,EAAVA,UAAU;IACVwB,eAAe,EAAExB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEpF,aAAa,KAAAL,MAAA,CAAOd,8CAAM,WAAU,CAAC;IAClEgI,cAAc,EAAEzB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEpF,aAAa,KAAAL,MAAA,CAAOd,8CAAM,UAAS,CAAC;IAChE8H,gBAAgB,EAAEvB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEpF,aAAa,CAAE,SAAU;EACxD,CAAC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEA;AACA;AACA;AAC+C;AACgB;;AAE/D;AACA;AACA;AAC0C;AACK;AACV;;AAErC;AACA;AACA;AACA;AACA;AACO,SAAS6C,iBAAiBA,CAAA,EAAG;EACnC,IAAA7E,YAAA,GAA0BN,sDAAW,CAAC,CAAC;IAA/ByL,aAAa,GAAAnL,YAAA,CAAbmL,aAAa;;EAErB;EACAA,aAAa,CAACjL,OAAO,CAAE,UAAAM,QAAQ,EAAI;IAClCqL,iEAAqB,CAAErL,QAAQ,EAAEuL,eAAgB,CAAC;IAClDvL,QAAQ,CAACwC,gBAAgB,CAAE,SAAS,EAAEgJ,iBAAkB,CAAC;EAC1D,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMD,eAAe,GAAG,SAAlBA,eAAeA,CAAG1I,KAAK,EAAI;EAChC,IAAM4I,eAAe,GAAG5I,KAAK,CAACI,aAAa;EAC3C,IAAMyI,mBAAmB,GAAGD,eAAe,CAAC5L,YAAY,CAAE,eAAgB,CAAC;EAC3E,IAAAqI,SAAA,GACCvD,iDAAQ,CAAC,CAAC;IADLD,gBAAgB,GAAAwD,SAAA,CAAhBxD,gBAAgB;IAAEiH,kBAAkB,GAAAzD,SAAA,CAAlByD,kBAAkB;IAAEpG,kBAAkB,GAAA2C,SAAA,CAAlB3C,kBAAkB;;EAG9D;EACA,IAAKb,gBAAgB,KAAKgH,mBAAmB,EAAG;IAC/C;EACD;;EAEA;AACD;AACA;AACA;AACA;EACChH,gBAAgB,GAAGhC,EAAE,CAACC,KAAK,CAACiJ,YAAY,CACvC,0BAA0B,EAC1BF,mBACD,CAAC;;EAED;EACAC,kBAAkB,CAAC5I,SAAS,CAAC2D,MAAM,CAAEP,yDAAc,CAAC;EACpDwF,kBAAkB,GAAGF,eAAe;EACpCE,kBAAkB,CAAC5I,SAAS,CAAC8I,GAAG,CAAE1F,yDAAc,CAAC;EACjDF,iDAAQ,CAAE;IAAEvB,gBAAgB,EAAhBA,gBAAgB;IAAEiH,kBAAkB,EAAlBA;EAAmB,CAAE,CAAC;;EAEpD;EACA,IAAKpG,kBAAkB,EAAG;IACzB+F,mDAAgB,CAAC,CAAC;EACnB;;EAEA;AACD;AACA;AACA;AACA;EACC5I,EAAE,CAACC,KAAK,CAACmJ,QAAQ,CAAE,yBAAyB,EAAEpH,gBAAiB,CAAC;;EAEhE;EACA,IAAAiB,aAAA,GAAwBzG,sDAAW,CAAC,CAAC;IAA7B2B,WAAW,GAAA8E,aAAA,CAAX9E,WAAW;EACnB,IAAIuF,kDAAU,CAAEvF,WAAY,CAAC,CAAC8F,MAAM,CAAC,CAAC;AACvC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,SAAS6E,iBAAiBA,CAAE3I,KAAK,EAAG;EACnC;EACA,IAAKA,KAAK,CAACkJ,GAAG,KAAK,OAAO,IAAIlJ,KAAK,CAACkJ,GAAG,KAAK,GAAG,EAAG;IACjDlJ,KAAK,CAACmJ,cAAc,CAAC,CAAC;IACtBT,eAAe,CAAE1I,KAAM,CAAC;EACzB;AACD;;;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AAC0C;;AAE1C;AACA;AACA;AACA;AACA;AACO,SAASyI,gBAAgBA,CAAA,EAAG;EAClC,IAAA9L,YAAA,GAAwBN,sDAAW,CAAC,CAAC;IAA7BiG,WAAW,GAAA3F,YAAA,CAAX2F,WAAW;EAEnBA,WAAW,CAACrB,KAAK,GAAG,EAAE;EACtBqB,WAAW,CAACU,aAAa,CAAE,IAAIC,KAAK,CAAE,OAAO,EAAE;IAAEC,OAAO,EAAE;EAAK,CAAE,CAAE,CAAC;AACrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACf4B;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFzB;AACA;AACA;AAC+C;;AAE/C;AACA;AACA;AAC0C;AACL;AAErC,IAAAvG,YAAA,GAA6BN,sDAAW,CAAC,CAAC;EAAlC0G,gBAAgB,GAAApG,YAAA,CAAhBoG,gBAAgB;AAEjB,IAAAqG,gBAAA,GACNpC,6DAAe,CAAE;IAChBtE,kBAAkB,EAAE,KAAK;IACzBb,gBAAgB,EAAEvF,6CAAK,CAACqJ,SAAS;IACjCmD,kBAAkB,EAAE/F;EACrB,CAAE,CAAC;EALWjB,QAAQ,GAAAsH,gBAAA,CAARtH,QAAQ;EAAEqB,cAAc,GAAAiG,gBAAA,CAAdjG,cAAc;EAAEC,QAAQ,GAAAgG,gBAAA,CAARhG,QAAQ;EAAErB,cAAc,GAAAqH,gBAAA,CAAdrH,cAAc;;;;;;;;;;;;;;;;;;;;;;ACb1D,IAAMwB,UAAU;EACtB;AACD;AACA;AACA;AACA;AACA;EACC,SAAAA,WAAasD,QAAQ,EAAqB;IAAA,IAAnBlE,IAAI,GAAA8D,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,SAAS;IAAA4C,eAAA,OAAA9F,UAAA;IACtC,IAAI,CAACsD,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAAClE,IAAI,GAAGA,IAAI;IAEhB,IAAI,CAAC2G,eAAe,CAAC,CAAC;EACvB;;EAEA;AACD;AACA;AACA;AACA;EAJC,OAAAC,YAAA,CAAAhG,UAAA;IAAA2F,GAAA;IAAAjI,KAAA,EAKA,SAAA6C,MAAMA,CAAA,EAAG;MAAA,IAAA0F,KAAA;MACR,IAAI,CAACC,oBAAoB,CAAE,UAAAC,OAAO,EAAI;QACrCA,OAAO,CAACxJ,SAAS,CAAC8I,GAAG,CAAE,eAAgB,CAAC;QAExCU,OAAO,CAAC/J,gBAAgB,CAAE,cAAc,EAAE,YAAM;UAC/C6J,KAAI,CAACG,YAAY,CAAC,CAAC;UACnBD,OAAO,CAACxJ,SAAS,CAAC2D,MAAM,CAAE,eAAgB,CAAC;QAC5C,CAAC,EAAE;UAAE+F,IAAI,EAAE;QAAK,CAAE,CAAC;MACpB,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EAPC;IAAAV,GAAA;IAAAjI,KAAA,EAQA,SAAA4I,aAAaA,CAAA,EAAiB;MAAA,IAAAC,MAAA;MAAA,IAAfC,KAAK,GAAAtD,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;MAC1BuD,UAAU,CAAE,YAAM;QACjBF,MAAI,CAACL,oBAAoB,CAAE,UAAEC,OAAO,EAAEO,KAAK,EAAM;UAChDP,OAAO,CAACxJ,SAAS,CAAC2D,MAAM,CAAE,aAAc,CAAC;UACzC6F,OAAO,CAACQ,KAAK,CAACC,eAAe,GAAK,CAAEF,KAAK,GAAG,CAAC,IAAKF,KAAK,GAAK,GAAG;QAChE,CAAE,CAAC;MACJ,CAAC,EAAE,GAAI,CAAC;IACT;EAAC;IAAAb,GAAA;IAAAjI,KAAA,EAED,SAAAqI,eAAeA,CAAA,EAAG;MAAA,IAAAc,MAAA;MACjB,IAAI,CAACX,oBAAoB,CAAE,UAAAC,OAAO,EAAI;QACrC,IAAK,SAAS,KAAKU,MAAI,CAACzH,IAAI,EAAG;UAC9B+G,OAAO,CAACQ,KAAK,CAACG,OAAO,GAAG,KAAK;QAC9B;QACA,IAAK,SAAS,KAAKD,MAAI,CAACzH,IAAI,EAAG;UAC9B+G,OAAO,CAACxJ,SAAS,CAAC8I,GAAG,CAAE,4BAA6B,CAAC;QACtD;QACA,IAAK,YAAY,KAAKoB,MAAI,CAACzH,IAAI,EAAG;UACjC+G,OAAO,CAACxJ,SAAS,CAAC8I,GAAG,CAAE,oBAAqB,CAAC;QAC9C;QACAU,OAAO,CAACxJ,SAAS,CAAC8I,GAAG,CAAE,aAAc,CAAC;MACvC,CAAE,CAAC;IACJ;EAAC;IAAAE,GAAA;IAAAjI,KAAA,EAED,SAAA0I,YAAYA,CAAA,EAAG;MACd,IAAI,CAACF,oBAAoB,CAAE,UAAAC,OAAO;QAAA,OAAIA,OAAO,CAACQ,KAAK,CAACG,OAAO,GAAG,KAAK;MAAA,CAAC,CAAC;IACtE;EAAC;IAAAnB,GAAA;IAAAjI,KAAA,EAED,SAAAwI,oBAAoBA,CAAEa,QAAQ,EAAG;MAChC,IAAK,IAAI,CAACzD,QAAQ,YAAY0D,OAAO,EAAG;QACvCD,QAAQ,CAAE,IAAI,CAACzD,QAAQ,EAAE,CAAE,CAAC;QAC5B;MACD;MACA,IAAK,CAAC,GAAG,IAAI,CAACA,QAAQ,CAACrC,MAAM,EAAG;QAC/B,IAAI,CAACqC,QAAQ,CAAChK,OAAO,CAAE,UAAE6M,OAAO,EAAEO,KAAK;UAAA,OAAMK,QAAQ,CAAEZ,OAAO,EAAEO,KAAM,CAAC;QAAA,CAAC,CAAC;MAC1E;IACD;EAAC;AAAA;;;;;;;;;;;;;;;AC1EF;AACA,IAAIO,WAAW,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,IAAI;EAAA,OAAIJ,WAAW,GAAGA,WAAW,CAACK,IAAI,CAAED,IAAK,CAAC,CAACE,KAAK,CAAEF,IAAK,CAAC;AAAA;;;;;;;;;;;;;;;;ACT7F;AACA;AACA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAKC,OAAO,EAAEC,OAAO,EAAEtI,IAAI,EAAEuI,OAAO,EAAM;EACnE,IAAMC,YAAY,GAAG3M,QAAQ,CAACG,aAAa,CAAEqM,OAAQ,CAAC;EACtD,IAAMI,YAAY,GAAG5M,QAAQ,CAACG,aAAa,CAAEsM,OAAQ,CAAC;EAEtD,IAAK,CAAEE,YAAY,IAAI,CAAEC,YAAY,EAAG;IACvCC,OAAO,CAACC,IAAI,CAAE,uDAAwD,CAAC;IACvE;EACD;;EAEA;EACA,IAAKJ,OAAO,EAAG;IACd,IAAMK,IAAI,GAAGH,YAAY,CAACzM,aAAa,qBAAAL,MAAA,CAAsBqE,IAAI,QAAM,CAAC;IACxE,IAAK4I,IAAI,EAAG;MACXA,IAAI,CAAC9G,WAAW,GAAGyG,OAAO;IAC3B;EACD;;EAEA;EACAE,YAAY,CAAC/M,YAAY,CAAE,WAAW,EAAEsE,IAAK,CAAC;EAC9Ce,uCAAI,CAAE0H,YAAa,CAAC;;EAEpB;EACAD,YAAY,CAACxL,gBAAgB,CAAE,OAAO,EAAE,YAAM;IAC7C8D,uCAAI,CAAE2H,YAAa,CAAC;EACrB,CAAC,EAAE;IAAExB,IAAI,EAAE;EAAK,CAAE,CAAC;AACpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCD,IAAA4B,OAAA,GAAwCrJ,MAAM;EAAtC8F,GAAG,GAAAuD,OAAA,CAAHvD,GAAG;EAAEsD,IAAI,GAAAC,OAAA,CAAJD,IAAI;EAAEvD,GAAG,GAAAwD,OAAA,CAAHxD,GAAG;EAAEE,CAAC,GAAAsD,OAAA,CAADtD,CAAC;EAAEC,GAAG,GAAAqD,OAAA,CAAHrD,GAAG;EAAEsD,GAAG,GAAAD,OAAA,CAAHC,GAAG;AACnC,IAAAC,aAAA,GAA2CvJ,MAAM,CAACwJ,KAAK;EAA/CC,gBAAgB,GAAAF,aAAA,CAAhBE,gBAAgB;EAAEC,YAAY,GAAAH,aAAA,CAAZG,YAAY;AACtC,IAAAC,YAAA,GAA8C3J,MAAM,CAAC4J,IAAI;EAAjDvD,qBAAqB,GAAAsD,YAAA,CAArBtD,qBAAqB;EAAEwD,UAAU,GAAAF,YAAA,CAAVE,UAAU;AACzC,IAAQC,UAAU,GAAK9J,MAAM,CAAC+J,IAAI,CAA1BD,UAAU;AAClB,IAAME,CAAC,GAAG,SAAJA,CAACA,CAAGC,IAAI;EAAA,OAAIpE,GAAG,CAAE,GAAG,EAAEoE,IAAK,CAAC;AAAA;AAClC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAGD,IAAI;EAAA,OAAIpE,GAAG,CAAE,QAAQ,EAAEoE,IAAK,CAAC;AAAA;AAC1C,IAAMhE,MAAM,GAAG,SAATA,MAAMA,CAAGgE,IAAI;EAAA,OAAIpE,GAAG,CAAE,QAAQ,EAAEoE,IAAK,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNhB;AACJ;AACA;AACQ;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;;ACL7B;AACA;AACA;AACA,IAAMrG,GAAG,GAAG,IAAIuG,GAAG,CAAEhP,MAAM,CAACiP,QAAQ,CAAC9G,IAAK,CAAC;AAC3C,IAAM+G,SAAS,GAAGzG,GAAG,CAAC0G,YAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,SAAS;EAAA,OAAIH,SAAS,CAACpF,GAAG,CAAEuF,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGD,SAAS,EAAI;EAC5CH,SAAS,CAACK,MAAM,CAAEF,SAAU,CAAC;EAC7B5G,GAAG,CAAC3D,MAAM,GAAGoK,SAAS,CAACM,QAAQ,CAAC,CAAC;EACjC,OAAO/G,GAAG,CAAC+G,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAKJ,SAAS,EAAEK,UAAU,EAAkC;EAAA,IAAhCC,YAAY,GAAAxG,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,WAAW;EAC/E+F,SAAS,CAACjF,GAAG,CAAEoF,SAAS,EAAEK,UAAW,CAAC;EACtCjH,GAAG,CAAC3D,MAAM,GAAGoK,SAAS,CAACM,QAAQ,CAAC,CAAC;EAEjC,IAAK,CAAE,WAAW,EAAE,cAAc,CAAE,CAAC1O,QAAQ,CAAE6O,YAAa,CAAC,EAAG;IAC/D,IAAMpK,KAAK,GAAAqK,eAAA,KAAOP,SAAS,EAAIK,UAAU,CAAE;IAC3C1P,MAAM,CAAC6P,OAAO,CAAEF,YAAY,CAAE,CAAEpK,KAAK,EAAE,EAAE,EAAEkD,GAAI,CAAC;EACjD;EAEA,OAAOA,GAAG,CAAC+G,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAGT,SAAS;EAAA,OAAIH,SAAS,CAAClF,GAAG,CAAEqF,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMU,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGV,SAAS;EAAA,OAC9CQ,OAAO,CAACG,YAAY,CAAE,CAAC,CAAC,EAAE,EAAE,EAAEV,gBAAgB,CAAED,SAAU,CAAE,CAAC;AAAA;;;;;;;;;;;;;;;;;AC7D9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMY,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK;EAAA,OAChC,OAAOA,KAAK,KAAK,QAAQ,GAAG,yJAAyJ,CAACC,IAAI,CAAED,KAAM,CAAC,GAAG,KAAK;AAAA;;AAE5M;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAGhE,OAAO;EAAA,OAAIA,OAAO,YAAYiE,WAAW,IAAItC,OAAO,CAACC,IAAI,CAAE,8DAA+D,CAAC,IAAI,KAAK;AAAA;;AAEjK;AACA;AACA;AACA;AACA;AACA;AACO,IAAMsC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,GAAG;EAAA,OAAIC,MAAM,CAACC,IAAI,CAAEF,GAAI,CAAC,CAACrJ,MAAM,KAAK,CAAC,IAAIqJ,GAAG,CAACG,WAAW,KAAKF,MAAM;AAAA;;;;;;;;;;;;;;;;;;;;ACvBjG;AACA;AACA;AAC8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACO,IAAM1I,YAAY,GAAG,SAAfA,YAAYA,CAAGyB,QAAQ;EAAA,IAAAoH,WAAA;EAAA,QAAAA,WAAA,GACnCC,KAAK,CAACC,IAAI,CAAEtH,QAAS,CAAC,cAAAoH,WAAA,uBAAtBA,WAAA,CAAwBpR,OAAO,CAAE,UAAA6M,OAAO;IAAA,OAAIhG,IAAI,CAAEgG,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMlG,YAAY,GAAG,SAAfA,YAAYA,CAAGqD,QAAQ;EAAA,IAAAuH,YAAA;EAAA,QAAAA,YAAA,GACnCF,KAAK,CAACC,IAAI,CAAEtH,QAAS,CAAC,cAAAuH,YAAA,uBAAtBA,YAAA,CAAwBvR,OAAO,CAAE,UAAA6M,OAAO;IAAA,OAAIjG,IAAI,CAAEiG,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMhG,IAAI,GAAG,SAAPA,IAAIA,CAAGgG,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExJ,SAAS,CAAC2D,MAAM,CAAEoC,wDAAa,CAAC;AAAA;;AAExE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMxC,IAAI,GAAG,SAAPA,IAAIA,CAAGiG,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExJ,SAAS,CAAC8I,GAAG,CAAE/C,wDAAa,CAAC;AAAA;;AAErE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMtC,SAAS,GAAG,SAAZA,SAASA,CAAG+F,OAAO,EAAI;EACnC,IAAM2E,MAAM,GAAG/Q,MAAM,CAACgR,gBAAgB,CAAE5E,OAAQ,CAAC;EACjD,OAAO2E,MAAM,CAACE,gBAAgB,CAAE,SAAU,CAAC,KAAK,MAAM;AACvD,CAAC;;;;;;;;;;AChDD;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;;AAEA,YAAY,4BAA4B;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;;ACJqD;AACrD;AACA,+BAA+B,gEAAgB;AAC/C;;;;;;;;;;;;;;;;ACHA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACFuD;AACJ;AACsB;AAClB;AACvD;AACA,SAAS,iEAAiB,OAAO,+DAAe,OAAO,0EAA0B,OAAO,iEAAiB;AACzG;;;;;;;;;;;;;;;;;ACNqD;AACrD;AACA;AACA,qCAAqC,gEAAgB;AACrD,cAAc;AACd,+LAA+L,gEAAgB;AAC/M;AACA;;;;;;;;;;;;;;;;;ACP+C;AAC/C;AACA,cAAc,6DAAa;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACRkC;AAClC;AACA,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC3C;AACA,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;;ACLA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;UCRA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AAC4C;;AAE5C;AACA;AACA;AACwC;AACK;AACK;AAElDC,gEAAQ,CAAE,YAAM;EACftK,qDAAgB,CAAC,CAAC;EAClBxH,+DAAsB,CAAC,CAAC;EACxBkF,0DAAiB,CAAC,CAAC;AACpB,CAAE,CAAC,C","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/addons-page/addons/categorizeAddons.js","webpack://formidable/./js/src/addons-page/addons/index.js","webpack://formidable/./js/src/addons-page/constants.js","webpack://formidable/./js/src/addons-page/elements/elements.js","webpack://formidable/./js/src/addons-page/elements/index.js","webpack://formidable/./js/src/addons-page/events/addonToggleListener.js","webpack://formidable/./js/src/addons-page/events/index.js","webpack://formidable/./js/src/addons-page/events/searchListener.js","webpack://formidable/./js/src/addons-page/shared/index.js","webpack://formidable/./js/src/addons-page/shared/pageState.js","webpack://formidable/./js/src/addons-page/ui/index.js","webpack://formidable/./js/src/addons-page/ui/searchState.js","webpack://formidable/./js/src/addons-page/ui/setupInitialView.js","webpack://formidable/./js/src/addons-page/ui/showEmptyState.js","webpack://formidable/./js/src/addons-page/ui/showSelectedCategory.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/factory/createPageElements.js","webpack://formidable/./js/src/core/factory/createPageState.js","webpack://formidable/./js/src/core/factory/index.js","webpack://formidable/./js/src/core/page-skeleton/constants.js","webpack://formidable/./js/src/core/page-skeleton/elements/elements.js","webpack://formidable/./js/src/core/page-skeleton/elements/emptyStateElement.js","webpack://formidable/./js/src/core/page-skeleton/events/categoryListener.js","webpack://formidable/./js/src/core/page-skeleton/events/index.js","webpack://formidable/./js/src/core/page-skeleton/index.js","webpack://formidable/./js/src/core/page-skeleton/shared/pageState.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/addons-page/index.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEWS } from '../constants';\n\nexport const categorizedAddons = {};\n\ncategorizedAddons[ VIEWS.AVAILABLE ] = [];\ncategorizedAddons[ VIEWS.ACTIVE ] = [];\n\n/**\n * Builds a categorized list of addons.\n *\n * @return {void}\n */\nexport function buildCategorizedAddons() {\n\tconst { addons } = getElements();\n\n\taddons.forEach( addon => {\n\t\t// Extract and split the categories from data attribute\n\t\tconst dataCategories = addon.getAttribute( 'data-categories' );\n\t\tif ( ! dataCategories ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst categories = dataCategories.split( ',' );\n\n\t\tcategories.forEach( category => {\n\t\t\t// Initialize the category array if not already done\n\t\t\tif ( ! categorizedAddons[ category ] ) {\n\t\t\t\tcategorizedAddons[ category ] = [];\n\t\t\t}\n\n\t\t\t// Add the addon to the appropriate category\n\t\t\tcategorizedAddons[ category ].push( addon );\n\t\t} );\n\t} );\n}\n","export * from './categorizeAddons';\n","export const { addonRequestURL } = window.frmAddonsVars;\nexport const PREFIX = 'frm-addons';\n\nexport const VIEWS = {\n\tAVAILABLE: 'available-addons',\n\tACTIVE: 'active-addons',\n};\n\nexport const PLANS = {\n\tBASIC: 'basic',\n\tPLUS: 'plus',\n\tBUSINESS: 'business',\n\tELITE: 'elite',\n};\n","/**\n * External dependencies\n */\nimport {\n\tgetElements,\n\taddElements,\n\tPREFIX as SKELETON_PREFIX,\n} from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PLANS, PREFIX, VIEWS } from '../constants';\n\nconst { bodyContent, sidebar } = getElements();\n\nbodyContent\n\t.querySelectorAll( '.frm-card-item:not(.plugin-card-formidable-pro)' )\n\t.forEach( addon => {\n\t\tconst categories = addon.dataset.categories;\n\t\tswitch ( true ) {\n\t\t\tcase categories.includes( PLANS.BUSINESS ):\n\t\t\t\taddon.setAttribute(\n\t\t\t\t\t'data-categories',\n\t\t\t\t\t`${ categories },${ PLANS.ELITE }`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase categories.includes( PLANS.PLUS ):\n\t\t\t\taddon.setAttribute(\n\t\t\t\t\t'data-categories',\n\t\t\t\t\t`${ categories },${ PLANS.BUSINESS },${ PLANS.ELITE }`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase categories.includes( PLANS.BASIC ):\n\t\t\t\taddon.setAttribute(\n\t\t\t\t\t'data-categories',\n\t\t\t\t\t`${ categories },${ PLANS.PLUS },${ PLANS.BUSINESS },${ PLANS.ELITE }`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t} );\n\naddElements( {\n\t// Body elements\n\tupgradeBanner: document.getElementById( 'frm-upgrade-banner' ),\n\n\t// Category elements\n\tavailableCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEWS.AVAILABLE }\"]`\n\t),\n\tactiveCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEWS.ACTIVE }\"]`\n\t),\n\tcategoriesTopDivider: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-divider`\n\t),\n\tbasicPlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.BASIC }\"]`\n\t),\n\tplusPlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.PLUS }\"]`\n\t),\n\tbusinessPlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.BUSINESS }\"]`\n\t),\n\telitePlanCategory: sidebar.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ PLANS.ELITE }\"]`\n\t),\n\n\t// Card elements\n\taddonsList: document.getElementById( `${ PREFIX }-list` ),\n\taddons: bodyContent.querySelectorAll( '.frm-card-item' ),\n\tavailableAddons: bodyContent.querySelectorAll(\n\t\t'.frm-card-item:not(.frm-locked-item)'\n\t),\n\taddonsToggle: bodyContent.querySelectorAll( '.frm_toggle_block' ),\n\n\t// Add children of the bodyContent to the elements object\n\tbodyContentChildren: bodyContent?.children,\n} );\n\nexport { getElements, addElements };\n","export * from './elements';\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { setupActiveCategory } from '../ui/';\n\nlet targetButton;\n\n/**\n * Manages event handling for addons toggle.\n *\n * @return {void}\n */\nfunction addAddonToggleEvents() {\n\tconst { addonsToggle } = getElements();\n\n\taddonsToggle.forEach( addonToggle =>\n\t\taddonToggle.addEventListener( 'click', onAddonToggleClick )\n\t);\n\n\twp.hooks.addAction( 'frm_update_addon_state', 'frmAddonPage', () => {\n\t\tsetupActiveCategory();\n\t} );\n}\n\n/**\n * Handles the click event on the addon toggle.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onAddonToggleClick = event => {\n\tif ( targetButton?.classList.contains( 'frm_loading_button' ) ) {\n\t\treturn;\n\t}\n\n\tconst addonToggle = event.currentTarget;\n\tconst addon = addonToggle.closest( '.frm-card-item' );\n\n\tconst actionMap = new Map( [\n\t\t[ 'frm-addon-not-installed', '.frm-install-addon' ],\n\t\t[ 'frm-addon-installed', '.frm-activate-addon' ],\n\t\t[ 'frm-addon-active', '.frm-deactivate-addon' ],\n\t] );\n\n\tfor ( const [ className, selector ] of actionMap.entries() ) {\n\t\tif ( addon.classList.contains( className ) ) {\n\t\t\ttargetButton = addon.querySelector( selector );\n\t\t\ttargetButton.click();\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nexport default addAddonToggleEvents;\n","/**\n * External dependencies\n */\nimport { addCategoryEvents } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { showSelectedCategory } from '../ui';\nimport addAddonToggle from './addonToggleListener';\nimport addSearchEvents from './searchListener';\n\n/**\n * Attaches event listeners for handling user interactions.\n *\n * @return {void}\n */\nexport function addEventListeners() {\n\taddCategoryEvents();\n\twp.hooks.addAction(\n\t\t'frmPage.onCategoryClick',\n\t\t'frmAddonsPage',\n\t\tselectedCategory => {\n\t\t\tshowSelectedCategory( selectedCategory );\n\t\t}\n\t);\n\n\taddAddonToggle();\n\taddSearchEvents();\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setSingleState } from '../shared';\nimport { showSearchState, displaySearchElements } from '../ui';\n\nconst { init: initSearch } = window.frmDom.search;\n\n/**\n * Adds search-related event listeners by calling the 'initSearch' function.\n *\n * @see frmDom.search method\n * @return {void}\n */\nfunction addSearchEvents() {\n\tconst { searchInput } = getElements();\n\n\tinitSearch( searchInput, 'frm-card-item', { handleSearchResult } );\n}\n\n/**\n * Manages UI state based on search results and input value.\n *\n * @private\n * @param {Object} args Contains flags for search status.\n * @param {boolean} args.foundSomething True if search yielded results.\n * @param {boolean} args.notEmptySearchText True if search input is not empty.\n * @param {Event} event The event object (input, search, or change event).\n * @return {void}\n */\nfunction handleSearchResult( { foundSomething, notEmptySearchText }, event ) {\n\t// Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events,\n\t// triggering this method twice on 'x' button click.\n\tif ( event && event.type === 'search' && event.target.value === '' ) {\n\t\treturn;\n\t}\n\n\tconst state = getState();\n\tconst { allItemsCategory } = getElements();\n\n\tsetSingleState( 'notEmptySearchText', notEmptySearchText );\n\n\t// Revert to 'All Templates' if search and selected category are both empty\n\tif ( ! state.notEmptySearchText && ! state.selectedCategory ) {\n\t\tallItemsCategory.dispatchEvent(\n\t\t\tnew Event( 'click', { bubbles: true } )\n\t\t);\n\n\t\treturn;\n\t}\n\n\t// Display search state if a category is selected\n\tif ( state.selectedCategory ) {\n\t\tshowSearchState( notEmptySearchText );\n\n\t\t// Setting \"selectedCategory\" to an empty string as a flag for search state\n\t\tif ( notEmptySearchText ) {\n\t\t\tsetSingleState( 'selectedCategory', '' );\n\t\t}\n\t}\n\n\tdisplaySearchElements( foundSomething );\n}\n\nexport default addSearchEvents;\n","export * from './pageState';\n","/**\n * External dependencies\n */\nimport {\n\tgetState,\n\tgetSingleState,\n\tsetState,\n\tsetSingleState,\n} from 'core/page-skeleton';\n\n// NOTE:\n// Use setState() here to add new states on the Add-Ons page.\n// Check the 'core/page-skeleton' package for shared states you can use.\n\nexport { getState, getSingleState, setState, setSingleState };\n","export * from './setupInitialView';\nexport * from './showSelectedCategory';\nexport * from './searchState';\nexport * from './showEmptyState';\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { frmAnimate, hideElements, hide, show, isVisible } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState } from '../shared';\nimport { showEmptyState } from '.';\n\n/**\n * Updates the UI to display the search state.\n *\n * @param {boolean} notEmptySearchText True if search input is not empty.\n * @return {void}\n */\nexport function showSearchState( notEmptySearchText ) {\n\tconst { bodyContent, bodyContentChildren, addonsList } = getElements();\n\n\t// Remove highlighting from the currently selected category if the search text is not empty\n\tif ( notEmptySearchText ) {\n\t\tgetSingleState( 'selectedCategoryEl' ).classList.remove(\n\t\t\tCURRENT_CLASS\n\t\t);\n\t}\n\n\t// Hide non-relevant elements in the body content\n\thideElements( bodyContentChildren );\n\n\tshow( addonsList );\n\n\t// Smoothly display the updated UI elements\n\tnew frmAnimate( bodyContent ).fadeIn();\n}\n\n/**\n * Displays search results based on search outcome.\n *\n * @param {boolean} foundSomething True if search yielded results.\n * @return {void}\n */\nexport function displaySearchElements( foundSomething ) {\n\t// Show empty state if no templates found\n\tif ( ! foundSomething ) {\n\t\tshowEmptyState();\n\t\treturn;\n\t}\n\n\t// Hide empty state if currently displayed\n\tconst { emptyState } = getElements();\n\tif ( isVisible( emptyState ) ) {\n\t\thide( emptyState );\n\t}\n}\n","/**\n * External dependencies\n */\nimport { HIDE_JS_CLASS } from 'core/constants';\nimport { frmAnimate, hideElements, show } from 'core/utils';\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { categorizedAddons } from '../addons';\nimport { PREFIX, VIEWS } from '../constants';\n\nconst CAT_COUNT_CLASS = `.${ SKELETON_PREFIX }-cat-count`;\n\n/**\n * Sets up the initial view, performing any required\n * DOM manipulations for proper element presentation.\n *\n * @return {void}\n */\nexport function setupInitialView() {\n\tconst { sidebar, searchInput, bodyContent } = getElements();\n\n\tconst bodyContentAnimate = new frmAnimate( bodyContent );\n\n\tsearchInput.value = '';\n\n\tsetupActiveCategory();\n\tsetupAvailableCategory();\n\tsetupAllAddonsCategory();\n\tsetupPlansCategory();\n\n\t// Smoothly display the updated UI elements\n\tbodyContent.classList.remove( HIDE_JS_CLASS );\n\tsidebar.classList.remove( HIDE_JS_CLASS );\n\tbodyContentAnimate.fadeIn();\n\tshow( sidebar );\n}\n\n/**\n * Sets up the \"Active\" category, updating the\n * categorizedAddons object and the category count.\n *\n * @return {void}\n */\nexport function setupActiveCategory() {\n\tconst { activeCategory, availableCategory, categoriesTopDivider } =\n\t\tgetElements();\n\tconst activeAddons = document.querySelectorAll(\n\t\t'.frm-addon-active:not(.frm-locked-item)'\n\t);\n\n\tif ( activeAddons.length === 0 ) {\n\t\thideElements( [\n\t\t\tactiveCategory,\n\t\t\tavailableCategory,\n\t\t\tcategoriesTopDivider,\n\t\t] );\n\t\treturn;\n\t}\n\n\tcategorizedAddons[ VIEWS.ACTIVE ] = activeAddons;\n\n\t// Set \"Active\" category count\n\tactiveCategory.querySelector( CAT_COUNT_CLASS ).textContent = activeAddons.length;\n}\n\n/**\n * Sets up the \"Available\" category, updating the\n * categorizedAddons object and the category count.\n *\n * @private\n * @return {void}\n */\nfunction setupAvailableCategory() {\n\tconst { bodyContent, availableCategory, availableAddons } = getElements();\n\n\tcategorizedAddons[ VIEWS.AVAILABLE ] = availableAddons;\n\n\t// Set \"Available\" category count\n\tif ( availableCategory ) {\n\t\tavailableCategory.querySelector( CAT_COUNT_CLASS ).textContent = availableAddons.length;\n\n\t\tconst upgradeBannerAvailableCount = bodyContent.querySelector(\n\t\t\t`.${ PREFIX }-available-count`\n\t\t);\n\t\tif ( upgradeBannerAvailableCount ) {\n\t\t\tupgradeBannerAvailableCount.textContent = availableAddons.length;\n\t\t}\n\t}\n}\n\n/**\n * Sets up the \"All Add-Ons\" category, updating the\n * category count.\n *\n * @private\n * @return {void}\n */\nfunction setupAllAddonsCategory() {\n\tconst { allItemsCategory, addons } = getElements();\n\n\t// Set \"All Add-Ons\" category count\n\tallItemsCategory.querySelector( CAT_COUNT_CLASS ).textContent = addons.length;\n}\n\n/**\n * Sets up the \"All Add-Ons\" category, updating the\n * category count.\n *\n * @private\n * @return {void}\n */\nfunction setupPlansCategory() {\n\tconst {\n\t\tbasicPlanCategory,\n\t\tplusPlanCategory,\n\t\tbusinessPlanCategory,\n\t\telitePlanCategory,\n\t} = getElements();\n\n\tconst getCount = category => parseInt( category.querySelector( CAT_COUNT_CLASS ).textContent, 10 ) || 0;\n\n\t// The \"Formidable Pro\" add-on is included in all plans, so we just consider that in the basicCount\n\tconst basicCount = getCount( basicPlanCategory );\n\tconst plusCount = getCount( plusPlanCategory ) - 1;\n\tconst businessCount = getCount( businessPlanCategory ) - 1;\n\tconst eliteCount = getCount( elitePlanCategory ) - 1;\n\n\t// Update the text content for each category\n\tplusPlanCategory.querySelector( CAT_COUNT_CLASS ).textContent = basicCount + plusCount;\n\tbusinessPlanCategory.querySelector( CAT_COUNT_CLASS ).textContent = basicCount + plusCount + businessCount;\n\telitePlanCategory.querySelector( CAT_COUNT_CLASS ).textContent = basicCount + plusCount + businessCount + eliteCount;\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { showElements } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState } from '../shared';\nimport { addonRequestURL } from '../constants';\n\n/**\n * Display the search-empty state.\n *\n * @return {void}\n */\nexport function showEmptyState() {\n\tconst { selectedCategory } = getState();\n\tconst { emptyState, emptyStateButton, emptyStateTitle, emptyStateText } =\n\t\tgetElements();\n\n\temptyState.setAttribute( 'data-view', selectedCategory );\n\n\temptyStateTitle.textContent = __( 'No add-ons found', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'Sorry, we didn\\'t find any add-ons that match your criteria.',\n\t\t'formidable'\n\t);\n\n\temptyStateButton.textContent = __( 'Request Add-On', 'formidable' );\n\temptyStateButton.href = addonRequestURL;\n\temptyStateButton.setAttribute( 'target', '_blank' );\n\n\tshowElements( [ emptyState, emptyStateButton ] );\n}\n","/**\n * External dependencies\n */\nimport { showElements, hideElements, show, hide } from 'core/utils';\nimport { VIEWS as SKELETON_VIEWS } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { categorizedAddons } from '../addons';\nimport { showEmptyState } from '.';\n\n/**\n * Show addons based on selected category.\n *\n * @param {string} selectedCategory The selected category to display addons for.\n * @return {void}\n */\nexport function showSelectedCategory( selectedCategory ) {\n\tconst { bodyContent, addons, emptyState, upgradeBanner } = getElements();\n\n\thide( emptyState );\n\tshow( upgradeBanner );\n\n\tbodyContent.dataset.category = selectedCategory;\n\n\tif ( SKELETON_VIEWS.ALL_ITEMS === selectedCategory ) {\n\t\tshowElements( addons );\n\t\treturn;\n\t}\n\n\thideElements( addons );\n\n\tif ( categorizedAddons[ selectedCategory ].length === 0 ) {\n\t\tshowEmptyState();\n\t\thide( upgradeBanner );\n\t} else {\n\t\tshowElements( categorizedAddons[ selectedCategory ] );\n\t}\n}\n\nexport default showSelectedCategory;\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","/**\n * Creates a page elements manager.\n *\n * @param {Object} [initialElements={}] An object containing initial DOM elements.\n * @throws {Error} Throws an error if the `initialElements` is not an object.\n * @return {Object} An object with methods to get and add elements.\n */\nexport function createPageElements( initialElements = {} ) {\n\tif ( typeof initialElements !== 'object' || initialElements === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageElements: initialElements must be a non-null object'\n\t\t);\n\t}\n\n\tlet elements = initialElements;\n\n\t/**\n\t * Retrieve the initialized essential DOM elements.\n\t *\n\t * @return {Object} The initialized elements object.\n\t */\n\tfunction getElements() {\n\t\treturn elements;\n\t}\n\n\t/**\n\t * Add new elements to the elements object.\n\t *\n\t * @param {Object} newElements An object containing new elements to be added.\n\t * @throws {Error} Throws an error if the `newElements` is not a non-null object.\n\t * @return {void} Updates the elements object by merging the new elements into it.\n\t */\n\tfunction addElements( newElements ) {\n\t\tif ( typeof newElements !== 'object' || newElements === null ) {\n\t\t\tthrow new Error(\n\t\t\t\t'addElements: newElements must be a non-null object'\n\t\t\t);\n\t\t}\n\n\t\telements = { ...elements, ...newElements };\n\t}\n\n\treturn { getElements, addElements };\n}\n","/**\n * Creates a page state manager.\n *\n * @param {Object} [initialState={}] An object containing the initial state.\n * @throws {Error} Throws an error if the `initialState` is not a plain object.\n * @return {Object} An object with methods to initialize, get, and set the page state.\n */\nexport function createPageState( initialState = {} ) {\n\tif ( typeof initialState !== 'object' || initialState === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageState: initialState must be a non-null object'\n\t\t);\n\t}\n\n\tlet state = initialState;\n\n\t/**\n\t * Returns the current page state.\n\t *\n\t * @return {Object|null} The current state of the page or null if not initialized.\n\t */\n\tconst getState = () => state;\n\n\t/**\n\t * Returns a specific property from the current page state.\n\t *\n\t * @param {string} propertyName The name of the property to retrieve.\n\t * @return {*} The value of the specified property, or null if it doesn't exist.\n\t */\n\tconst getSingleState = propertyName => {\n\t\tconst value = Reflect.get( state, propertyName );\n\n\t\t// We convert `undefined` to `null` for a consistent API.\n\t\t// This makes it easier for users to handle the results since all missing properties return `null`.\n\t\treturn value === undefined ? null : value;\n\t};\n\n\t/**\n\t * Updates the page state with new values.\n\t *\n\t * @param {Object} newState The new values to update the state with.\n\t * @throws {Error} Throws an error if `newState` is not a plain object.\n\t * @return {void}\n\t */\n\tconst setState = newState => {\n\t\tif ( typeof newState !== 'object' || newState === null ) {\n\t\t\tthrow new Error( 'setState: newState must be a non-null object' );\n\t\t}\n\n\t\tstate = { ...state, ...newState };\n\t};\n\n\t/**\n\t * Updates a specific property in the page state with a new value.\n\t *\n\t * @param {string} propertyName The name of the property to update.\n\t * @param {*} value The new value to set for the property.\n\t * @return {void}\n\t */\n\tconst setSingleState = ( propertyName, value ) => {\n\t\tif ( Reflect.has( state, propertyName ) ) {\n\t\t\tReflect.set( state, propertyName, value );\n\t\t}\n\t};\n\n\treturn { getState, getSingleState, setState, setSingleState };\n}\n","export * from './createPageElements';\nexport * from './createPageState';\n","export const PREFIX = 'frm-page-skeleton';\nexport const SEARCH_RESULT_ITEM = 'frm-card-item';\nexport const VIEWS = {\n\tALL_ITEMS: 'all-items',\n};\n","/**\n * External dependencies\n */\nimport { createPageElements } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEWS } from '../constants';\nimport {\n\tcreateEmptyStateElement,\n\tgetEmptyStateElements,\n} from './emptyStateElement';\n\nconst bodyContent = document.getElementById( 'post-body-content' );\nconst sidebar = document.getElementById( `${ PREFIX }-sidebar` );\n\n// Append empty state elements to body content\nconst emptyState = createEmptyStateElement();\nbodyContent?.appendChild( emptyState );\nconst emptyStateElements = getEmptyStateElements();\n\nexport const { getElements, addElements } = createPageElements( {\n\tbodyContent,\n\n\t// Sidebar elements\n\tsidebar,\n\tsearchInput: sidebar.querySelector( '.frm-search-input' ),\n\tcategoryItems: sidebar.querySelectorAll( `.${ PREFIX }-cat` ),\n\tallItemsCategory: sidebar.querySelector(\n\t\t`.${ PREFIX }-cat[data-category=\"${ VIEWS.ALL_ITEMS }\"]`\n\t),\n\n\t// Empty State elements\n\t...emptyStateElements,\n} );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { PLUGIN_URL, HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX } from '../constants';\n\nconst { tag, div, a, img } = window.frmDom;\n\n/**\n * Create and return the Empty State HTML element.\n *\n * @return {HTMLElement} The Empty State element.\n */\nexport function createEmptyStateElement() {\n\tconst button = a( {\n\t\tclassName: 'button button-primary frm-button-primary',\n\t} );\n\tbutton.setAttribute( 'role', 'button' );\n\n\treturn div( {\n\t\tid: `${ PREFIX }-empty-state`,\n\t\tclassName: `frm-flex-col frm-flex-center frm-gap-md ${ HIDDEN_CLASS }`,\n\t\tchildren: [\n\t\t\timg( {\n\t\t\t\tsrc: `${ PLUGIN_URL }/images/page-skeleton/empty-state.svg`,\n\t\t\t\talt: __( 'Empty State', 'formidable' ),\n\t\t\t} ),\n\t\t\tdiv( {\n\t\t\t\tclassName: 'frmcenter',\n\t\t\t\tchildren: [\n\t\t\t\t\ttag( 'h2', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-title frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t\ttag( 'p', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-text frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t],\n\t\t\t} ),\n\t\t\tbutton,\n\t\t],\n\t} );\n}\n\n/**\n * Return the elements related to the Empty State.\n *\n * @return {Object} Object containing Empty State related DOM elements.\n */\nexport function getEmptyStateElements() {\n\tconst emptyState = document.querySelector( `#${ PREFIX }-empty-state` );\n\n\treturn {\n\t\temptyState,\n\t\temptyStateTitle: emptyState?.querySelector( `.${ PREFIX }-title` ),\n\t\temptyStateText: emptyState?.querySelector( `.${ PREFIX }-text` ),\n\t\temptyStateButton: emptyState?.querySelector( '.button' ),\n\t};\n}\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { onClickPreventDefault, frmAnimate } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setState } from '../shared';\nimport { resetSearchInput } from '.';\n\n/**\n * Manages event handling for sidebar category links.\n *\n * @return {void}\n */\nexport function addCategoryEvents() {\n\tconst { categoryItems } = getElements();\n\n\t// Attach click and keyboard event listeners to each sidebar category\n\tcategoryItems.forEach( category => {\n\t\tonClickPreventDefault( category, onCategoryClick );\n\t\tcategory.addEventListener( 'keydown', onCategoryKeydown );\n\t} );\n}\n\n/**\n * Handles the click event on a category item.\n *\n * @private\n * @param {Event} event The click event object.\n */\nconst onCategoryClick = event => {\n\tconst clickedCategory = event.currentTarget;\n\tconst newSelectedCategory = clickedCategory.getAttribute( 'data-category' );\n\tlet { selectedCategory, selectedCategoryEl, notEmptySearchText } =\n\t\tgetState();\n\n\t// If the selected category hasn't changed, return early\n\tif ( selectedCategory === newSelectedCategory ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * Filter hook to modify the selected category.\n\t *\n\t * @param {string} selectedCategory The selected category\n\t */\n\tselectedCategory = wp.hooks.applyFilters(\n\t\t'frmPage.selectedCategory',\n\t\tnewSelectedCategory\n\t);\n\n\t// Highlight the newly clicked category and update the application state\n\tselectedCategoryEl.classList.remove( CURRENT_CLASS );\n\tselectedCategoryEl = clickedCategory;\n\tselectedCategoryEl.classList.add( CURRENT_CLASS );\n\tsetState( { selectedCategory, selectedCategoryEl } );\n\n\t// Reset the search input if it contains text\n\tif ( notEmptySearchText ) {\n\t\tresetSearchInput();\n\t}\n\n\t/**\n\t * Trigger custom action to update category content.\n\t *\n\t * @param {string} selectedCategory The selected category.\n\t */\n\twp.hooks.doAction( 'frmPage.onCategoryClick', selectedCategory );\n\n\t// Smoothly display the updated UI elements\n\tconst { bodyContent } = getElements();\n\tnew frmAnimate( bodyContent ).fadeIn();\n};\n\n/**\n * Handles the keyboard event on a category item.\n *\n * @param {KeyboardEvent} event The keyboard event object.\n * @return {void}\n */\nfunction onCategoryKeydown( event ) {\n\t// Only respond to 'Enter' or 'Space' key presses\n\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\tevent.preventDefault();\n\t\tonCategoryClick( event );\n\t}\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Resets the value of the search input and triggers an input event.\n *\n * @return {void}\n */\nexport function resetSearchInput() {\n\tconst { searchInput } = getElements();\n\n\tsearchInput.value = '';\n\tsearchInput.dispatchEvent( new Event( 'input', { bubbles: true } ) );\n}\n\nexport * from './categoryListener';\n","export * from './constants';\nexport * from './elements';\nexport * from './shared';\nexport * from './events';\n","/**\n * External dependencies\n */\nimport { createPageState } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEWS } from '../constants';\n\nconst { allItemsCategory } = getElements();\n\nexport const { getState, getSingleState, setState, setSingleState } =\n\tcreatePageState( {\n\t\tnotEmptySearchText: false,\n\t\tselectedCategory: VIEWS.ALL_ITEMS,\n\t\tselectedCategoryEl: allItemsCategory,\n\t} );\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { setupInitialView } from './ui';\nimport { addEventListeners } from './events';\nimport { buildCategorizedAddons } from './addons';\n\ndomReady( () => {\n\tsetupInitialView();\n\tbuildCategorizedAddons();\n\taddEventListeners();\n} );\n"],"names":["getElements","VIEWS","categorizedAddons","AVAILABLE","ACTIVE","buildCategorizedAddons","_getElements","addons","forEach","addon","dataCategories","getAttribute","categories","split","category","push","addonRequestURL","window","frmAddonsVars","PREFIX","PLANS","BASIC","PLUS","BUSINESS","ELITE","addElements","SKELETON_PREFIX","bodyContent","sidebar","querySelectorAll","dataset","includes","setAttribute","concat","upgradeBanner","document","getElementById","availableCategory","querySelector","activeCategory","categoriesTopDivider","basicPlanCategory","plusPlanCategory","businessPlanCategory","elitePlanCategory","addonsList","availableAddons","addonsToggle","bodyContentChildren","children","setupActiveCategory","targetButton","addAddonToggleEvents","addonToggle","addEventListener","onAddonToggleClick","wp","hooks","addAction","event","_targetButton","classList","contains","currentTarget","closest","actionMap","Map","_iterator","_createForOfIteratorHelper","entries","_step","s","n","done","_step$value","_slicedToArray","value","className","selector","click","err","e","f","addCategoryEvents","showSelectedCategory","addAddonToggle","addSearchEvents","addEventListeners","selectedCategory","getState","setSingleState","showSearchState","displaySearchElements","initSearch","frmDom","search","init","searchInput","handleSearchResult","_ref","foundSomething","notEmptySearchText","type","target","state","_getElements2","allItemsCategory","dispatchEvent","Event","bubbles","getSingleState","setState","__","CURRENT_CLASS","frmAnimate","hideElements","hide","show","isVisible","showEmptyState","remove","fadeIn","emptyState","HIDE_JS_CLASS","CAT_COUNT_CLASS","setupInitialView","bodyContentAnimate","setupAvailableCategory","setupAllAddonsCategory","setupPlansCategory","activeAddons","length","textContent","_getElements3","upgradeBannerAvailableCount","_getElements4","_getElements5","getCount","parseInt","basicCount","plusCount","businessCount","eliteCount","showElements","_getState","emptyStateButton","emptyStateTitle","emptyStateText","href","SKELETON_VIEWS","ALL_ITEMS","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","createPageElements","initialElements","arguments","undefined","_typeof","Error","elements","newElements","_objectSpread","createPageState","initialState","propertyName","Reflect","get","newState","has","set","SEARCH_RESULT_ITEM","createEmptyStateElement","getEmptyStateElements","appendChild","emptyStateElements","_createPageElements","categoryItems","_window$frmDom","tag","div","a","img","button","id","src","alt","onClickPreventDefault","resetSearchInput","onCategoryClick","onCategoryKeydown","clickedCategory","newSelectedCategory","selectedCategoryEl","applyFilters","add","doAction","key","preventDefault","_createPageState","_classCallCheck","prepareElements","_createClass","_this","applyStyleToElements","element","resetOpacity","once","cascadeFadeIn","_this2","delay","setTimeout","index","style","transitionDelay","_this3","opacity","callback","Element","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","showFormError","inputId","errorId","message","inputElement","errorElement","console","warn","span","_frmDom","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","documentOn","doJsonPost","ajax","p","args","bold","URL","location","urlParams","searchParams","getQueryParam","paramName","removeQueryParam","delete","toString","setQueryParam","paramValue","updateMethod","_defineProperty","history","hasQueryParam","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","_Array$from","Array","from","_Array$from2","styles","getComputedStyle","getPropertyValue","domReady"],"sourceRoot":""} \ No newline at end of file diff --git a/js/form-templates.js b/js/form-templates.js index a4aac50d21..fc96cdbb87 100644 --- a/js/form-templates.js +++ b/js/form-templates.js @@ -1,2 +1,6796 @@ -/*! For license information please see form-templates.js.LICENSE.txt */ -(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function a(){var a,i,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(i=0;i{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var n,r,i,c,l,u,s,m,f,p=1,d=t.length,y="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?y+=n:(!o.number.test(c.type)||m&&!c.sign?f="":(f=m?"+":"-",n=n.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",s=c.width-(f+n).length,l=c.width&&s>0?u.repeat(s):"",y+=c.align?f+n+l:"0"===u?f+l+n:l+f+n)}return y}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],a=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var i=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(i.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))i.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");i.push(u[1])}e[2]=i}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function i(t,e){return a.apply(null,[t].concat(e||[]))}var c=Object.create(null);e.sprintf=a,e.vsprintf=i,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=i,void 0===(r=function(){return{sprintf:a,vsprintf:i}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.canAccessApplicationDashboard,r=t.applicationsUrl,o=window.frmFormTemplatesVars,a=o.FEATURED_TEMPLATES_IDS,i=o.FREE_TEMPLATES_IDS,c=o.upgradeLink,l="frm-form-templates",u="available-templates",s="favorites",m="custom",f="search",p="440px",d="550px",y="frm-page-skeleton",v="all-items";function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function b(t){for(var e=1;e":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},T=["(","?"],_={")":["("],":":["?","?:"]},x=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var P={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var F={contextDelimiter:"",onMissingKey:null};function L(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},F)this.options[n]=void 0!==e&&n in e?e[n]:F[n]}function B(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function D(t){for(var e=1;e=0||S[o]3&&void 0!==arguments[3]?arguments[3]:10,i=t[e];if(G(n)&&N(r))if("function"==typeof o)if("number"==typeof a){var c={callback:o,priority:a,namespace:r};if(i[n]){var l,u=i[n].handlers;for(l=u.length;l>0&&!(a>=u[l-1].priority);l--);l===u.length?u[l]=c:u.splice(l,0,c),i.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else i[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var a=t[e];if(G(r)&&(n||N(o))){if(!a[r])return 0;var i=0;if(n)i=a[r].handlers.length,a[r]={runs:a[r].runs,handlers:[]};else for(var c=a[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),i++,a.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},u=c.length-1;u>=0;u--)l(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),i}}},V=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var a=o[r].handlers,i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=D(D(D({},M),r.data[e]),t),r.data[e][""]=D(D({},M[""]),r.data[e][""])},c=function(t,e){i(t,e),a()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return r.data[t]||i(void 0,t),r.dcnpgettext(t,e,n,o,a)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},s=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),o,t,e,r)):o};if(n){var m=function(t){q.test(t)&&a()};n.addAction("hookAdded","core/i18n",m),n.addAction("hookRemoved","core/i18n",m)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:s,_n:function(t,e,r,o){var a=l(o,void 0,t,e,r);return n?(a=n.applyFilters("i18n.ngettext",a,t,e,r,o),n.applyFilters("i18n.ngettext_"+u(o),a,t,e,r,o)):a},_nx:function(t,e,r,o,a){var i=l(a,o,t,e,r);return n?(i=n.applyFilters("i18n.ngettext_with_context",i,t,e,r,o,a),n.applyFilters("i18n.ngettext_with_context_"+u(a),i,t,e,r,o,a)):i},isRTL:function(){return"rtl"===s("ltr","text direction")},hasTranslation:function(t,e,o){var a,i,c=e?e+""+t:t,l=!(null===(a=r.data)||void 0===a||null===(i=a[null!=o?o:"default"])||void 0===i||!i[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+u(o),l,t,e,o)),l}}}(0,0,Y));K.getLocaleData.bind(K),K.setLocaleData.bind(K),K.resetLocaleData.bind(K),K.subscribe.bind(K);var X=K.__.bind(K),W=(K._x.bind(K),K._n.bind(K),K._nx.bind(K),K.isRTL.bind(K),K.hasTranslation.bind(K),window.frmGlobal),Q=W.url,tt=(W.nonce,"frm_hidden"),et="frm-hide-js",nt="frm-current",rt=window.frmDom,ot=rt.tag,at=rt.div,it=rt.a,ct=rt.img;function lt(t){return lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(t)}function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function st(t,e,n){return(e=function(t){var e=function(t){if("object"!=lt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=lt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==lt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var mt,ft=document.getElementById("post-body-content"),pt=document.getElementById("".concat(y,"-sidebar")),dt=((mt=it({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),at({id:"".concat(y,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(tt),children:[ct({src:"".concat(Q,"/images/page-skeleton/empty-state.svg"),alt:X("Empty State","formidable")}),at({className:"frmcenter",children:[ot("h2",{className:"".concat(y,"-title frm-mb-0")}),ot("p",{className:"".concat(y,"-text frm-mb-0")})]}),mt]}));null==ft||ft.appendChild(dt);var yt=function(){var t=document.querySelector("#".concat(y,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(y,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(y,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),vt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==w(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==w(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=b(b({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==Tt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==Tt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=wt(wt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:v,selectedCategoryEl:_t}),Et=xt.getState,Ot=xt.getSingleState,jt=xt.setState,It=xt.setSingleState;function kt(t){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(t)}function Ct(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):02&&void 0!==arguments[2]?arguments[2]:"pushState";if(zt.set(t,e),Rt.search=zt.toString(),["pushState","replaceState"].includes(a)){var i=(n={},o=e,(r=function(t){var e=function(t){if("object"!=qt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=qt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==qt(e)?e:e+""}(r=t))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n);window.history[a](i,"",Rt)}return Rt.toString()},Ut=function(t){return zt.has(t)},Ht=function(t){return"string"==typeof t&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(t)},Zt=function(t){return t instanceof HTMLElement||console.warn("Invalid argument: Element must be an instance of HTMLElement")||!1},Jt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Kt(t)})},Yt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Xt(t)})},Kt=function(t){return null==t?void 0:t.classList.remove(tt)},Xt=function(t){return null==t?void 0:t.classList.add(tt)},Wt=function(t){var e=t.currentTarget,n=e.getAttribute("data-category"),r=Et(),o=r.selectedCategory,a=r.selectedCategoryEl,i=r.notEmptySearchText;if(o!==n){o=wp.hooks.applyFilters("frmPage.selectedCategory",n),a.classList.remove(nt),(a=e).classList.add(nt),jt({selectedCategory:o,selectedCategoryEl:a}),i&&te(),wp.hooks.doAction("frmPage.onCategoryClick",o);var c=ht().bodyContent;new Pt(c).fadeIn()}};function Qt(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Wt(t))}function te(){var t=ht().searchInput;t.value="",t.dispatchEvent(new Event("input",{bubbles:!0}))}var ee=ht().bodyContent,ne=document.getElementById("".concat(l,"-list")),re=document.getElementById("".concat(l,"-custom-list-section")),oe=document.querySelector(".".concat(y,'-cat[data-category="').concat(s,'"]')),ae=document.getElementById("".concat(l,"-modal"));bt({headerCancelButton:null===(Nt=document.getElementById("frm-publishing"))||void 0===Nt?void 0:Nt.querySelector("a"),createFormButton:document.getElementById("".concat(l,"-create-form")),pageTitle:document.getElementById("".concat(l,"-page-title")),pageTitleText:document.getElementById("".concat(l,"-page-title-text")),pageTitleDivider:document.getElementById("".concat(l,"-page-title-divider")),upsellBanner:null!==(Gt=document.getElementById("frm-renew-subscription-banner"))&&void 0!==Gt?Gt:document.getElementById("frm-upgrade-banner"),extraTemplateCountElements:document.querySelectorAll(".".concat(l,"-extra-templates-count")),templatesList:ne,templateItems:ne.querySelectorAll(".frm-card-item"),availableTemplateItems:ne.querySelectorAll(".frm-card-item:not(.".concat(l,"-locked-item)")),twinFeaturedTemplateItems:ne.querySelectorAll(".".concat(l,"-featured-item")),featuredTemplatesList:document.getElementById("".concat(l,"-featured-list")),customTemplatesSection:re,customTemplateItems:re.querySelectorAll(".frm-card-item"),customTemplatesTitle:document.getElementById("".concat(l,"-custom-list-title")),customTemplatesList:document.getElementById("".concat(l,"-custom-list")),favoritesCategory:oe,favoritesCategoryCountEl:null==oe?void 0:oe.querySelector(".".concat(y,"-cat-count")),availableTemplatesCategory:document.querySelector(".".concat(y,'-cat[data-category="').concat(u,'"]')),getFreeTemplatesBannerButton:document.querySelector(".frm-get-free-templates-banner .button"),modal:ae,modalItems:null==ae?void 0:ae.querySelectorAll(".".concat(l,"-modal-item")),showCreateTemplateModalButton:document.getElementById("frm-show-create-template-modal"),createTemplateModal:document.getElementById("frm-create-template-modal"),createTemplateFormsDropdown:document.getElementById("frm-create-template-modal-forms-select"),createTemplateName:document.getElementById("frm_create_template_name"),createTemplateDescription:document.getElementById("frm_create_template_description"),createTemplateButton:document.getElementById("frm-create-template-button"),renewAccountModal:document.getElementById("frm-renew-modal"),leaveEmailModal:document.getElementById("frm-leave-email-modal"),leaveEmailModalInput:document.getElementById("frm_leave_email"),leaveEmailModalButton:document.getElementById("frm-get-code-button"),upgradeModal:document.getElementById("frm-form-upgrade-modal"),upgradeModalTemplateNames:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-template-name"),upgradeModalPlansIcons:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-plan-icon"),upgradeModalLink:document.getElementById("frm-upgrade-modal-link"),newTemplateForm:document.getElementById("frm-new-template"),newTemplateNameInput:document.getElementById("frm_template_name"),newTemplateDescriptionInput:document.getElementById("frm_template_desc"),newTemplateLinkInput:document.getElementById("frm_link"),newTemplateActionInput:document.getElementById("frm_action_type"),bodyContentChildren:null==ee?void 0:ee.children});var ie,ce=window.frmDom,le=ce.tag,ue=ce.div,se=ce.span,me=ce.a,fe=ce.img,pe="".concat(Q,"/images/applications/thumbnails");var de=window.frmFormTemplatesVars,ye=de.templatesCount,ve=de.favoritesCount,he=de.customCount,be=ht().availableTemplateItems.length;jt({availableTemplatesCount:be,customCount:Number(he),extraTemplatesCount:ye-be,favoritesCount:ve}),window.frmDom.span;var ge=function(t,e){return t.textContent=String(e),t},we=function(t,e,n,r,o,a,i){e._counterStartTime||(e._counterStartTime=t,e._counterLastTimestamp=t,e._counterFrameDropCount=0,e._counterLastValue=n);var c=t-e._counterLastTimestamp,l=t-e._counterStartTime;if(c>50&&null!==e._counterLastTimestamp&&(e._counterFrameDropCount++,e._counterFrameDropCount>3))return e.style.transition="opacity ".concat(Math.max(o-l,100),"ms ease-out"),e.textContent=String(r),void delete e._counterAnimation;var u=Math.min(l/o,1),s=i(u),m=Math.round(n+a*s);m!==e._counterLastValue&&(e.textContent=String(m),e._counterLastValue=m),e._counterLastTimestamp=t,u<1?e._counterAnimation=requestAnimationFrame(function(t){return we(t,e,n,r,o,a,i)}):(e.textContent=String(r),["_counterAnimation","_counterStartTime","_counterLastTimestamp","_counterFrameDropCount","_counterLastValue"].forEach(function(t){return delete e[t]}),e.style.removeProperty("transition"))},Se=function(t){return 1-Math.pow(1-t,4)};const Te=function(){var t,e=ht(),n=e.sidebar,r=e.searchInput,o=e.bodyContent,a=e.twinFeaturedTemplateItems,c=e.availableTemplatesCategory,l=e.extraTemplateCountElements,u=new Pt(o);r.value="",Yt(a),function(t){if(t){var e,n,r=Ot("availableTemplatesCount");if(Ut("registered-for-free-templates"))history.replaceState({},"",Vt("registered-for-free-templates")),e=t,n=r,setTimeout(function(){e.dispatchEvent(new Event("click",{bubbles:!0}))},0),setTimeout(function(){!function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r="string"==typeof t?document.querySelector(t):t;if(!(r&&r instanceof HTMLElement))return null;var o="number"==typeof e?e:parseInt(e,10);if(isNaN(o))return console.warn("Counter: Invalid value provided, defaulting to 0"),ge(r,"0");if(0===o)return ge(r,"0");var a=n.duration,i=void 0===a?3e3:a,c=n.easing,l=void 0===c?Se:c,u=parseInt(r.textContent,10)||0,s=o-u;0===s||(r._counterAnimation&&cancelAnimationFrame(r._counterAnimation),r.classList.add("frm-fadein"),r._counterAnimation=requestAnimationFrame(function(t){return we(t,r,u,o,i,s,l)}))}(e.querySelector(".".concat(y,"-cat-count")),n)},150),setTimeout(function(){ht().availableTemplateItems.forEach(function(t){i.includes(Number(t.dataset.id))||(t.classList.add("frm-background-highlight"),t.addEventListener("animationend",function t(e){"backgroundHighlight"===e.animationName&&(this.classList.remove("frm-background-highlight"),this.removeEventListener("animationend",t))}))})},750);else t.querySelector(".".concat(y,"-cat-count")).textContent=r}}(c),l.forEach(function(t){return t.textContent=Ot("extraTemplatesCount")}),o.classList.remove(et),n.classList.remove(et),u.fadeIn(),Ut("return_page")&&(t=ht().headerCancelButton,new Pt(t).fadeIn())};function _e(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return xe(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(xe(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,xe(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,xe(m,"constructor",u),xe(u,"constructor",l),l.displayName="GeneratorFunction",xe(u,o,"GeneratorFunction"),xe(m),xe(m,o,"Generator"),xe(m,r,function(){return this}),xe(m,"toString",function(){return"[object Generator]"}),(_e=function(){return{w:a,m:f}})()}function xe(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}xe=function(t,e,n,r){function a(e,n){xe(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},xe(t,e,n,r)}function Ee(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Oe=null;function je(){var t;return t=_e().m(function t(){var e,n,r;return _e().w(function(t){for(;;)switch(t.n){case 0:e=window.frmAdminBuild,n=e.initModal,r=e.offsetModalY,(Oe=n("#frm-form-templates-modal",p))&&r(Oe,"103px"),Ut("free-templates")&&ht().leaveEmailModal&&dn(),wp.hooks.addAction("frmAdmin.beforeOpenConfirmModal","frmFormTemplates",function(t){var e=t.$info;e.dialog("option","width",d),r(e,"103px")});case 1:return t.a(2)}},t)}),je=function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){Ee(a,r,o,i,c,"next",t)}function c(t){Ee(a,r,o,i,c,"throw",t)}i(void 0)})},je.apply(this,arguments)}function Ie(){return Oe}function ke(t){var e=ht().pageTitleText,n=t||Ot("selectedCategoryEl").querySelector(".".concat(y,"-cat-text")).textContent;e.textContent=n}var Ce=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-favorite-item"))},Ae=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-custom-item"))},Pe={},Fe=function(){var t=ht(),e=t.createFormButton,n=t.newTemplateForm,r=t.newTemplateNameInput,o=t.newTemplateActionInput,a=window.frmAdminBuild.installNewForm;r.value="",o.value="frm_install_form",a(n,"frm_install_form",e)};var Le=".".concat(l,"-item-favorite-button"),Be="".concat(Le," use"),De="#frm_heart_solid_icon",Me="#frm_heart_icon",qe=function(t){var e,n=t.currentTarget,r=ht(),o=r.templatesList,i=r.featuredTemplatesList,c=r.favoritesCategoryCountEl,u=r.customTemplatesTitle,m=n.closest(".frm-card-item"),f=m.dataset.id,p=Ce(m),d=Ae(m),y=function(t){return!!Zt(t)&&a.includes(Number(t.dataset.id))}(m),v=null;if(m.classList.toggle("".concat(l,"-favorite-item"),!p),y){var h=m.closest("#".concat(l,"-list"))?i:o;h&&(v=h.querySelector('.frm-card-item[data-id="'.concat(f,'"]'))).classList.toggle("".concat(l,"-favorite-item"),!p)}var b,g=Et(),w=g.selectedCategory,S=g.favoritesCount,T=p?"remove":"add",_=m.querySelector(Be),x=null===(e=v)||void 0===e?void 0:e.querySelector(Be);"add"===T?(++S.total,d?++S.custom:++S.default,_.setAttribute("xlink:href",De),null==x||x.setAttribute("xlink:href",De)):(--S.total,d?--S.custom:--S.default,_.setAttribute("xlink:href",Me),null==x||x.setAttribute("xlink:href",Me)),c.textContent=S.total,It("favoritesCount",S),s===w&&(0===S.total&&on(),Xt(m),0===S.default&&Xt(o),0!==S.custom&&0!==S.default||Xt(u)),b=function(){return t=f,e=T,n=d,r=new FormData,o=frmDom.ajax.doJsonPost,r.append("template_id",t),r.append("operation",e),r.append("is_custom_template",n),o("add_or_remove_favorite_template",r);var t,e,n,r,o},Ft=Ft.then(b).catch(b)};var Ne=function(t){var e=t.currentTarget,n=e.closest(".frm-card-item"),r=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-locked-item"))}(n),o=Ae(n);if(r||!o)if(t.preventDefault(),r)!function(t){var e=t.dataset.requiredPlan;switch(e){case"basic":case"plus":case"business":case"elite":fn(e,t);break;case"renew":pn();break;case"free":dn()}}(n);else{var a=ht(),i=a.newTemplateForm,c=a.newTemplateNameInput,u=a.newTemplateDescriptionInput,s=a.newTemplateLinkInput,m=a.newTemplateActionInput,f=window.frmAdminBuild.installNewForm,p=n.querySelector(".frm-form-template-name").textContent.trim(),d=n.querySelector(".frm-form-templates-item-description").textContent.trim(),y="frm_install_template";c.value=p,u.value=d,m.value=y,s.value=e.href,f(i,y,e)}};var Ge=window.frmDom.search.init;function Re(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=Et(),a=ht().allItemsCategory;It("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ht(),n=e.bodyContent,r=e.bodyContentChildren,o=e.pageTitle,a=e.templatesList,i=e.applicationTemplates,c=new Pt(n);t&&Ot("selectedCategoryEl").classList.remove(nt),Yt(r),ke(X("Search Result","formidable")),Jt([o,a,i]),c.fadeIn()}(r),r&&It("selectedCategory","")),function(t){if(t){var e,n=ht().emptyState;if(e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")){var r=ht().pageTitle;Xt(n),Kt(r)}var o=ht(),a=o.templatesList,i=o.applicationTemplates,c=o.applicationTemplatesTitle,l=o.applicationTemplatesList;Jt([a,i,c]),0===a.offsetHeight&&Yt([a,c]),0===(null==l?void 0:l.offsetHeight)&&Xt(i)}else!function(){var t,e=Et().notEmptySearchText,n=ht(),r=n.pageTitle,o=n.emptyState,a=n.emptyStateButton,i=n.applicationTemplates;if(f!==(null===(t=o.dataset)||void 0===t?void 0:t.view)){o.setAttribute("data-view",f);var c=ht(),l=c.emptyStateTitle,u=c.emptyStateText;l.textContent=X("No templates found","formidable"),u.textContent=X("Sorry, we didn't find any templates that match your criteria.","formidable"),a.textContent=X("Start from Scratch","formidable"),Yt([r,i]),Jt([o,a])}else e?(Kt(o),Yt([r,i])):(Xt(o),o.removeAttribute("data-view"))}()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}var ze=function(){var t,e=ht().emptyState;f===(null===(t=e.dataset)||void 0===t?void 0:t.view)&&(It("selectedCategory",""),te(),ht().searchInput.focus())};var Ve=function(){var t=Et().selectedCategory;m===t&&yn()},$e=function(){var t=ht().createTemplateFormsDropdown,e=t.value;if(e&&"no-forms"!==e){Ue(!1);var n=t.options[t.selectedIndex],r=n.dataset.description.trim(),o=n.dataset.name.trim(),a=" ".concat(X("Template","formidable"));o.endsWith(a)||(o+=a);var i=ht(),c=i.createTemplateName,l=i.createTemplateDescription;c.value=o,l.value=r}else Ue(!0)},Ue=function(t){var e=ht(),n=e.createTemplateName,r=e.createTemplateDescription,o=e.createTemplateButton;[n,r].forEach(function(e){e.disabled=t,t&&(e.value="")}),o.classList.toggle("disabled",t)},He=function(){var t=window.frmAdminBuild.installNewForm,e="frm_create_template",n=ht(),r=n.newTemplateForm,o=n.newTemplateActionInput,a=n.newTemplateNameInput,i=n.newTemplateDescriptionInput,c=n.newTemplateLinkInput,l=n.createTemplateName,u=n.createTemplateDescription,s=n.createTemplateFormsDropdown,m=n.createTemplateButton;o.value=e,a.value=l.value.trim(),i.value=u.value.trim(),c.value=s.value,t(r,e,m)};function Ze(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return Je(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(Je(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,Je(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,Je(m,"constructor",u),Je(u,"constructor",l),l.displayName="GeneratorFunction",Je(u,o,"GeneratorFunction"),Je(m),Je(m,o,"Generator"),Je(m,r,function(){return this}),Je(m,"toString",function(){return"[object Generator]"}),(Ze=function(){return{w:a,m:f}})()}function Je(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Je=function(t,e,n,r){function a(e,n){Je(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},Je(t,e,n,r)}function Ye(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Ke=window.frmDom.tag,Xe=function(){var t,e=(t=Ze().m(function t(){var e,n,r,o,a,i,c,l,u;return Ze().w(function(t){for(;;)switch(t.p=t.n){case 0:if(e=ht(),n=e.leaveEmailModalInput,r=n.value.trim()){t.n=1;break}return vn("empty"),t.a(2);case 1:if(Ht(r)){t.n=2;break}return vn("invalid"),t.a(2);case 2:return o=ht(),(a=o.leaveEmailModalButton).style.setProperty("cursor","not-allowed"),a.classList.add("frm_loading_button"),(i=new FormData).append("email",r),l=frmDom.ajax.doJsonPost,t.p=3,t.n=4,l("get_free_templates",i);case 4:c=t.v,t.n=6;break;case 5:return t.p=5,u=t.v,console.error("An error occurred:",u),We(),t.a(2);case 6:if(c.success){t.n=7;break}return We(),t.a(2);case 7:Ut("free-templates")&&Vt("free-templates"),$t("registered-for-free-templates","1"),window.location.reload();case 8:return t.a(2)}},t,null,[[3,5]])}),function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){Ye(a,r,o,i,c,"next",t)}function c(t){Ye(a,r,o,i,c,"throw",t)}i(void 0)})});return function(){return e.apply(this,arguments)}}();function We(){var t=ht().leaveEmailModal;t.querySelector(".inside").replaceChildren(Ke("p",X("Failed to get templates, please try again later.","formidable"))),t.querySelector(".frm_modal_footer").classList.add("frm_hidden")}var Qe=function(t){if(!t.target.closest("a")){var e=t.currentTarget;window.location.href=e.dataset.href}};function tn(){var t,e,n,r;ht().categoryItems.forEach(function(t){Mt(t,Wt),t.addEventListener("keydown",Qt)}),wp.hooks.addAction("frmPage.onCategoryClick","frmFormTemplates",function(t){!function(t){var e=ht(),n=e.bodyContentChildren,r=e.pageTitle,o=e.showCreateTemplateModalButton,a=e.templatesList,i=e.templateItems,c=e.upsellBanner;switch(v!==t&&Yt(n),ke(),Xt(o),Kt(r),t){case v:!function(){var t=ht(),e=t.bodyContentChildren,n=t.pageTitleDivider,r=t.templateItems,o=t.twinFeaturedTemplateItems,a=t.customTemplatesSection,i=t.emptyState,c=t.applicationTemplates;Jt([].concat(nn(e),nn(r))),Yt([n].concat(nn(o),[a,i,c]))}();break;case u:!function(){if(0!==Et().availableTemplatesCount){var t=ht(),e=t.templatesList,n=t.templateItems,r=t.availableTemplateItems,o=t.upsellBanner;Yt(n),Jt([o,e].concat(nn(r)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",u);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText,c=Et().extraTemplatesCount;a.textContent=X("No Templates Available","formidable"),i.textContent=function(t){try{for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&s.push(r),t.custom>0){var f=Array.from(u).filter(function(t){return!Ce(t)});Yt(f),s.push(a),s.push(c),0===t.default?Xt(i):s.push(i)}Jt(s)}else on()}();break;case m:!function(){if(0!==Et().customCount){var t=ht(),e=t.showCreateTemplateModalButton,n=t.pageTitleDivider,r=t.customTemplatesSection,o=t.customTemplatesList,a=t.customTemplatesTitle,i=t.customTemplateItems;Xt(a),Jt([e,n,r,o].concat(nn(i)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",m);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText;a.textContent=X("You currently have no templates.","formidable"),i.textContent=X("You haven't created any form templates. Begin now to simplify your workflow and save time.","formidable"),r.textContent=X("Create Template","formidable"),Xt(e),Jt([n,r])}()}();break;default:Yt(i),Jt([c,a].concat(nn(Pe[t])))}}(t)}),r=ht().createFormButton,Mt(r,Fe),document.querySelectorAll(Le).forEach(function(t){return Mt(t,qe)}),document.querySelectorAll(".".concat(l,"-use-template-button")).forEach(function(t){return t.addEventListener("click",Ne)}),t=ht(),e=t.searchInput,n=t.emptyStateButton,Ge(e,"frm-card-item",{handleSearchResult:Re}),Mt(n,ze),function(){var t=ht(),e=t.createTemplateFormsDropdown,n=t.createTemplateButton,r=t.showCreateTemplateModalButton,o=t.emptyStateButton;Mt(r,Ve),Mt(o,Ve),e.addEventListener("change",$e),Mt(n,He)}(),function(){var t=ht(),e=t.leaveEmailModalButton,n=t.getFreeTemplatesBannerButton;Mt(e,Xe),Mt(n,dn)}()}function en(t){var e,n;(function(t){if(t&&t.length){var e=t.map(function(t){return function(t){var e=t.name,n=t.key,o=t.hasLiteThumbnail,a=t.isWebp,i=o?a?"".concat(pe,"/").concat(n,".webp"):"".concat(pe,"/").concat(n,".png"):"".concat(pe,"/placeholder.svg");return le("li",{className:"frm-card-item",data:{href:"".concat(r,"&triggerViewApplicationModal=1&template=").concat(n),"frm-search-text":e.toLowerCase()},children:[ue({className:"".concat(l,"-item-icon"),child:fe({src:i})}),ue({className:"".concat(l,"-item-body"),children:[se({text:X("Ready Made Solution","formidable"),className:"frm-meta-tag frm-orange-tag frm-text-xs"}),le("h3",{text:e,className:"frm-text-sm frm-font-medium frm-m-0"}),me({text:X("See all applications","formidable"),className:"frm-text-xs frm-font-semibold",href:r})]})]})}(t)});ie=ue({id:"".concat(l,"-applications"),className:tt,children:[le("h2",{text:X("Application Templates"),className:"frm-text-sm frm-mb-sm"}),le("ul",{className:"".concat(l,"-list frm-list-grid-layout"),children:e})]})}})(t.templates),(e=ht()).applicationTemplates||void 0===ie||(e.bodyContent.appendChild(ie),bt({applicationTemplates:ie,applicationTemplatesTitle:ie.querySelector("h2"),applicationTemplatesList:ie.querySelector(".".concat(l,"-list")),applicationTemplateItems:ie.querySelectorAll(".frm-card-item")})),void 0!==(n=ht().applicationTemplateItems)&&n.forEach(function(t){t.addEventListener("click",Qe)})}function nn(t){return function(t){if(Array.isArray(t))return rn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return rn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rn(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(cn(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,cn(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,cn(m,"constructor",u),cn(u,"constructor",l),l.displayName="GeneratorFunction",cn(u,o,"GeneratorFunction"),cn(m),cn(m,o,"Generator"),cn(m,r,function(){return this}),cn(m,"toString",function(){return"[object Generator]"}),(an=function(){return{w:a,m:f}})()}function cn(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}cn=function(t,e,n,r){function a(e,n){cn(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},cn(t,e,n,r)}function ln(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}function un(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){ln(a,r,o,i,c,"next",t)}function c(t){ln(a,r,o,i,c,"throw",t)}i(void 0)})}}var sn=function(t){return un(an().m(function e(){var n,r,o,a,i,c,l=arguments;return an().w(function(e){for(;;)switch(e.n){case 0:if(n=Ie()){e.n=1;break}return e.a(2);case 1:for(r=ht(),o=r.modalItems,Yt(o),n.dialog("option","width",p),a=l.length,i=new Array(a),c=0;c use").setAttribute("xlink:href",r?"#frm_checkmark_icon":"#frm_close_icon")});var u=e.dataset.slug?"-".concat(e.dataset.slug):"";l.href=c+u,Kt(o)}),pn=sn(function(){var t=ht().renewAccountModal;Kt(t)}),dn=sn(function(){var t=ht().leaveEmailModal;Kt(t)}),yn=sn(function(){Ie().dialog("option","width",d);var t=ht().createTemplateModal;Kt(t)}),vn=function(t){!function(t,e,n){var r=document.querySelector("#frm_leave_email"),o=document.querySelector("#frm_leave_email_error");r&&o?(o.setAttribute("frm-error",n),Kt(o),r.addEventListener("keyup",function(){Xt(o)},{once:!0})):console.warn("showFormError: Unable to find input or error element.")}(0,0,t)};var hn;hn=function(){wp.hooks.doAction("frmFormTemplates.beforeInitialize",{getState:Et,setState:jt}),e&&(0,frmDom.ajax.doJsonFetch)("get_applications_data&view=templates").then(en),function(){je.apply(this,arguments)}(),ht().templateItems.forEach(function(t){t.getAttribute("data-categories").split(",").forEach(function(e){Pe[e]||(Pe[e]=[]),Pe[e].push(t)})}),Te(),tn(),wp.hooks.doAction("frmFormTemplates.afterInitialize",{getState:Et,setState:jt}),wp.hooks.doAction("frm_new_form_modal_form",jQuery("#frm-new-template"))},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",hn):hn())})()})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // ⇒ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/index.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // ⇒ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // ⇒ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/index.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/factory/createPageElements.js": +/*!***************************************************!*\ + !*** ./js/src/core/factory/createPageElements.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* binding */ createPageElements) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page elements manager. + * + * @param {Object} [initialElements={}] An object containing initial DOM elements. + * @throws {Error} Throws an error if the `initialElements` is not an object. + * @return {Object} An object with methods to get and add elements. + */ +function createPageElements() { + var initialElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialElements) !== 'object' || initialElements === null) { + throw new Error('createPageElements: initialElements must be a non-null object'); + } + var elements = initialElements; + + /** + * Retrieve the initialized essential DOM elements. + * + * @return {Object} The initialized elements object. + */ + function getElements() { + return elements; + } + + /** + * Add new elements to the elements object. + * + * @param {Object} newElements An object containing new elements to be added. + * @throws {Error} Throws an error if the `newElements` is not a non-null object. + * @return {void} Updates the elements object by merging the new elements into it. + */ + function addElements(newElements) { + if (_typeof(newElements) !== 'object' || newElements === null) { + throw new Error('addElements: newElements must be a non-null object'); + } + elements = _objectSpread(_objectSpread({}, elements), newElements); + } + return { + getElements: getElements, + addElements: addElements + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/createPageState.js": +/*!************************************************!*\ + !*** ./js/src/core/factory/createPageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageState: () => (/* binding */ createPageState) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page state manager. + * + * @param {Object} [initialState={}] An object containing the initial state. + * @throws {Error} Throws an error if the `initialState` is not a plain object. + * @return {Object} An object with methods to initialize, get, and set the page state. + */ +function createPageState() { + var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialState) !== 'object' || initialState === null) { + throw new Error('createPageState: initialState must be a non-null object'); + } + var state = initialState; + + /** + * Returns the current page state. + * + * @return {Object|null} The current state of the page or null if not initialized. + */ + var getState = function getState() { + return state; + }; + + /** + * Returns a specific property from the current page state. + * + * @param {string} propertyName The name of the property to retrieve. + * @return {*} The value of the specified property, or null if it doesn't exist. + */ + var getSingleState = function getSingleState(propertyName) { + var value = Reflect.get(state, propertyName); + + // We convert `undefined` to `null` for a consistent API. + // This makes it easier for users to handle the results since all missing properties return `null`. + return value === undefined ? null : value; + }; + + /** + * Updates the page state with new values. + * + * @param {Object} newState The new values to update the state with. + * @throws {Error} Throws an error if `newState` is not a plain object. + * @return {void} + */ + var setState = function setState(newState) { + if (_typeof(newState) !== 'object' || newState === null) { + throw new Error('setState: newState must be a non-null object'); + } + state = _objectSpread(_objectSpread({}, state), newState); + }; + + /** + * Updates a specific property in the page state with a new value. + * + * @param {string} propertyName The name of the property to update. + * @param {*} value The new value to set for the property. + * @return {void} + */ + var setSingleState = function setSingleState(propertyName, value) { + if (Reflect.has(state, propertyName)) { + Reflect.set(state, propertyName, value); + } + }; + return { + getState: getState, + getSingleState: getSingleState, + setState: setState, + setSingleState: setSingleState + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/index.js": +/*!**************************************!*\ + !*** ./js/src/core/factory/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* reexport safe */ _createPageElements__WEBPACK_IMPORTED_MODULE_0__.createPageElements), +/* harmony export */ createPageState: () => (/* reexport safe */ _createPageState__WEBPACK_IMPORTED_MODULE_1__.createPageState) +/* harmony export */ }); +/* harmony import */ var _createPageElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPageElements */ "./js/src/core/factory/createPageElements.js"); +/* harmony import */ var _createPageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createPageState */ "./js/src/core/factory/createPageState.js"); + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/constants.js": +/*!************************************************!*\ + !*** ./js/src/core/page-skeleton/constants.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* binding */ SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* binding */ VIEWS) +/* harmony export */ }); +var PREFIX = 'frm-page-skeleton'; +var SEARCH_RESULT_ITEM = 'frm-card-item'; +var VIEWS = { + ALL_ITEMS: 'all-items' +}; + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/elements.js": +/*!********************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/elements.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* binding */ addElements), +/* harmony export */ getElements: () => (/* binding */ getElements) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _emptyStateElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emptyStateElement */ "./js/src/core/page-skeleton/elements/emptyStateElement.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var bodyContent = document.getElementById('post-body-content'); +var sidebar = document.getElementById("".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-sidebar")); + +// Append empty state elements to body content +var emptyState = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.createEmptyStateElement)(); +bodyContent === null || bodyContent === void 0 || bodyContent.appendChild(emptyState); +var emptyStateElements = (0,_emptyStateElement__WEBPACK_IMPORTED_MODULE_2__.getEmptyStateElements)(); +var _createPageElements = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageElements)(_objectSpread({ + bodyContent: bodyContent, + // Sidebar elements + sidebar: sidebar, + searchInput: sidebar.querySelector('.frm-search-input'), + categoryItems: sidebar.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat")), + allItemsCategory: sidebar.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-cat[data-category=\"").concat(_constants__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS, "\"]")) + }, emptyStateElements)), + getElements = _createPageElements.getElements, + addElements = _createPageElements.addElements; + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/emptyStateElement.js": +/*!*****************************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/emptyStateElement.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createEmptyStateElement: () => (/* binding */ createEmptyStateElement), +/* harmony export */ getEmptyStateElements: () => (/* binding */ getEmptyStateElements) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _window$frmDom = window.frmDom, + tag = _window$frmDom.tag, + div = _window$frmDom.div, + a = _window$frmDom.a, + img = _window$frmDom.img; + +/** + * Create and return the Empty State HTML element. + * + * @return {HTMLElement} The Empty State element. + */ +function createEmptyStateElement() { + var button = a({ + className: 'button button-primary frm-button-primary' + }); + button.setAttribute('role', 'button'); + return div({ + id: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state"), + className: "frm-flex-col frm-flex-center frm-gap-md ".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS), + children: [img({ + src: "".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.PLUGIN_URL, "/images/page-skeleton/empty-state.svg"), + alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Empty State', 'formidable') + }), div({ + className: 'frmcenter', + children: [tag('h2', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title frm-mb-0") + }), tag('p', { + className: "".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text frm-mb-0") + })] + }), button] + }); +} + +/** + * Return the elements related to the Empty State. + * + * @return {Object} Object containing Empty State related DOM elements. + */ +function getEmptyStateElements() { + var emptyState = document.querySelector("#".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-empty-state")); + return { + emptyState: emptyState, + emptyStateTitle: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-title")), + emptyStateText: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-text")), + emptyStateButton: emptyState === null || emptyState === void 0 ? void 0 : emptyState.querySelector('.button') + }; +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/elements/index.js": +/*!*****************************************************!*\ + !*** ./js/src/core/page-skeleton/elements/index.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/elements.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/categoryListener.js": +/*!**************************************************************!*\ + !*** ./js/src/core/page-skeleton/events/categoryListener.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addCategoryEvents: () => (/* binding */ addCategoryEvents) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ "./js/src/core/page-skeleton/events/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Manages event handling for sidebar category links. + * + * @return {void} + */ +function addCategoryEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + categoryItems = _getElements.categoryItems; + + // Attach click and keyboard event listeners to each sidebar category + categoryItems.forEach(function (category) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(category, onCategoryClick); + category.addEventListener('keydown', onCategoryKeydown); + }); +} + +/** + * Handles the click event on a category item. + * + * @private + * @param {Event} event The click event object. + */ +var onCategoryClick = function onCategoryClick(event) { + var clickedCategory = event.currentTarget; + var newSelectedCategory = clickedCategory.getAttribute('data-category'); + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory, + selectedCategoryEl = _getState.selectedCategoryEl, + notEmptySearchText = _getState.notEmptySearchText; + + // If the selected category hasn't changed, return early + if (selectedCategory === newSelectedCategory) { + return; + } + + /** + * Filter hook to modify the selected category. + * + * @param {string} selectedCategory The selected category + */ + selectedCategory = wp.hooks.applyFilters('frmPage.selectedCategory', newSelectedCategory); + + // Highlight the newly clicked category and update the application state + selectedCategoryEl.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + selectedCategoryEl = clickedCategory; + selectedCategoryEl.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setState)({ + selectedCategory: selectedCategory, + selectedCategoryEl: selectedCategoryEl + }); + + // Reset the search input if it contains text + if (notEmptySearchText) { + (0,___WEBPACK_IMPORTED_MODULE_4__.resetSearchInput)(); + } + + /** + * Trigger custom action to update category content. + * + * @param {string} selectedCategory The selected category. + */ + wp.hooks.doAction('frmPage.onCategoryClick', selectedCategory); + + // Smoothly display the updated UI elements + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements2.bodyContent; + new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent).fadeIn(); +}; + +/** + * Handles the keyboard event on a category item. + * + * @param {KeyboardEvent} event The keyboard event object. + * @return {void} + */ +function onCategoryKeydown(event) { + // Only respond to 'Enter' or 'Space' key presses + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault(); + onCategoryClick(event); + } +} + +/***/ }), + +/***/ "./js/src/core/page-skeleton/events/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/events/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addCategoryEvents: () => (/* reexport safe */ _categoryListener__WEBPACK_IMPORTED_MODULE_1__.addCategoryEvents), +/* harmony export */ resetSearchInput: () => (/* binding */ resetSearchInput) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _categoryListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./categoryListener */ "./js/src/core/page-skeleton/events/categoryListener.js"); +/** + * Internal dependencies + */ + + +/** + * Resets the value of the search input and triggers an input event. + * + * @return {void} + */ +function resetSearchInput() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + searchInput = _getElements.searchInput; + searchInput.value = ''; + searchInput.dispatchEvent(new Event('input', { + bubbles: true + })); +} + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/index.js": +/*!********************************************!*\ + !*** ./js/src/core/page-skeleton/index.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ SEARCH_RESULT_ITEM: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SEARCH_RESULT_ITEM), +/* harmony export */ VIEWS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.VIEWS), +/* harmony export */ addCategoryEvents: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.addCategoryEvents), +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_1__.getElements), +/* harmony export */ getSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.getState), +/* harmony export */ resetSearchInput: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_3__.resetSearchInput), +/* harmony export */ setSingleState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _shared__WEBPACK_IMPORTED_MODULE_2__.setState) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/core/page-skeleton/constants.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared */ "./js/src/core/page-skeleton/shared/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ "./js/src/core/page-skeleton/events/index.js"); + + + + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/index.js": +/*!***************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageState */ "./js/src/core/page-skeleton/shared/pageState.js"); + + +/***/ }), + +/***/ "./js/src/core/page-skeleton/shared/pageState.js": +/*!*******************************************************!*\ + !*** ./js/src/core/page-skeleton/shared/pageState.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* binding */ getSingleState), +/* harmony export */ getState: () => (/* binding */ getState), +/* harmony export */ setSingleState: () => (/* binding */ setSingleState), +/* harmony export */ setState: () => (/* binding */ setState) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/core/page-skeleton/elements/index.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./js/src/core/page-skeleton/constants.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + allItemsCategory = _getElements.allItemsCategory; +var _createPageState = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageState)({ + notEmptySearchText: false, + selectedCategory: _constants__WEBPACK_IMPORTED_MODULE_2__.VIEWS.ALL_ITEMS, + selectedCategoryEl: allItemsCategory + }), + getState = _createPageState.getState, + getSingleState = _createPageState.getSingleState, + setState = _createPageState.setState, + setSingleState = _createPageState.setSingleState; + + +/***/ }), + +/***/ "./js/src/core/ui/addProgressToCardBoxes.js": +/*!**************************************************!*\ + !*** ./js/src/core/ui/addProgressToCardBoxes.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Internal Dependencies + */ +var span = window.frmDom.span; + +/** + * Adds a progress bar to each card box element to visually indicate its position in the sequence. + * + * @param {Element[]} cardBoxes Collection of card box elements to enhance with progress bars. + * @return {void} + */ +function addProgressToCardBoxes(cardBoxes) { + if (!Array.isArray(cardBoxes) || !cardBoxes.length) { + console.warn('addProgressToCardBoxes: Expected a non-empty array of cardBoxes.'); + return; + } + cardBoxes.forEach(function (element, index) { + // Exclude cards that either don't require a progress bar or already include one + if (!element.classList.contains('frm-has-progress-bar') || element.querySelector('.frm-card-box-progress-bar')) { + return; + } + var progressBar = span(); + var widthPercentage = (index + 1) / cardBoxes.length * 100; + progressBar.style.width = "".concat(widthPercentage, "%"); + var progressBarContainer = span({ + className: 'frm-card-box-progress-bar', + child: progressBar + }); + element.insertAdjacentElement('afterbegin', progressBarContainer); + }); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addProgressToCardBoxes); + +/***/ }), + +/***/ "./js/src/core/ui/counter.js": +/*!***********************************!*\ + !*** ./js/src/core/ui/counter.js ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Updates the text content of an element with a counter value using smooth animation. + * + * @param {HTMLElement|string} element The DOM element or selector to update + * @param {number|string} value The new counter value to set + * @param {Object} options Animation options + * @param {number} options.duration Duration in milliseconds (default: 3000) + * @param {Function} options.easing Easing function (default: easeOutQuart) + * @throws {Error} When element is not found or invalid + * @return {HTMLElement} The updated element for method chaining + */ +var counter = function counter(element, value) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var targetElement = typeof element === 'string' ? document.querySelector(element) : element; + if (!targetElement || !(targetElement instanceof HTMLElement)) { + return null; + } + var targetValue = typeof value === 'number' ? value : parseInt(value, 10); + if (isNaN(targetValue)) { + console.warn('Counter: Invalid value provided, defaulting to 0'); + return setElementValueAndReturn(targetElement, '0'); + } + + // Don't run the animation if the sent value is 0 + if (targetValue === 0) { + return setElementValueAndReturn(targetElement, '0'); + } + var _options$duration = options.duration, + duration = _options$duration === void 0 ? 3000 : _options$duration, + _options$easing = options.easing, + easing = _options$easing === void 0 ? easeOutQuart : _options$easing; + var startValue = parseInt(targetElement.textContent, 10) || 0; + var change = targetValue - startValue; + + // Skip animation if no change needed + if (change === 0) { + return targetElement; + } + + // Cancel any existing animation + if (targetElement._counterAnimation) { + cancelAnimationFrame(targetElement._counterAnimation); + } + + // Start animation + targetElement.classList.add('frm-fadein'); + targetElement._counterAnimation = requestAnimationFrame(function (timestamp) { + return _animateCounter(timestamp, targetElement, startValue, targetValue, duration, change, easing); + }); + return targetElement; +}; + +/** + * Helper function to set element text content and return element + * + * @param {HTMLElement} element Target element + * @param {string|number} value Value to set + * @return {HTMLElement} The element for method chaining + */ +var setElementValueAndReturn = function setElementValueAndReturn(element, value) { + element.textContent = String(value); + return element; +}; + +/** + * Standalone animation function for counter (optimized to prevent redefinition) + * + * @param {number} timestamp Current timestamp from requestAnimationFrame + * @param {HTMLElement} element Target element to animate + * @param {number} startValue Starting counter value + * @param {number} targetValue Target counter value + * @param {number} duration Animation duration in milliseconds + * @param {number} change Total change amount (targetValue - startValue) + * @param {Function} easing Easing function + * @return {void} + */ +var _animateCounter = function animateCounter(timestamp, element, startValue, targetValue, duration, change, easing) { + if (!element._counterStartTime) { + element._counterStartTime = timestamp; + element._counterLastTimestamp = timestamp; + element._counterFrameDropCount = 0; + element._counterLastValue = startValue; + } + var frameDelta = timestamp - element._counterLastTimestamp; + var elapsed = timestamp - element._counterStartTime; + + // Performance monitoring: detect animation stuttering + // If frame gaps exceed 50ms (indicating browser lag/blocking), count as frame drop + if (frameDelta > 50 && element._counterLastTimestamp !== null) { + element._counterFrameDropCount++; + + // Fallback strategy: after 3 frame drops, abandon JS animation for CSS transition + // This prevents choppy animations when browser is under heavy load + if (element._counterFrameDropCount > 3) { + element.style.transition = "opacity ".concat(Math.max(duration - elapsed, 100), "ms ease-out"); + element.textContent = String(targetValue); + delete element._counterAnimation; + return; + } + } + + // Calculate eased progress and current value + var progress = Math.min(elapsed / duration, 1); + var easedProgress = easing(progress); + var currentValue = Math.round(startValue + change * easedProgress); + + // Only update DOM if value actually changed (reduce unnecessary reflows) + if (currentValue !== element._counterLastValue) { + element.textContent = String(currentValue); + element._counterLastValue = currentValue; + } + element._counterLastTimestamp = timestamp; + + // Continue animation or finish + if (progress < 1) { + element._counterAnimation = requestAnimationFrame(function (timestamp) { + return _animateCounter(timestamp, element, startValue, targetValue, duration, change, easing); + }); + return; + } + + // Ensure final value is exact + element.textContent = String(targetValue); + + // Clean up all counter-related properties + ['_counterAnimation', '_counterStartTime', '_counterLastTimestamp', '_counterFrameDropCount', '_counterLastValue'].forEach(function (prop) { + return delete element[prop]; + }); + element.style.removeProperty('transition'); +}; + +/** + * Easing function for smooth animation + * + * @param {number} t Progress from 0 to 1 + * @return {number} Eased value + */ +var easeOutQuart = function easeOutQuart(t) { + return 1 - Math.pow(1 - t, 4); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (counter); + +/***/ }), + +/***/ "./js/src/core/ui/index.js": +/*!*********************************!*\ + !*** ./js/src/core/ui/index.js ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addProgressToCardBoxes: () => (/* reexport safe */ _addProgressToCardBoxes__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ counter: () => (/* reexport safe */ _counter__WEBPACK_IMPORTED_MODULE_1__["default"]) +/* harmony export */ }); +/* harmony import */ var _addProgressToCardBoxes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addProgressToCardBoxes */ "./js/src/core/ui/addProgressToCardBoxes.js"); +/* harmony import */ var _counter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./counter */ "./js/src/core/ui/counter.js"); + + + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/globalModules.js": +/*!********************************************!*\ + !*** ./js/src/core/utils/globalModules.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* binding */ a), +/* harmony export */ bold: () => (/* binding */ bold), +/* harmony export */ button: () => (/* binding */ button), +/* harmony export */ div: () => (/* binding */ div), +/* harmony export */ doJsonPost: () => (/* binding */ doJsonPost), +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ footerButton: () => (/* binding */ footerButton), +/* harmony export */ img: () => (/* binding */ img), +/* harmony export */ maybeCreateModal: () => (/* binding */ maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault), +/* harmony export */ p: () => (/* binding */ p), +/* harmony export */ span: () => (/* binding */ span), +/* harmony export */ svg: () => (/* binding */ svg), +/* harmony export */ tag: () => (/* binding */ tag) +/* harmony export */ }); +var _frmDom = frmDom, + div = _frmDom.div, + span = _frmDom.span, + tag = _frmDom.tag, + a = _frmDom.a, + img = _frmDom.img, + svg = _frmDom.svg; +var _frmDom$modal = frmDom.modal, + maybeCreateModal = _frmDom$modal.maybeCreateModal, + footerButton = _frmDom$modal.footerButton; +var _frmDom$util = frmDom.util, + onClickPreventDefault = _frmDom$util.onClickPreventDefault, + documentOn = _frmDom$util.documentOn; +var doJsonPost = frmDom.ajax.doJsonPost; +var p = function p(args) { + return tag('p', args); +}; +var bold = function bold(args) { + return tag('strong', args); +}; +var button = function button(args) { + return tag('button', args); +}; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.a), +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ bold: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.bold), +/* harmony export */ button: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.button), +/* harmony export */ div: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.div), +/* harmony export */ doJsonPost: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.doJsonPost), +/* harmony export */ documentOn: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ footerButton: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.footerButton), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ img: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.img), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ maybeCreateModal: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ p: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.p), +/* harmony export */ removeParamFromHistory: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError), +/* harmony export */ span: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.span), +/* harmony export */ svg: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.svg), +/* harmony export */ tag: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.tag) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _globalModules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globalModules */ "./js/src/core/utils/globalModules.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeParamFromHistory: () => (/* binding */ removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/** + * Removes a query parameter and updates history with replaceState. + * + * @param {string} paramName The query parameter to remove. + * @return {void} + */ +var removeParamFromHistory = function removeParamFromHistory(paramName) { + return history.replaceState({}, '', removeQueryParam(paramName)); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./js/src/form-templates/elements/applicationTemplatesElement.js": +/*!***********************************************************************!*\ + !*** ./js/src/form-templates/elements/applicationTemplatesElement.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addApplicationTemplatesElement: () => (/* binding */ addApplicationTemplatesElement), +/* harmony export */ createApplicationTemplates: () => (/* binding */ createApplicationTemplates) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./elements */ "./js/src/form-templates/elements/elements.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + +var _window$frmDom = window.frmDom, + tag = _window$frmDom.tag, + div = _window$frmDom.div, + span = _window$frmDom.span, + a = _window$frmDom.a, + img = _window$frmDom.img; + +// Application templates element +var applicationTemplates; + +// Base URL for the thumbnail images of applications +var thumbnailBaseURL = "".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.PLUGIN_URL, "/images/applications/thumbnails"); + +/** + * Create and return the application templates HTML element. + * + * @param {Object[]} applications Array of application objects. + * @return {void} + */ +function createApplicationTemplates(applications) { + if (!applications || !applications.length) { + return; + } + var templateItems = applications.map(function (template) { + return createTemplateItem(template); + }); + applicationTemplates = div({ + id: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-applications"), + className: core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS, + children: [tag('h2', { + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Application Templates'), + className: 'frm-text-sm frm-mb-sm' + }), tag('ul', { + className: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-list frm-list-grid-layout"), + children: templateItems + })] + }); +} + +/** + * Create and return an individual item element for a application template. + * + * @private + * @param {Object} template The application object. + * @return {HTMLElement} Element representing a single application template. + */ +function createTemplateItem(template) { + var name = template.name, + key = template.key, + hasLiteThumbnail = template.hasLiteThumbnail, + isWebp = template.isWebp; + // eslint-disable-next-line no-nested-ternary + var thumbnailURL = hasLiteThumbnail ? isWebp ? "".concat(thumbnailBaseURL, "/").concat(key, ".webp") : "".concat(thumbnailBaseURL, "/").concat(key, ".png") : "".concat(thumbnailBaseURL, "/placeholder.svg"); + return tag('li', { + className: 'frm-card-item', + data: { + href: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.applicationsUrl, "&triggerViewApplicationModal=1&template=").concat(key), + 'frm-search-text': name.toLowerCase() + }, + children: [div({ + className: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-item-icon"), + child: img({ + src: thumbnailURL + }) + }), div({ + className: "".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-item-body"), + children: [span({ + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Ready Made Solution', 'formidable'), + className: 'frm-meta-tag frm-orange-tag frm-text-xs' + }), tag('h3', { + text: name, + className: 'frm-text-sm frm-font-medium frm-m-0' + }), a({ + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('See all applications', 'formidable'), + className: 'frm-text-xs frm-font-semibold', + href: _shared__WEBPACK_IMPORTED_MODULE_3__.applicationsUrl + })] + })] + }); +} + +/** + * Inject application Templates elements into the DOM and the elements object. + * + * @return {void} + */ +function addApplicationTemplatesElement() { + var elements = (0,_elements__WEBPACK_IMPORTED_MODULE_4__.getElements)(); + if (elements.applicationTemplates || undefined === applicationTemplates) { + return; + } + elements.bodyContent.appendChild(applicationTemplates); + (0,_elements__WEBPACK_IMPORTED_MODULE_4__.addElements)({ + applicationTemplates: applicationTemplates, + applicationTemplatesTitle: applicationTemplates.querySelector('h2'), + applicationTemplatesList: applicationTemplates.querySelector(".".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-list")), + applicationTemplateItems: applicationTemplates.querySelectorAll('.frm-card-item') + }); +} + +/***/ }), + +/***/ "./js/src/form-templates/elements/elements.js": +/*!****************************************************!*\ + !*** ./js/src/form-templates/elements/elements.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +var _document$getElementB, _document$getElementB2; +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _getElements = (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + bodyContent = _getElements.bodyContent; +var templatesList = document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-list")); +var customTemplatesSection = document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-custom-list-section")); +var favoritesCategory = document.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_shared__WEBPACK_IMPORTED_MODULE_1__.VIEW_SLUGS.FAVORITES, "\"]")); +var modal = document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-modal")); +(0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addElements)({ + // Body elements + headerCancelButton: (_document$getElementB = document.getElementById('frm-publishing')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.querySelector('a'), + createFormButton: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-create-form")), + pageTitle: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-page-title")), + pageTitleText: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-page-title-text")), + pageTitleDivider: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-page-title-divider")), + upsellBanner: (_document$getElementB2 = document.getElementById('frm-renew-subscription-banner')) !== null && _document$getElementB2 !== void 0 ? _document$getElementB2 : document.getElementById('frm-upgrade-banner'), + extraTemplateCountElements: document.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-extra-templates-count")), + // Templates elements + templatesList: templatesList, + templateItems: templatesList.querySelectorAll('.frm-card-item'), + availableTemplateItems: templatesList.querySelectorAll(".frm-card-item:not(.".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-locked-item)")), + twinFeaturedTemplateItems: templatesList.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-featured-item")), + featuredTemplatesList: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-featured-list")), + // Custom Templates Section elements + customTemplatesSection: customTemplatesSection, + customTemplateItems: customTemplatesSection.querySelectorAll('.frm-card-item'), + customTemplatesTitle: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-custom-list-title")), + customTemplatesList: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-custom-list")), + // Sidebar elements + favoritesCategory: favoritesCategory, + favoritesCategoryCountEl: favoritesCategory === null || favoritesCategory === void 0 ? void 0 : favoritesCategory.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat-count")), + availableTemplatesCategory: document.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat[data-category=\"").concat(_shared__WEBPACK_IMPORTED_MODULE_1__.VIEW_SLUGS.AVAILABLE_TEMPLATES, "\"]")), + getFreeTemplatesBannerButton: document.querySelector('.frm-get-free-templates-banner .button'), + // Modal elements + modal: modal, + modalItems: modal === null || modal === void 0 ? void 0 : modal.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-modal-item")), + // Create New Template Modal + showCreateTemplateModalButton: document.getElementById('frm-show-create-template-modal'), + createTemplateModal: document.getElementById('frm-create-template-modal'), + createTemplateFormsDropdown: document.getElementById('frm-create-template-modal-forms-select'), + createTemplateName: document.getElementById('frm_create_template_name'), + createTemplateDescription: document.getElementById('frm_create_template_description'), + createTemplateButton: document.getElementById('frm-create-template-button'), + // Renew Account Modal + renewAccountModal: document.getElementById('frm-renew-modal'), + // Leave Email Modal + leaveEmailModal: document.getElementById('frm-leave-email-modal'), + leaveEmailModalInput: document.getElementById('frm_leave_email'), + leaveEmailModalButton: document.getElementById('frm-get-code-button'), + // Upgrade Modal + upgradeModal: document.getElementById('frm-form-upgrade-modal'), + upgradeModalTemplateNames: modal === null || modal === void 0 ? void 0 : modal.querySelectorAll('.frm-upgrade-modal-template-name'), + upgradeModalPlansIcons: modal === null || modal === void 0 ? void 0 : modal.querySelectorAll('.frm-upgrade-modal-plan-icon'), + upgradeModalLink: document.getElementById('frm-upgrade-modal-link'), + // New Template Form elements + newTemplateForm: document.getElementById('frm-new-template'), + newTemplateNameInput: document.getElementById('frm_template_name'), + newTemplateDescriptionInput: document.getElementById('frm_template_desc'), + newTemplateLinkInput: document.getElementById('frm_link'), + newTemplateActionInput: document.getElementById('frm_action_type'), + // Add children of the bodyContent to the elements object. + bodyContentChildren: bodyContent === null || bodyContent === void 0 ? void 0 : bodyContent.children +}); + + +/***/ }), + +/***/ "./js/src/form-templates/elements/index.js": +/*!*************************************************!*\ + !*** ./js/src/form-templates/elements/index.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addApplicationTemplatesElement: () => (/* reexport safe */ _applicationTemplatesElement__WEBPACK_IMPORTED_MODULE_1__.addApplicationTemplatesElement), +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ createApplicationTemplates: () => (/* reexport safe */ _applicationTemplatesElement__WEBPACK_IMPORTED_MODULE_1__.createApplicationTemplates), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/form-templates/elements/elements.js"); +/* harmony import */ var _applicationTemplatesElement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./applicationTemplatesElement */ "./js/src/form-templates/elements/applicationTemplatesElement.js"); + + + +/***/ }), + +/***/ "./js/src/form-templates/events/applicationTemplateListener.js": +/*!*********************************************************************!*\ + !*** ./js/src/form-templates/events/applicationTemplateListener.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addApplicationTemplateEvents: () => (/* binding */ addApplicationTemplateEvents) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * Internal dependencies + */ + + +/** + * Manages event handling for an application template. + * + * @return {void} + */ +function addApplicationTemplateEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + applicationTemplateItems = _getElements.applicationTemplateItems; + if (undefined === applicationTemplateItems) { + return; + } + + // Attach click event listener + applicationTemplateItems.forEach(function (template) { + template.addEventListener('click', onApplicationTemplateClick); + }); +} + +/** + * Handles the click event on an application template. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onApplicationTemplateClick = function onApplicationTemplateClick(event) { + // Check if the clicked element is an anchor tag + if (event.target.closest('a')) { + return; + } + var applicationTemplate = event.currentTarget; + window.location.href = applicationTemplate.dataset.href; +}; + +/***/ }), + +/***/ "./js/src/form-templates/events/createFormButtonListener.js": +/*!******************************************************************!*\ + !*** ./js/src/form-templates/events/createFormButtonListener.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Manages event handling for the "Create a blank form" button. + * + * @return {void} + */ +function addCreateFormButtonEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createFormButton = _getElements.createFormButton; + + // Attach click event listener + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(createFormButton, onCreateFormButtonClick); +} + +/** + * Handles the click event on the "Create a blank form" button. + * + * @private + * @return {void} + */ +var onCreateFormButtonClick = function onCreateFormButtonClick() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createFormButton = _getElements2.createFormButton, + newTemplateForm = _getElements2.newTemplateForm, + newTemplateNameInput = _getElements2.newTemplateNameInput, + newTemplateActionInput = _getElements2.newTemplateActionInput; + var installNewForm = window.frmAdminBuild.installNewForm; + newTemplateNameInput.value = ''; + newTemplateActionInput.value = 'frm_install_form'; + installNewForm(newTemplateForm, 'frm_install_form', createFormButton); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addCreateFormButtonEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/createTemplateListeners.js": +/*!*****************************************************************!*\ + !*** ./js/src/form-templates/events/createTemplateListeners.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +/** + * Manages event handling for the 'Create New Template' modal. + * + * @return {void} + */ +function addCreateTemplateEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateFormsDropdown = _getElements.createTemplateFormsDropdown, + createTemplateButton = _getElements.createTemplateButton, + showCreateTemplateModalButton = _getElements.showCreateTemplateModalButton, + emptyStateButton = _getElements.emptyStateButton; + + // Show the 'Create New Template' modal when either empty state or show modal button is clicked + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(showCreateTemplateModalButton, onShowCreateTemplateModalButtonClick); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(emptyStateButton, onShowCreateTemplateModalButtonClick); + + // Handle changes in the forms selection dropdown for creating a new template + createTemplateFormsDropdown.addEventListener('change', onFormsSelectChange); + + // Create a new template when the create button inside the modal is clicked + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(createTemplateButton, onCreateTemplateButtonClick); +} + +/** + * Handles the click event on the 'Create Template' button, showing the 'Create New Template' modal. + * + * @private + * @return {void} + */ +var onShowCreateTemplateModalButtonClick = function onShowCreateTemplateModalButtonClick() { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + selectedCategory = _getState.selectedCategory; + if (!(0,_utils__WEBPACK_IMPORTED_MODULE_5__.isCustomCategory)(selectedCategory)) { + return; + } + (0,_ui__WEBPACK_IMPORTED_MODULE_4__.showCreateTemplateModal)(); +}; + +/** + * Handles changes in the forms selection dropdown for creating a new template. + * + * @private + * @return {void} + */ +var onFormsSelectChange = function onFormsSelectChange() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + formsSelect = _getElements2.createTemplateFormsDropdown; + var formId = formsSelect.value; + if (!formId || formId === 'no-forms') { + toggleDisableModalElements(true); + return; + } + toggleDisableModalElements(false); + var selectedOption = formsSelect.options[formsSelect.selectedIndex]; + var formDescription = selectedOption.dataset.description.trim(); + var formName = selectedOption.dataset.name.trim(); + var templateString = " ".concat((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Template', 'formidable')); + if (!formName.endsWith(templateString)) { + formName += templateString; + } + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateName = _getElements3.createTemplateName, + createTemplateDescription = _getElements3.createTemplateDescription; + createTemplateName.value = formName; + createTemplateDescription.value = formDescription; +}; + +/** + * Toggles the disabled state of elements in the 'Create Template' modal. + * + * @private + * @param {boolean} shouldDisable True to disable, false to enable. + * @return {void} + */ +var toggleDisableModalElements = function toggleDisableModalElements(shouldDisable) { + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateName = _getElements4.createTemplateName, + createTemplateDescription = _getElements4.createTemplateDescription, + createTemplateButton = _getElements4.createTemplateButton; + + // Toggle the disabled attribute for input and textarea + [createTemplateName, createTemplateDescription].forEach(function (element) { + element.disabled = shouldDisable; + if (shouldDisable) { + element.value = ''; // Clear the content for input and textarea + } + }); + + // Toggle the disabled class for the button + createTemplateButton.classList.toggle('disabled', shouldDisable); +}; + +/** + * Handles the click event on the 'Create Template' button to create a new template. + * + * @private + * @return {void} + */ +var onCreateTemplateButtonClick = function onCreateTemplateButtonClick() { + var installNewForm = window.frmAdminBuild.installNewForm; + var actionName = 'frm_create_template'; + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + newTemplateForm = _getElements5.newTemplateForm, + newTemplateActionInput = _getElements5.newTemplateActionInput, + newTemplateNameInput = _getElements5.newTemplateNameInput, + newTemplateDescriptionInput = _getElements5.newTemplateDescriptionInput, + newTemplateLinkInput = _getElements5.newTemplateLinkInput, + createTemplateName = _getElements5.createTemplateName, + createTemplateDescription = _getElements5.createTemplateDescription, + createTemplateFormsDropdown = _getElements5.createTemplateFormsDropdown, + createTemplateButton = _getElements5.createTemplateButton; + newTemplateActionInput.value = actionName; + newTemplateNameInput.value = createTemplateName.value.trim(); + newTemplateDescriptionInput.value = createTemplateDescription.value.trim(); + newTemplateLinkInput.value = createTemplateFormsDropdown.value; + + // Install new form template + installNewForm(newTemplateForm, actionName, createTemplateButton); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addCreateTemplateEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/favoriteButtonListener.js": +/*!****************************************************************!*\ + !*** ./js/src/form-templates/events/favoriteButtonListener.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +var FAVORITE_BUTTON_CLASS = ".".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-item-favorite-button"); +var HEART_ICON_SELECTOR = "".concat(FAVORITE_BUTTON_CLASS, " use"); +var FILLED_HEART_ICON = '#frm_heart_solid_icon'; +var LINEAR_HEART_ICON = '#frm_heart_icon'; +var OPERATION = { + ADD: 'add', + REMOVE: 'remove' +}; + +/** + * Manages event handling for favorite buttons. + * + * @return {void} + */ +function addFavoriteButtonEvents() { + var favoriteButtons = document.querySelectorAll(FAVORITE_BUTTON_CLASS); + + // Attach click event listeners to each favorite button + favoriteButtons.forEach(function (favoriteButton) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(favoriteButton, onFavoriteButtonClick); + }); +} + +/** + * Handles the click event on the add to favorite button. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onFavoriteButtonClick = function onFavoriteButtonClick(event) { + var _twinFeaturedTemplate; + var favoriteButton = event.currentTarget; + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + templatesList = _getElements.templatesList, + featuredTemplatesList = _getElements.featuredTemplatesList, + favoritesCategoryCountEl = _getElements.favoritesCategoryCountEl, + customTemplatesTitle = _getElements.customTemplatesTitle; + + /** + * Get necessary template information + */ + var template = favoriteButton.closest('.frm-card-item'); + var templateId = template.dataset.id; + var isFavorited = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFavoriteTemplate)(template); + var isTemplateCustom = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isCustomTemplate)(template); + var isTemplateFeatured = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFeaturedTemplate)(template); + + /** + * Toggle the favorite status in the UI. + * If template is featured, toggle its twin version in the respective list. + */ + var twinFeaturedTemplate = null; + template.classList.toggle("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-favorite-item"), !isFavorited); + if (isTemplateFeatured) { + var templateList = template.closest("#".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-list")) ? featuredTemplatesList : templatesList; + if (templateList) { + twinFeaturedTemplate = templateList.querySelector(".frm-card-item[data-id=\"".concat(templateId, "\"]")); + // Toggle twin template's favorite status + twinFeaturedTemplate.classList.toggle("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-favorite-item"), !isFavorited); + } + } + + /** + * Update favorite counts and icons based on the new state + */ + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_2__.getState)(), + selectedCategory = _getState.selectedCategory, + favoritesCount = _getState.favoritesCount; + var currentOperation = isFavorited ? OPERATION.REMOVE : OPERATION.ADD; + var heartIcon = template.querySelector(HEART_ICON_SELECTOR); + var twinTemplateHeartIcon = (_twinFeaturedTemplate = twinFeaturedTemplate) === null || _twinFeaturedTemplate === void 0 ? void 0 : _twinFeaturedTemplate.querySelector(HEART_ICON_SELECTOR); + if (OPERATION.ADD === currentOperation) { + // Increment favorite counts + ++favoritesCount.total; + isTemplateCustom ? ++favoritesCount.custom : ++favoritesCount.default; // eslint-disable-line no-unused-expressions + // Set heart icon to filled + heartIcon.setAttribute('xlink:href', FILLED_HEART_ICON); + twinTemplateHeartIcon === null || twinTemplateHeartIcon === void 0 || twinTemplateHeartIcon.setAttribute('xlink:href', FILLED_HEART_ICON); + } else { + // Decrement favorite counts + --favoritesCount.total; + isTemplateCustom ? --favoritesCount.custom : --favoritesCount.default; // eslint-disable-line no-unused-expressions + // Set heart icon to outline + heartIcon.setAttribute('xlink:href', LINEAR_HEART_ICON); + twinTemplateHeartIcon === null || twinTemplateHeartIcon === void 0 || twinTemplateHeartIcon.setAttribute('xlink:href', LINEAR_HEART_ICON); + } + + // Update UI and state to reflect new favorite counts + favoritesCategoryCountEl.textContent = favoritesCount.total; + (0,_shared__WEBPACK_IMPORTED_MODULE_2__.setSingleState)('favoritesCount', favoritesCount); + + /** + * Hide UI elements if 'Favorites' is active and counts are zero. + */ + if ((0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFavoritesCategory)(selectedCategory)) { + if (0 === favoritesCount.total) { + (0,_ui__WEBPACK_IMPORTED_MODULE_3__.showFavoritesEmptyState)(); + } + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(template); + if (0 === favoritesCount.default) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(templatesList); + } + if (0 === favoritesCount.custom || 0 === favoritesCount.default) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(customTemplatesTitle); + } + } + + // Update server-side data for favorite templates + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.addToRequestQueue)(function () { + return updateFavoriteTemplate(templateId, currentOperation, isTemplateCustom); + }); +}; + +/** + * Update server-side data for favorite templates. + * + * @param {string} id The template ID. + * @param {string} operation The operation to perform ('add' or 'remove'). + * @param {boolean} isCustom Flag indicating whether the template is custom. + * @return {Promise} The result of the server-side update. + */ +function updateFavoriteTemplate(id, operation, isCustom) { + var formData = new FormData(); + var doJsonPost = frmDom.ajax.doJsonPost; + formData.append('template_id', id); + formData.append('operation', operation); + formData.append('is_custom_template', isCustom); + return doJsonPost('add_or_remove_favorite_template', formData); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addFavoriteButtonEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/getFreeTemplatesListener.js": +/*!******************************************************************!*\ + !*** ./js/src/form-templates/events/getFreeTemplatesListener.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * External dependencies + */ + +var tag = window.frmDom.tag; + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Manages event handling for the "Get Templates" button. + * + * @return {void} + */ +function addGetFreeTemplatesEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + leaveEmailModalButton = _getElements.leaveEmailModalButton, + getFreeTemplatesBannerButton = _getElements.getFreeTemplatesBannerButton; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(leaveEmailModalButton, onGetTemplatesButtonClick); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(getFreeTemplatesBannerButton, _ui__WEBPACK_IMPORTED_MODULE_3__.showLeaveEmailModal); +} + +/** + * Handles the click event on the "Get Templates" button. + * + * @private + * @return {void} + */ +var onGetTemplatesButtonClick = /*#__PURE__*/function () { + var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var _getElements2, leaveEmailModalInput, email, _getElements3, leaveEmailModalButton, formData, data, doJsonPost; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), leaveEmailModalInput = _getElements2.leaveEmailModalInput; + email = leaveEmailModalInput.value.trim(); // Check if the email field is empty + if (email) { + _context.next = 5; + break; + } + (0,_ui__WEBPACK_IMPORTED_MODULE_3__.showEmailAddressError)('empty'); + return _context.abrupt("return"); + case 5: + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isValidEmail)(email)) { + _context.next = 8; + break; + } + (0,_ui__WEBPACK_IMPORTED_MODULE_3__.showEmailAddressError)('invalid'); + return _context.abrupt("return"); + case 8: + // Disable the button + _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), leaveEmailModalButton = _getElements3.leaveEmailModalButton; + leaveEmailModalButton.style.setProperty('cursor', 'not-allowed'); + leaveEmailModalButton.classList.add('frm_loading_button'); + formData = new FormData(); + formData.append('email', email); + doJsonPost = frmDom.ajax.doJsonPost; + _context.prev = 14; + _context.next = 17; + return doJsonPost('get_free_templates', formData); + case 17: + data = _context.sent; + _context.next = 25; + break; + case 20: + _context.prev = 20; + _context.t0 = _context["catch"](14); + console.error('An error occurred:', _context.t0); + showFailedToGetTemplates(); + return _context.abrupt("return"); + case 25: + if (data.success) { + _context.next = 28; + break; + } + showFailedToGetTemplates(); + return _context.abrupt("return"); + case 28: + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hasQueryParam)('free-templates')) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.removeQueryParam)('free-templates'); + } + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.setQueryParam)('registered-for-free-templates', '1'); + window.location.reload(); + case 31: + case "end": + return _context.stop(); + } + }, _callee, null, [[14, 20]]); + })); + return function onGetTemplatesButtonClick() { + return _ref.apply(this, arguments); + }; +}(); + +/** + * Shows a message indicating that templates could not be retrieved. + * + * @private + * @return {void} + */ +function showFailedToGetTemplates() { + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + leaveEmailModal = _getElements4.leaveEmailModal; + leaveEmailModal.querySelector('.inside').replaceChildren(tag('p', (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Failed to get templates, please try again later.', 'formidable'))); + leaveEmailModal.querySelector('.frm_modal_footer').classList.add('frm_hidden'); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addGetFreeTemplatesEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/index.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/events/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addApplicationTemplateEvents: () => (/* reexport safe */ _applicationTemplateListener__WEBPACK_IMPORTED_MODULE_8__.addApplicationTemplateEvents), +/* harmony export */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _createFormButtonListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createFormButtonListener */ "./js/src/form-templates/events/createFormButtonListener.js"); +/* harmony import */ var _favoriteButtonListener__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./favoriteButtonListener */ "./js/src/form-templates/events/favoriteButtonListener.js"); +/* harmony import */ var _useTemplateButtonListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useTemplateButtonListener */ "./js/src/form-templates/events/useTemplateButtonListener.js"); +/* harmony import */ var _searchListener__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./searchListener */ "./js/src/form-templates/events/searchListener.js"); +/* harmony import */ var _createTemplateListeners__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createTemplateListeners */ "./js/src/form-templates/events/createTemplateListeners.js"); +/* harmony import */ var _getFreeTemplatesListener__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getFreeTemplatesListener */ "./js/src/form-templates/events/getFreeTemplatesListener.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _applicationTemplateListener__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./applicationTemplateListener */ "./js/src/form-templates/events/applicationTemplateListener.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + + + + + +/** + * Attaches event listeners for handling user interactions. + * + * @return {void} + */ +function addEventListeners() { + (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.addCategoryEvents)(); + wp.hooks.addAction('frmPage.onCategoryClick', 'frmFormTemplates', function (selectedCategory) { + // Display templates of the selected category + (0,_ui__WEBPACK_IMPORTED_MODULE_7__.showSelectedCategory)(selectedCategory); + }); + (0,_createFormButtonListener__WEBPACK_IMPORTED_MODULE_1__["default"])(); + (0,_favoriteButtonListener__WEBPACK_IMPORTED_MODULE_2__["default"])(); + (0,_useTemplateButtonListener__WEBPACK_IMPORTED_MODULE_3__["default"])(); + (0,_searchListener__WEBPACK_IMPORTED_MODULE_4__["default"])(); + (0,_createTemplateListeners__WEBPACK_IMPORTED_MODULE_5__["default"])(); + (0,_getFreeTemplatesListener__WEBPACK_IMPORTED_MODULE_6__["default"])(); +} + + +/***/ }), + +/***/ "./js/src/form-templates/events/searchListener.js": +/*!********************************************************!*\ + !*** ./js/src/form-templates/events/searchListener.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui */ "./js/src/form-templates/ui/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + +var initSearch = window.frmDom.search.init; + +/** + * Adds search-related event listeners by calling the 'initSearch' function. + * + * @see frmDom.search method + * @return {void} + */ +function addSearchEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + searchInput = _getElements.searchInput, + emptyStateButton = _getElements.emptyStateButton; + initSearch(searchInput, 'frm-card-item', { + handleSearchResult: handleSearchResult + }); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(emptyStateButton, onEmptyStateButtonClick); +} + +/** + * Manages UI state based on search results and input value. + * + * @private + * @param {Object} args Contains flags for search status. + * @param {boolean} args.foundSomething True if search yielded results. + * @param {boolean} args.notEmptySearchText True if search input is not empty. + * @param {Event} event The event object (input, search, or change event). + * @return {void} + */ +function handleSearchResult(_ref, event) { + var foundSomething = _ref.foundSomething, + notEmptySearchText = _ref.notEmptySearchText; + // Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events, + // triggering this method twice on 'x' button click. + if (event && event.type === 'search' && event.target.value === '') { + return; + } + var state = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(); + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + allItemsCategory = _getElements2.allItemsCategory; + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setSingleState)('notEmptySearchText', notEmptySearchText); + + // Revert to 'All Templates' if search and selected category are both empty + if (!state.notEmptySearchText && !state.selectedCategory) { + allItemsCategory.dispatchEvent(new Event('click', { + bubbles: true + })); + return; + } + + // Display search state if a category is selected + if (state.selectedCategory) { + (0,_ui__WEBPACK_IMPORTED_MODULE_4__.showSearchState)(notEmptySearchText); + + // Setting "selectedCategory" to an empty string as a flag for search state + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setSingleState)('selectedCategory', ''); + } + } + (0,_ui__WEBPACK_IMPORTED_MODULE_4__.displaySearchElements)(foundSomething, notEmptySearchText); +} + +/** + * Handles the click event on the empty state button. + * + * @private + * @return {void} + */ +var onEmptyStateButtonClick = function onEmptyStateButtonClick() { + var _emptyState$dataset; + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyState = _getElements3.emptyState; + if (_shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.SEARCH !== ((_emptyState$dataset = emptyState.dataset) === null || _emptyState$dataset === void 0 ? void 0 : _emptyState$dataset.view)) { + return; + } + + // Set selectedCategory to '' as search state flag that triggers ALL_ITEMS category if search input is empty + // @see handleSearchResult() + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setSingleState)('selectedCategory', ''); + (0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.resetSearchInput)(); + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + searchInput = _getElements4.searchInput; + searchInput.focus(); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addSearchEvents); + +/***/ }), + +/***/ "./js/src/form-templates/events/useTemplateButtonListener.js": +/*!*******************************************************************!*\ + !*** ./js/src/form-templates/events/useTemplateButtonListener.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _ui___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/ */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/** + * Internal dependencies + */ + + + + + +/** + * Manages event handling for use template buttons. + * + * @return {void} + */ +function addUseTemplateButtonEvents() { + var useTemplateButtons = document.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-use-template-button")); + + // Attach click event listeners to each use template button + useTemplateButtons.forEach(function (useTemplateButton) { + return useTemplateButton.addEventListener('click', onUseTemplateButtonClick); + }); +} + +/** + * Handles the click event on the use template button. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onUseTemplateButtonClick = function onUseTemplateButtonClick(event) { + var useTemplateButton = event.currentTarget; + var template = useTemplateButton.closest('.frm-card-item'); + var isLocked = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.isLockedTemplate)(template); + var isTemplateCustom = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.isCustomTemplate)(template); + + // Allow the default link behavior, if the template is custom and not locked + if (!isLocked && isTemplateCustom) { + return; + } + + // Prevent the default link behavior for non-custom or locked templates + event.preventDefault(); + + // Handle locked templates + if (isLocked) { + (0,_ui___WEBPACK_IMPORTED_MODULE_2__.showLockedTemplateModal)(template); + return; + } + + // Prepare for new template installation + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + newTemplateForm = _getElements.newTemplateForm, + newTemplateNameInput = _getElements.newTemplateNameInput, + newTemplateDescriptionInput = _getElements.newTemplateDescriptionInput, + newTemplateLinkInput = _getElements.newTemplateLinkInput, + newTemplateActionInput = _getElements.newTemplateActionInput; + var installNewForm = window.frmAdminBuild.installNewForm; + var templateName = template.querySelector('.frm-form-template-name').textContent.trim(); + var templateDescription = template.querySelector('.frm-form-templates-item-description').textContent.trim(); + var actionName = 'frm_install_template'; + newTemplateNameInput.value = templateName; + newTemplateDescriptionInput.value = templateDescription; + newTemplateActionInput.value = actionName; + newTemplateLinkInput.value = useTemplateButton.href; + + // Install new form template + installNewForm(newTemplateForm, actionName, useTemplateButton); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addUseTemplateButtonEvents); + +/***/ }), + +/***/ "./js/src/form-templates/initializeFormTemplates.js": +/*!**********************************************************!*\ + !*** ./js/src/form-templates/initializeFormTemplates.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./js/src/form-templates/ui/index.js"); +/* harmony import */ var _templates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./templates */ "./js/src/form-templates/templates/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./events */ "./js/src/form-templates/events/index.js"); +/** + * Internal dependencies + */ + + + + +/** + * Initializes form templates. + * + * @return {void} + */ +function initializeFormTemplates() { + (0,_templates__WEBPACK_IMPORTED_MODULE_1__.maybeAddApplicationTemplates)(); + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.initializeModal)(); + (0,_templates__WEBPACK_IMPORTED_MODULE_1__.buildCategorizedTemplates)(); + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.setupInitialView)(); + (0,_events__WEBPACK_IMPORTED_MODULE_2__.addEventListeners)(); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initializeFormTemplates); + +/***/ }), + +/***/ "./js/src/form-templates/shared/constants.js": +/*!***************************************************!*\ + !*** ./js/src/form-templates/shared/constants.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ FEATURED_TEMPLATES_IDS: () => (/* binding */ FEATURED_TEMPLATES_IDS), +/* harmony export */ FREE_TEMPLATES_IDS: () => (/* binding */ FREE_TEMPLATES_IDS), +/* harmony export */ MODAL_SIZES: () => (/* binding */ MODAL_SIZES), +/* harmony export */ PLANS: () => (/* binding */ PLANS), +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ VIEW_SLUGS: () => (/* binding */ VIEW_SLUGS), +/* harmony export */ applicationsUrl: () => (/* binding */ applicationsUrl), +/* harmony export */ canAccessApplicationDashboard: () => (/* binding */ canAccessApplicationDashboard), +/* harmony export */ upgradeLink: () => (/* binding */ upgradeLink) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + canAccessApplicationDashboard = _window$frmGlobal.canAccessApplicationDashboard, + applicationsUrl = _window$frmGlobal.applicationsUrl; + +var _window$frmFormTempla = window.frmFormTemplatesVars, + FEATURED_TEMPLATES_IDS = _window$frmFormTempla.FEATURED_TEMPLATES_IDS, + FREE_TEMPLATES_IDS = _window$frmFormTempla.FREE_TEMPLATES_IDS, + upgradeLink = _window$frmFormTempla.upgradeLink; + +var PREFIX = 'frm-form-templates'; +var VIEW_SLUGS = { + AVAILABLE_TEMPLATES: 'available-templates', + FAVORITES: 'favorites', + CUSTOM: 'custom', + SEARCH: 'search' +}; +var PLANS = { + BASIC: 'basic', + PLUS: 'plus', + BUSINESS: 'business', + ELITE: 'elite', + RENEW: 'renew', + FREE: 'free' +}; +var MODAL_SIZES = { + GENERAL: '440px', + CREATE_TEMPLATE: '550px' +}; + +/***/ }), + +/***/ "./js/src/form-templates/shared/index.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/shared/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ FEATURED_TEMPLATES_IDS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.FEATURED_TEMPLATES_IDS), +/* harmony export */ FREE_TEMPLATES_IDS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.FREE_TEMPLATES_IDS), +/* harmony export */ MODAL_SIZES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.MODAL_SIZES), +/* harmony export */ PLANS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PLANS), +/* harmony export */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ VIEW_SLUGS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.VIEW_SLUGS), +/* harmony export */ applicationsUrl: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.applicationsUrl), +/* harmony export */ canAccessApplicationDashboard: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.canAccessApplicationDashboard), +/* harmony export */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.setState), +/* harmony export */ upgradeLink: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.upgradeLink) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/form-templates/shared/constants.js"); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pageState */ "./js/src/form-templates/shared/pageState.js"); + + + +/***/ }), + +/***/ "./js/src/form-templates/shared/pageState.js": +/*!***************************************************!*\ + !*** ./js/src/form-templates/shared/pageState.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setState) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _window$frmFormTempla = window.frmFormTemplatesVars, + templatesCount = _window$frmFormTempla.templatesCount, + favoritesCount = _window$frmFormTempla.favoritesCount, + customCount = _window$frmFormTempla.customCount; +var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + availableTemplateItems = _getElements.availableTemplateItems; +var availableTemplatesCount = availableTemplateItems.length; +(0,core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.setState)({ + availableTemplatesCount: availableTemplatesCount, + customCount: Number(customCount), + extraTemplatesCount: templatesCount - availableTemplatesCount, + favoritesCount: favoritesCount +}); + + +/***/ }), + +/***/ "./js/src/form-templates/templates/applicationTemplates.js": +/*!*****************************************************************!*\ + !*** ./js/src/form-templates/templates/applicationTemplates.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ maybeAddApplicationTemplates: () => (/* binding */ maybeAddApplicationTemplates) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../events */ "./js/src/form-templates/events/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * Internal dependencies + */ + + + + +/** + * Adds application templates if the user has dashboard access. + * + * @return {void} + */ +function maybeAddApplicationTemplates() { + // Exit if the user doesn't have permission to see application dashboard + if (!_shared__WEBPACK_IMPORTED_MODULE_2__.canAccessApplicationDashboard) { + return; + } + var doJsonFetch = frmDom.ajax.doJsonFetch; + doJsonFetch('get_applications_data&view=templates').then(setupApplicationTemplates); +} + +/** + * Sets up application templates by creating HTML elements, injecting them into the DOM, + * and adding event handlers. + * + * @private + * @param {Object} data The data object containing information for application templates. + * @return {void} + */ +function setupApplicationTemplates(data) { + // Create application templates + (0,_elements__WEBPACK_IMPORTED_MODULE_0__.createApplicationTemplates)(data.templates); + + // Inject templates into the DOM + (0,_elements__WEBPACK_IMPORTED_MODULE_0__.addApplicationTemplatesElement)(); + + // Set up event handling + (0,_events__WEBPACK_IMPORTED_MODULE_1__.addApplicationTemplateEvents)(); +} + +/***/ }), + +/***/ "./js/src/form-templates/templates/categorizeTemplates.js": +/*!****************************************************************!*\ + !*** ./js/src/form-templates/templates/categorizeTemplates.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ buildCategorizedTemplates: () => (/* binding */ buildCategorizedTemplates), +/* harmony export */ categorizedTemplates: () => (/* binding */ categorizedTemplates) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * Internal dependencies + */ + +var categorizedTemplates = {}; + +/** + * Builds a categorized list of templates. + * + * @return {void} + */ +function buildCategorizedTemplates() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + templateItems = _getElements.templateItems; + templateItems.forEach(function (template) { + // Extract and split the categories from data attribute + var categories = template.getAttribute('data-categories').split(','); + categories.forEach(function (category) { + // Initialize the category array if not already done + if (!categorizedTemplates[category]) { + categorizedTemplates[category] = []; + } + + // Add the template to the appropriate category + categorizedTemplates[category].push(template); + }); + }); +} + +/***/ }), + +/***/ "./js/src/form-templates/templates/index.js": +/*!**************************************************!*\ + !*** ./js/src/form-templates/templates/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ buildCategorizedTemplates: () => (/* reexport safe */ _categorizeTemplates__WEBPACK_IMPORTED_MODULE_0__.buildCategorizedTemplates), +/* harmony export */ categorizedTemplates: () => (/* reexport safe */ _categorizeTemplates__WEBPACK_IMPORTED_MODULE_0__.categorizedTemplates), +/* harmony export */ maybeAddApplicationTemplates: () => (/* reexport safe */ _applicationTemplates__WEBPACK_IMPORTED_MODULE_1__.maybeAddApplicationTemplates) +/* harmony export */ }); +/* harmony import */ var _categorizeTemplates__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./categorizeTemplates */ "./js/src/form-templates/templates/categorizeTemplates.js"); +/* harmony import */ var _applicationTemplates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./applicationTemplates */ "./js/src/form-templates/templates/applicationTemplates.js"); + + + +/***/ }), + +/***/ "./js/src/form-templates/ui/index.js": +/*!*******************************************!*\ + !*** ./js/src/form-templates/ui/index.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ displaySearchElements: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_5__.displaySearchElements), +/* harmony export */ getModalWidget: () => (/* reexport safe */ _initializeModal__WEBPACK_IMPORTED_MODULE_1__.getModalWidget), +/* harmony export */ initializeModal: () => (/* reexport safe */ _initializeModal__WEBPACK_IMPORTED_MODULE_1__.initializeModal), +/* harmony export */ setupInitialView: () => (/* reexport safe */ _setupInitialView__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ showAllTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showAllTemplates), +/* harmony export */ showAvailableTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showAvailableTemplates), +/* harmony export */ showAvailableTemplatesEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showAvailableTemplatesEmptyState), +/* harmony export */ showCreateTemplateModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showCreateTemplateModal), +/* harmony export */ showCustomTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showCustomTemplates), +/* harmony export */ showCustomTemplatesEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showCustomTemplatesEmptyState), +/* harmony export */ showEmailAddressError: () => (/* reexport safe */ _showError__WEBPACK_IMPORTED_MODULE_8__.showEmailAddressError), +/* harmony export */ showFavoriteTemplates: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showFavoriteTemplates), +/* harmony export */ showFavoritesEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showFavoritesEmptyState), +/* harmony export */ showHeaderCancelButton: () => (/* reexport safe */ _showHeaderCancelButton__WEBPACK_IMPORTED_MODULE_3__.showHeaderCancelButton), +/* harmony export */ showLeaveEmailModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showLeaveEmailModal), +/* harmony export */ showLockedTemplateModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showLockedTemplateModal), +/* harmony export */ showRenewAccountModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showRenewAccountModal), +/* harmony export */ showSearchEmptyState: () => (/* reexport safe */ _showEmptyState__WEBPACK_IMPORTED_MODULE_6__.showSearchEmptyState), +/* harmony export */ showSearchState: () => (/* reexport safe */ _searchState__WEBPACK_IMPORTED_MODULE_5__.showSearchState), +/* harmony export */ showSelectedCategory: () => (/* reexport safe */ _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__.showSelectedCategory), +/* harmony export */ showUpgradeModal: () => (/* reexport safe */ _showModal__WEBPACK_IMPORTED_MODULE_7__.showUpgradeModal), +/* harmony export */ updatePageTitle: () => (/* reexport safe */ _pageTitle__WEBPACK_IMPORTED_MODULE_2__.updatePageTitle) +/* harmony export */ }); +/* harmony import */ var _setupInitialView__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setupInitialView */ "./js/src/form-templates/ui/setupInitialView.js"); +/* harmony import */ var _initializeModal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initializeModal */ "./js/src/form-templates/ui/initializeModal.js"); +/* harmony import */ var _pageTitle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pageTitle */ "./js/src/form-templates/ui/pageTitle.js"); +/* harmony import */ var _showHeaderCancelButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./showHeaderCancelButton */ "./js/src/form-templates/ui/showHeaderCancelButton.js"); +/* harmony import */ var _showSelectedCategory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./showSelectedCategory */ "./js/src/form-templates/ui/showSelectedCategory.js"); +/* harmony import */ var _searchState__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./searchState */ "./js/src/form-templates/ui/searchState.js"); +/* harmony import */ var _showEmptyState__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./showEmptyState */ "./js/src/form-templates/ui/showEmptyState.js"); +/* harmony import */ var _showModal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./showModal */ "./js/src/form-templates/ui/showModal.js"); +/* harmony import */ var _showError__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./showError */ "./js/src/form-templates/ui/showError.js"); + + + + + + + + + + +/***/ }), + +/***/ "./js/src/form-templates/ui/initializeModal.js": +/*!*****************************************************!*\ + !*** ./js/src/form-templates/ui/initializeModal.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getModalWidget: () => (/* binding */ getModalWidget), +/* harmony export */ initializeModal: () => (/* binding */ initializeModal) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ */ "./js/src/form-templates/ui/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +var modalWidget = null; + +/** + * Initialize the modal widget. + * + * @return {void} + */ +function initializeModal() { + return _initializeModal.apply(this, arguments); +} + +/** + * Retrieve the modal widget. + * + * @return {Object|false} The modal widget or false. + */ +function _initializeModal() { + _initializeModal = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var _window$frmAdminBuild, initModal, offsetModalY, _getElements, leaveEmailModal; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _window$frmAdminBuild = window.frmAdminBuild, initModal = _window$frmAdminBuild.initModal, offsetModalY = _window$frmAdminBuild.offsetModalY; + modalWidget = initModal('#frm-form-templates-modal', _shared__WEBPACK_IMPORTED_MODULE_2__.MODAL_SIZES.GENERAL); + + // Set the vertical offset for the modal + if (modalWidget) { + offsetModalY(modalWidget, '103px'); + } + + // Show the email modal if the 'free-templates' query param is present + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hasQueryParam)('free-templates')) { + _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), leaveEmailModal = _getElements.leaveEmailModal; + if (leaveEmailModal) { + (0,___WEBPACK_IMPORTED_MODULE_3__.showLeaveEmailModal)(); + } + } + + // Customize the confirm modal appearance: adjusting its width and vertical position + wp.hooks.addAction('frmAdmin.beforeOpenConfirmModal', 'frmFormTemplates', function (options) { + var confirmModal = options.$info; + confirmModal.dialog('option', 'width', _shared__WEBPACK_IMPORTED_MODULE_2__.MODAL_SIZES.CREATE_TEMPLATE); + offsetModalY(confirmModal, '103px'); + }); + case 5: + case "end": + return _context.stop(); + } + }, _callee); + })); + return _initializeModal.apply(this, arguments); +} +function getModalWidget() { + return modalWidget; +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/pageTitle.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/ui/pageTitle.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ updatePageTitle: () => (/* binding */ updatePageTitle) +/* harmony export */ }); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Sets the page title based on a given string or the currently selected category. + * + * @param {string} [title] Optional title to display. + * @return {void} + */ +function updatePageTitle(title) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + pageTitleText = _getElements.pageTitleText; + var newTitle = title || (0,_shared__WEBPACK_IMPORTED_MODULE_2__.getSingleState)('selectedCategoryEl').querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_0__.PREFIX, "-cat-text")).textContent; + pageTitleText.textContent = newTitle; +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/searchState.js": +/*!*************************************************!*\ + !*** ./js/src/form-templates/ui/searchState.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ displaySearchElements: () => (/* binding */ displaySearchElements), +/* harmony export */ showSearchState: () => (/* binding */ showSearchState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! . */ "./js/src/form-templates/ui/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Updates the UI to display the search state. + * + * @param {boolean} notEmptySearchText True if search input is not empty. + * @return {void} + */ +function showSearchState(notEmptySearchText) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + bodyContent = _getElements.bodyContent, + bodyContentChildren = _getElements.bodyContentChildren, + pageTitle = _getElements.pageTitle, + templatesList = _getElements.templatesList, + applicationTemplates = _getElements.applicationTemplates; + var bodyContentAnimate = new core_utils__WEBPACK_IMPORTED_MODULE_2__.frmAnimate(bodyContent); + + // Remove highlighting from the currently selected category if the search text is not empty + if (notEmptySearchText) { + (0,_shared__WEBPACK_IMPORTED_MODULE_4__.getSingleState)('selectedCategoryEl').classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_1__.CURRENT_CLASS); + } + + // Hide non-relevant elements in the body content + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hideElements)(bodyContentChildren); + + // Update the page title and display relevant elements + (0,___WEBPACK_IMPORTED_MODULE_5__.updatePageTitle)((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Search Result', 'formidable')); + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.showElements)([pageTitle, templatesList, applicationTemplates]); + + // Smoothly display the updated UI elements + bodyContentAnimate.fadeIn(); +} + +/** + * Displays search results based on search outcome. + * + * @param {boolean} foundSomething True if search yielded results. + * @return {void} + */ +function displaySearchElements(foundSomething) { + // Show empty state if no templates found + if (!foundSomething) { + (0,___WEBPACK_IMPORTED_MODULE_5__.showSearchEmptyState)(); + return; + } + + // Hide empty state if currently displayed + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + emptyState = _getElements2.emptyState; + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_2__.isVisible)(emptyState)) { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + pageTitle = _getElements3.pageTitle; + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hide)(emptyState); + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.show)(pageTitle); + } + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + templatesList = _getElements4.templatesList, + applicationTemplates = _getElements4.applicationTemplates, + applicationTemplatesTitle = _getElements4.applicationTemplatesTitle, + applicationTemplatesList = _getElements4.applicationTemplatesList; + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.showElements)([templatesList, applicationTemplates, applicationTemplatesTitle]); + if (templatesList.offsetHeight === 0) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hideElements)([templatesList, applicationTemplatesTitle]); + } + if ((applicationTemplatesList === null || applicationTemplatesList === void 0 ? void 0 : applicationTemplatesList.offsetHeight) === 0) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_2__.hide)(applicationTemplates); + } +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/setupInitialView.js": +/*!******************************************************!*\ + !*** ./js/src/form-templates/ui/setupInitialView.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/ui */ "./js/src/core/ui/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ */ "./js/src/form-templates/ui/index.js"); +/** + * External dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +/** + * Sets up the initial view, performing any required + * DOM manipulations for proper element presentation. + * + * @return {void} + */ +function setupInitialView() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_4__.getElements)(), + sidebar = _getElements.sidebar, + searchInput = _getElements.searchInput, + bodyContent = _getElements.bodyContent, + twinFeaturedTemplateItems = _getElements.twinFeaturedTemplateItems, + availableTemplatesCategory = _getElements.availableTemplatesCategory, + extraTemplateCountElements = _getElements.extraTemplateCountElements; + var bodyContentAnimate = new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(bodyContent); + searchInput.value = ''; + + // Hide the twin featured template items + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)(twinFeaturedTemplateItems); + setupAvailableTemplatesCategory(availableTemplatesCategory); + + // Update extra templates count + extraTemplateCountElements.forEach(function (element) { + return element.textContent = (0,_shared__WEBPACK_IMPORTED_MODULE_5__.getSingleState)('extraTemplatesCount'); + }); + + // Smoothly display the updated UI elements + bodyContent.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + sidebar.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDE_JS_CLASS); + bodyContentAnimate.fadeIn(); + + // Show the "Cancel" button in the header if the 'return_page' query param is present + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hasQueryParam)('return_page')) { + (0,___WEBPACK_IMPORTED_MODULE_6__.showHeaderCancelButton)(); + } +} + +/** + * Sets up the 'Available Templates' category with proper count display + * + * @param {Element} availableTemplatesCategory The Available Templates category element + * @return {void} + */ +function setupAvailableTemplatesCategory(availableTemplatesCategory) { + if (!availableTemplatesCategory) { + return; + } + var availableTemplatesCount = (0,_shared__WEBPACK_IMPORTED_MODULE_5__.getSingleState)('availableTemplatesCount'); + if (!(0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hasQueryParam)('registered-for-free-templates')) { + availableTemplatesCategory.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-cat-count")).textContent = availableTemplatesCount; + return; + } + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.removeParamFromHistory)('registered-for-free-templates'); + runAvailableTemplatesEffects(availableTemplatesCategory, availableTemplatesCount); +} + +/** + * Runs effects for the Available Templates category when the + * 'registered-for-free-templates' query parameter is present. + * + * @param {Element} element The Available Templates category element + * @param {number} count The count of available templates + * @return {void} + */ +function runAvailableTemplatesEffects(element, count) { + setTimeout(function () { + element.dispatchEvent(new Event('click', { + bubbles: true + })); + }, 0); + setTimeout(function () { + (0,core_ui__WEBPACK_IMPORTED_MODULE_2__.counter)(element.querySelector(".".concat(core_page_skeleton__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-cat-count")), count); + }, 150); + setTimeout(function () { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_4__.getElements)(), + availableTemplateItems = _getElements2.availableTemplateItems; + availableTemplateItems.forEach(function (item) { + if (_shared__WEBPACK_IMPORTED_MODULE_5__.FREE_TEMPLATES_IDS.includes(Number(item.dataset.id))) { + return; + } + item.classList.add('frm-background-highlight'); + + // Remove class after animation completes to prevent restart + item.addEventListener('animationend', function handleAnimationEnd(event) { + if (event.animationName === 'backgroundHighlight') { + this.classList.remove('frm-background-highlight'); + this.removeEventListener('animationend', handleAnimationEnd); + } + }); + }); + }, 750); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setupInitialView); + +/***/ }), + +/***/ "./js/src/form-templates/ui/showEmptyState.js": +/*!****************************************************!*\ + !*** ./js/src/form-templates/ui/showEmptyState.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showAvailableTemplatesEmptyState: () => (/* binding */ showAvailableTemplatesEmptyState), +/* harmony export */ showCustomTemplatesEmptyState: () => (/* binding */ showCustomTemplatesEmptyState), +/* harmony export */ showFavoritesEmptyState: () => (/* binding */ showFavoritesEmptyState), +/* harmony export */ showSearchEmptyState: () => (/* binding */ showSearchEmptyState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Display the search-empty state. + * + * @return {void} + */ +function showSearchEmptyState() { + var _emptyState$dataset; + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + notEmptySearchText = _getState.notEmptySearchText; + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements.pageTitle, + emptyState = _getElements.emptyState, + emptyStateButton = _getElements.emptyStateButton, + applicationTemplates = _getElements.applicationTemplates; + + // Toggle visibility and remove attributes based on search status + if (_shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.SEARCH === ((_emptyState$dataset = emptyState.dataset) === null || _emptyState$dataset === void 0 ? void 0 : _emptyState$dataset.view)) { + if (notEmptySearchText) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(emptyState); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, applicationTemplates]); + } else { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hide)(emptyState); + emptyState.removeAttribute('data-view'); + } + return; + } + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.SEARCH); + + // Update text content + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements2.emptyStateTitle, + emptyStateText = _getElements2.emptyStateText; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No templates found', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Sorry, we didn\'t find any templates that match your criteria.', 'formidable'); + emptyStateButton.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Start from Scratch', 'formidable'); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, applicationTemplates]); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.showElements)([emptyState, emptyStateButton]); +} + +/** + * Display the favorites-empty state. + * + * @return {void} + */ +function showFavoritesEmptyState() { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements3.pageTitle, + emptyState = _getElements3.emptyState, + emptyStateButton = _getElements3.emptyStateButton; + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.FAVORITES); + + // Update text content + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements4.emptyStateTitle, + emptyStateText = _getElements4.emptyStateText; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No favorites', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You haven\'t added any templates to your favorites yet.', 'formidable'); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, emptyStateButton]); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(emptyState); +} + +/** + * Display the custom-empty state. + * + * @return {void} + */ +function showCustomTemplatesEmptyState() { + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements5.pageTitle, + emptyState = _getElements5.emptyState, + emptyStateButton = _getElements5.emptyStateButton; + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.CUSTOM); + + // Update text content + var _getElements6 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements6.emptyStateTitle, + emptyStateText = _getElements6.emptyStateText; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You currently have no templates.', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You haven\'t created any form templates. Begin now to simplify your workflow and save time.', 'formidable'); + emptyStateButton.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Create Template', 'formidable'); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hide)(pageTitle); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.showElements)([emptyState, emptyStateButton]); +} + +/** + * Display the available-templates-empty state. + * + * @return {void} + */ +function showAvailableTemplatesEmptyState() { + var _getElements7 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + pageTitle = _getElements7.pageTitle, + emptyState = _getElements7.emptyState, + emptyStateButton = _getElements7.emptyStateButton; + + // Assign state attributes + emptyState.setAttribute('data-view', _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.AVAILABLE_TEMPLATES); + + // Update text content + var _getElements8 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + emptyStateTitle = _getElements8.emptyStateTitle, + emptyStateText = _getElements8.emptyStateText; + var _getState2 = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + extraTemplatesCount = _getState2.extraTemplatesCount; + emptyStateTitle.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No Templates Available', 'formidable'); + emptyStateText.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.sprintf)( + // translators: %s is the number of extra templates available + (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Upgrade to PRO for %s+ options or explore Free Templates.', 'formidable'), extraTemplatesCount); + + // Display the empty state + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)([pageTitle, emptyStateButton]); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(emptyState); +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/showError.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/ui/showError.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showEmailAddressError: () => (/* binding */ showEmailAddressError) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/** + * External dependencies + */ + + +/** + * Displays errors related to the email address field. + * + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @return {void} + */ +var showEmailAddressError = function showEmailAddressError(type) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showFormError)('#frm_leave_email', '#frm_leave_email_error', type); +}; + +/***/ }), + +/***/ "./js/src/form-templates/ui/showHeaderCancelButton.js": +/*!************************************************************!*\ + !*** ./js/src/form-templates/ui/showHeaderCancelButton.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showHeaderCancelButton: () => (/* binding */ showHeaderCancelButton) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Display the "Cancel" button in the header. + * + * @return {void} + */ +function showHeaderCancelButton() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + headerCancelButton = _getElements.headerCancelButton; + new core_utils__WEBPACK_IMPORTED_MODULE_0__.frmAnimate(headerCancelButton).fadeIn(); +} + +/***/ }), + +/***/ "./js/src/form-templates/ui/showModal.js": +/*!***********************************************!*\ + !*** ./js/src/form-templates/ui/showModal.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showCreateTemplateModal: () => (/* binding */ showCreateTemplateModal), +/* harmony export */ showLeaveEmailModal: () => (/* binding */ showLeaveEmailModal), +/* harmony export */ showLockedTemplateModal: () => (/* binding */ showLockedTemplateModal), +/* harmony export */ showRenewAccountModal: () => (/* binding */ showRenewAccountModal), +/* harmony export */ showUpgradeModal: () => (/* binding */ showUpgradeModal) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ */ "./js/src/form-templates/ui/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * WordPress dependencies + */ + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Display the locked template modal. + * + * @param {HTMLElement} template The template element. + * @return {void} + */ +function showLockedTemplateModal(template) { + var plan = template.dataset.requiredPlan; + switch (plan) { + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.BASIC: + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.PLUS: + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.BUSINESS: + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.ELITE: + showUpgradeModal(plan, template); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.RENEW: + showRenewAccountModal(); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.PLANS.FREE: + showLeaveEmailModal(); + break; + } +} + +/** + * Base function to show a modal dialog with a customizable pre-open execution step. + * + * @param {Function} executePreOpen The function to be executed before opening the modal dialog. + * @return {Function} A higher-order function that can be invoked to display the modal dialog. + */ +var showModal = function showModal(executePreOpen) { + return /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var dialogWidget, + _getElements, + modalItems, + _len, + params, + _key, + _args = arguments; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + dialogWidget = (0,___WEBPACK_IMPORTED_MODULE_4__.getModalWidget)(); + if (dialogWidget) { + _context.next = 3; + break; + } + return _context.abrupt("return"); + case 3: + _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), modalItems = _getElements.modalItems; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hideElements)(modalItems); + dialogWidget.dialog('option', 'width', _shared__WEBPACK_IMPORTED_MODULE_3__.MODAL_SIZES.GENERAL); + for (_len = _args.length, params = new Array(_len), _key = 0; _key < _len; _key++) { + params[_key] = _args[_key]; + } + _context.next = 9; + return executePreOpen === null || executePreOpen === void 0 ? void 0 : executePreOpen.apply(void 0, params); + case 9: + dialogWidget.dialog('open'); + case 10: + case "end": + return _context.stop(); + } + }, _callee); + })); +}; + +// Mapping each plan to the subsequent plans it can upgrade to +var upgradablePlans = { + basic: ['basic', 'plus', 'business', 'elite'], + plus: ['plus', 'business', 'elite'], + business: ['business', 'elite'], + elite: ['elite'] +}; + +/** + * Display the modal dialog to prompt the user to upgrade their account. + * + * @param {string} plan Current plan name + * @param {HTMLElement} template The template element + * @return {void} + */ +var showUpgradeModal = showModal(function (plan, template) { + var templateName = template.querySelector('.frm-form-template-name').textContent.trim(); + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + upgradeModal = _getElements2.upgradeModal, + upgradeModalTemplateNames = _getElements2.upgradeModalTemplateNames, + upgradeModalPlansIcons = _getElements2.upgradeModalPlansIcons, + upgradeModalLink = _getElements2.upgradeModalLink; + + // Update template names + upgradeModalTemplateNames.forEach(function (element) { + return element.textContent = templateName; + }); + + // Update plan icons and their availability + upgradeModalPlansIcons.forEach(function (icon) { + var planType = icon.dataset.plan; + var shouldDisplayCheck = upgradablePlans[plan].includes(planType); + + // Toggle icon class based on plan availability + icon.classList.toggle('frm_green', shouldDisplayCheck); + + // Update SVG icon + var svg = icon.querySelector('svg > use'); + svg.setAttribute('xlink:href', shouldDisplayCheck ? '#frm_checkmark_icon' : '#frm_close_icon'); + }); + + // Append template slug to the upgrade modal link URL + var templateSlug = template.dataset.slug ? "-".concat(template.dataset.slug) : ''; + upgradeModalLink.href = _shared__WEBPACK_IMPORTED_MODULE_3__.upgradeLink + templateSlug; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(upgradeModal); +}); + +/** + * Display the modal dialog to prompt the user to renew their account. + * + * @return {void} + */ +var showRenewAccountModal = showModal(function () { + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + renewAccountModal = _getElements3.renewAccountModal; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(renewAccountModal); +}); + +/** + * Display the modal dialog to prompt the user to leave an email. + * + * @return {void} + */ +var showLeaveEmailModal = showModal(function () { + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + leaveEmailModal = _getElements4.leaveEmailModal; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(leaveEmailModal); +}); + +/** + * Displays a modal dialog prompting the user to create a new template. + * + * @return {void} + */ +var showCreateTemplateModal = showModal(function () { + var dialogWidget = (0,___WEBPACK_IMPORTED_MODULE_4__.getModalWidget)(); + dialogWidget.dialog('option', 'width', _shared__WEBPACK_IMPORTED_MODULE_3__.MODAL_SIZES.CREATE_TEMPLATE); + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + createTemplateModal = _getElements5.createTemplateModal; + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(createTemplateModal); +}); + +/***/ }), + +/***/ "./js/src/form-templates/ui/showSelectedCategory.js": +/*!**********************************************************!*\ + !*** ./js/src/form-templates/ui/showSelectedCategory.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ showAllTemplates: () => (/* binding */ showAllTemplates), +/* harmony export */ showAvailableTemplates: () => (/* binding */ showAvailableTemplates), +/* harmony export */ showCustomTemplates: () => (/* binding */ showCustomTemplates), +/* harmony export */ showFavoriteTemplates: () => (/* binding */ showFavoriteTemplates), +/* harmony export */ showSelectedCategory: () => (/* binding */ showSelectedCategory) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/form-templates/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./js/src/form-templates/utils/index.js"); +/* harmony import */ var _templates__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../templates */ "./js/src/form-templates/templates/index.js"); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ */ "./js/src/form-templates/ui/index.js"); +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + +/** + * Show templates based on selected category. + * + * @param {string} selectedCategory The selected category to display templates for. + * @return {void} + */ +function showSelectedCategory(selectedCategory) { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContentChildren = _getElements.bodyContentChildren, + pageTitle = _getElements.pageTitle, + showCreateTemplateModalButton = _getElements.showCreateTemplateModalButton, + templatesList = _getElements.templatesList, + templateItems = _getElements.templateItems, + upsellBanner = _getElements.upsellBanner; + if (core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS !== selectedCategory) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(bodyContentChildren); + } + (0,___WEBPACK_IMPORTED_MODULE_6__.updatePageTitle)(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(showCreateTemplateModalButton); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.show)(pageTitle); + switch (selectedCategory) { + case core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS: + showAllTemplates(); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.AVAILABLE_TEMPLATES: + showAvailableTemplates(); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.FAVORITES: + showFavoriteTemplates(); + break; + case _shared__WEBPACK_IMPORTED_MODULE_3__.VIEW_SLUGS.CUSTOM: + showCustomTemplates(); + break; + default: + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(templateItems); // Clear the view for new content + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([upsellBanner, templatesList].concat(_toConsumableArray(_templates__WEBPACK_IMPORTED_MODULE_5__.categorizedTemplates[selectedCategory]))); + break; + } +} + +/** + * Shows all templates when 'All Templates' is the selected category. + * + * @return {void} + */ +function showAllTemplates() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContentChildren = _getElements2.bodyContentChildren, + pageTitleDivider = _getElements2.pageTitleDivider, + templateItems = _getElements2.templateItems, + twinFeaturedTemplateItems = _getElements2.twinFeaturedTemplateItems, + customTemplatesSection = _getElements2.customTemplatesSection, + emptyState = _getElements2.emptyState, + applicationTemplates = _getElements2.applicationTemplates; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([].concat(_toConsumableArray(bodyContentChildren), _toConsumableArray(templateItems))); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)([pageTitleDivider].concat(_toConsumableArray(twinFeaturedTemplateItems), [customTemplatesSection, emptyState, applicationTemplates])); +} + +/** + * Shows favorite templates. + * + * @return {void} + */ +function showFavoriteTemplates() { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + favoritesCount = _getState.favoritesCount; + if (0 === favoritesCount.total) { + (0,___WEBPACK_IMPORTED_MODULE_6__.showFavoritesEmptyState)(); + return; + } + var _getElements3 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + bodyContent = _getElements3.bodyContent, + templatesList = _getElements3.templatesList, + templateItems = _getElements3.templateItems, + customTemplatesSection = _getElements3.customTemplatesSection, + customTemplatesTitle = _getElements3.customTemplatesTitle, + customTemplatesList = _getElements3.customTemplatesList, + customTemplateItems = _getElements3.customTemplateItems; + + // Clear the view for new content + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(templateItems); + var elementsToShow = []; + + // Get all favorite items from the DOM and add the elements to show + var favoriteItems = bodyContent.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_3__.PREFIX, "-favorite-item")); + elementsToShow.push.apply(elementsToShow, _toConsumableArray(favoriteItems)); + + // Add default favorites if available + if (favoritesCount.default > 0) { + elementsToShow.push(templatesList); + } + + // Add custom favorites if available + if (favoritesCount.custom > 0) { + var nonFavCustomTemplates = Array.from(customTemplateItems).filter(function (template) { + return !(0,_utils__WEBPACK_IMPORTED_MODULE_4__.isFavoriteTemplate)(template); + }); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(nonFavCustomTemplates); + elementsToShow.push(customTemplatesSection); + elementsToShow.push(customTemplatesList); + if (0 === favoritesCount.default) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(customTemplatesTitle); + } else { + elementsToShow.push(customTemplatesTitle); + } + } + + // Show elements that were selected to be shown + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)(elementsToShow); +} + +/** + * Shows custom templates. + * + * @return {void} + */ +function showCustomTemplates() { + var _getState2 = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + customCount = _getState2.customCount; + if (0 === customCount) { + (0,___WEBPACK_IMPORTED_MODULE_6__.showCustomTemplatesEmptyState)(); + return; + } + var _getElements4 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + showCreateTemplateModalButton = _getElements4.showCreateTemplateModalButton, + pageTitleDivider = _getElements4.pageTitleDivider, + customTemplatesSection = _getElements4.customTemplatesSection, + customTemplatesList = _getElements4.customTemplatesList, + customTemplatesTitle = _getElements4.customTemplatesTitle, + customTemplateItems = _getElements4.customTemplateItems; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hide)(customTemplatesTitle); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([showCreateTemplateModalButton, pageTitleDivider, customTemplatesSection, customTemplatesList].concat(_toConsumableArray(customTemplateItems))); +} + +/** + * Shows available templates. + * + * @return {void} + */ +function showAvailableTemplates() { + var _getState3 = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), + availableTemplatesCount = _getState3.availableTemplatesCount; + if (0 === availableTemplatesCount) { + (0,___WEBPACK_IMPORTED_MODULE_6__.showAvailableTemplatesEmptyState)(); + return; + } + var _getElements5 = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + templatesList = _getElements5.templatesList, + templateItems = _getElements5.templateItems, + availableTemplateItems = _getElements5.availableTemplateItems, + upsellBanner = _getElements5.upsellBanner; + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.hideElements)(templateItems); // Clear the view for new content + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.showElements)([upsellBanner, templatesList].concat(_toConsumableArray(availableTemplateItems))); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (showSelectedCategory); + +/***/ }), + +/***/ "./js/src/form-templates/utils/index.js": +/*!**********************************************!*\ + !*** ./js/src/form-templates/utils/index.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isAllTemplatesCategory: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isAllTemplatesCategory), +/* harmony export */ isCustomCategory: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isCustomCategory), +/* harmony export */ isCustomTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isCustomTemplate), +/* harmony export */ isFavoriteTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isFavoriteTemplate), +/* harmony export */ isFavoritesCategory: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isFavoritesCategory), +/* harmony export */ isFeaturedTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isFeaturedTemplate), +/* harmony export */ isLockedTemplate: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_0__.isLockedTemplate) +/* harmony export */ }); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validation */ "./js/src/form-templates/utils/validation.js"); + + +/***/ }), + +/***/ "./js/src/form-templates/utils/validation.js": +/*!***************************************************!*\ + !*** ./js/src/form-templates/utils/validation.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isAllTemplatesCategory: () => (/* binding */ isAllTemplatesCategory), +/* harmony export */ isCustomCategory: () => (/* binding */ isCustomCategory), +/* harmony export */ isCustomTemplate: () => (/* binding */ isCustomTemplate), +/* harmony export */ isFavoriteTemplate: () => (/* binding */ isFavoriteTemplate), +/* harmony export */ isFavoritesCategory: () => (/* binding */ isFavoritesCategory), +/* harmony export */ isFeaturedTemplate: () => (/* binding */ isFeaturedTemplate), +/* harmony export */ isLockedTemplate: () => (/* binding */ isLockedTemplate) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/page-skeleton */ "./js/src/core/page-skeleton/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/form-templates/shared/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** + * Checks if the category is "All Templates". + * + * @param {string} category The category slug. + * @return {boolean} True if the category is "All Templates", otherwise false. + */ +var isAllTemplatesCategory = function isAllTemplatesCategory(category) { + return core_page_skeleton__WEBPACK_IMPORTED_MODULE_1__.VIEWS.ALL_ITEMS === category; +}; + +/** + * Checks if the category is "Favorites". + * + * @param {string} category The category slug. + * @return {boolean} True if the category is "Favorites", otherwise false. + */ +var isFavoritesCategory = function isFavoritesCategory(category) { + return _shared__WEBPACK_IMPORTED_MODULE_2__.VIEW_SLUGS.FAVORITES === category; +}; + +/** + * Checks if the category is "Custom". + * + * @param {string} category The category slug. + * @return {boolean} True if the category is "Custom", otherwise false. + */ +var isCustomCategory = function isCustomCategory(category) { + return _shared__WEBPACK_IMPORTED_MODULE_2__.VIEW_SLUGS.CUSTOM === category; +}; + +/** + * Checks if a template is a favorite. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is a favorite, otherwise false. + */ +var isFavoriteTemplate = function isFavoriteTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? template.classList.contains("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-favorite-item")) : false; +}; + +/** + * Checks if a template is custom. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is custom, otherwise false. + */ +var isCustomTemplate = function isCustomTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? template.classList.contains("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-custom-item")) : false; +}; + +/** + * Checks if a template is featured. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is featured, otherwise false. + */ +var isFeaturedTemplate = function isFeaturedTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? _shared__WEBPACK_IMPORTED_MODULE_2__.FEATURED_TEMPLATES_IDS.includes(Number(template.dataset.id)) : false; +}; + +/** + * Checks if a template is locked. + * + * @param {HTMLElement} template The template element. + * @return {boolean} True if the template is locked, otherwise false. + */ +var isLockedTemplate = function isLockedTemplate(template) { + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(template) ? template.classList.contains("".concat(_shared__WEBPACK_IMPORTED_MODULE_2__.PREFIX, "-locked-item")) : false; +}; + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _defineProperty) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPrimitive) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); + +function toPrimitive(t, r) { + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPropertyKey) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); + + +function toPropertyKey(t) { + var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); + return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _typeof) +/* harmony export */ }); +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!****************************************!*\ + !*** ./js/src/form-templates/index.js ***! + \****************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./shared */ "./js/src/form-templates/shared/index.js"); +/* harmony import */ var _initializeFormTemplates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initializeFormTemplates */ "./js/src/form-templates/initializeFormTemplates.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__["default"])(function () { + /** + * Entry point for pre-initialization adjustments to the page state. + * + * @param {Object} state Current state of the page. + */ + wp.hooks.doAction('frmFormTemplates.beforeInitialize', { + getState: _shared__WEBPACK_IMPORTED_MODULE_0__.getState, + setState: _shared__WEBPACK_IMPORTED_MODULE_0__.setState + }); + + // Initialize the form templates + (0,_initializeFormTemplates__WEBPACK_IMPORTED_MODULE_1__["default"])(); + + /** + * Entry point for post-initialization custom logic or adjustments to the page state. + * + * @param {Object} state Current state of the page. + */ + wp.hooks.doAction('frmFormTemplates.afterInitialize', { + getState: _shared__WEBPACK_IMPORTED_MODULE_0__.getState, + setState: _shared__WEBPACK_IMPORTED_MODULE_0__.setState + }); + + /** + * Trigger a specific action to interact with the hidden form '#frm-new-template', + * which is used for creating or using a form template. + * + * @param {HTMLElement} $form The jQuery object containing the hidden form element. + */ + wp.hooks.doAction('frm_new_form_modal_form', jQuery('#frm-new-template')); +}); +})(); + +/******/ })() +; +//# sourceMappingURL=form-templates.js.map \ No newline at end of file diff --git a/js/form-templates.js.map b/js/form-templates.js.map index c3479606e8..2d4ec9408c 100644 --- a/js/form-templates.js.map +++ b/js/form-templates.js.map @@ -1 +1 @@ -{"version":3,"file":"form-templates.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AC3HA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,iC;;;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B,yC;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iEAAe,iBAAiB,EAAC;AACjC,6C;;;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,oBAAoB;AAChC;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B,yC;;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA,iEAAe,eAAe,EAAC;AAC/B,2C;;;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;A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ACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/factory/createPageElements.js","webpack://formidable/./js/src/core/factory/createPageState.js","webpack://formidable/./js/src/core/factory/index.js","webpack://formidable/./js/src/core/page-skeleton/constants.js","webpack://formidable/./js/src/core/page-skeleton/elements/elements.js","webpack://formidable/./js/src/core/page-skeleton/elements/emptyStateElement.js","webpack://formidable/./js/src/core/page-skeleton/elements/index.js","webpack://formidable/./js/src/core/page-skeleton/events/categoryListener.js","webpack://formidable/./js/src/core/page-skeleton/events/index.js","webpack://formidable/./js/src/core/page-skeleton/index.js","webpack://formidable/./js/src/core/page-skeleton/shared/index.js","webpack://formidable/./js/src/core/page-skeleton/shared/pageState.js","webpack://formidable/./js/src/core/ui/addProgressToCardBoxes.js","webpack://formidable/./js/src/core/ui/counter.js","webpack://formidable/./js/src/core/ui/index.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/form-templates/elements/applicationTemplatesElement.js","webpack://formidable/./js/src/form-templates/elements/elements.js","webpack://formidable/./js/src/form-templates/elements/index.js","webpack://formidable/./js/src/form-templates/events/applicationTemplateListener.js","webpack://formidable/./js/src/form-templates/events/createFormButtonListener.js","webpack://formidable/./js/src/form-templates/events/createTemplateListeners.js","webpack://formidable/./js/src/form-templates/events/favoriteButtonListener.js","webpack://formidable/./js/src/form-templates/events/getFreeTemplatesListener.js","webpack://formidable/./js/src/form-templates/events/index.js","webpack://formidable/./js/src/form-templates/events/searchListener.js","webpack://formidable/./js/src/form-templates/events/useTemplateButtonListener.js","webpack://formidable/./js/src/form-templates/initializeFormTemplates.js","webpack://formidable/./js/src/form-templates/shared/constants.js","webpack://formidable/./js/src/form-templates/shared/index.js","webpack://formidable/./js/src/form-templates/shared/pageState.js","webpack://formidable/./js/src/form-templates/templates/applicationTemplates.js","webpack://formidable/./js/src/form-templates/templates/categorizeTemplates.js","webpack://formidable/./js/src/form-templates/templates/index.js","webpack://formidable/./js/src/form-templates/ui/index.js","webpack://formidable/./js/src/form-templates/ui/initializeModal.js","webpack://formidable/./js/src/form-templates/ui/pageTitle.js","webpack://formidable/./js/src/form-templates/ui/searchState.js","webpack://formidable/./js/src/form-templates/ui/setupInitialView.js","webpack://formidable/./js/src/form-templates/ui/showEmptyState.js","webpack://formidable/./js/src/form-templates/ui/showError.js","webpack://formidable/./js/src/form-templates/ui/showHeaderCancelButton.js","webpack://formidable/./js/src/form-templates/ui/showModal.js","webpack://formidable/./js/src/form-templates/ui/showSelectedCategory.js","webpack://formidable/./js/src/form-templates/utils/index.js","webpack://formidable/./js/src/form-templates/utils/validation.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/form-templates/index.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","/**\n * Creates a page elements manager.\n *\n * @param {Object} [initialElements={}] An object containing initial DOM elements.\n * @throws {Error} Throws an error if the `initialElements` is not an object.\n * @return {Object} An object with methods to get and add elements.\n */\nexport function createPageElements( initialElements = {} ) {\n\tif ( typeof initialElements !== 'object' || initialElements === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageElements: initialElements must be a non-null object'\n\t\t);\n\t}\n\n\tlet elements = initialElements;\n\n\t/**\n\t * Retrieve the initialized essential DOM elements.\n\t *\n\t * @return {Object} The initialized elements object.\n\t */\n\tfunction getElements() {\n\t\treturn elements;\n\t}\n\n\t/**\n\t * Add new elements to the elements object.\n\t *\n\t * @param {Object} newElements An object containing new elements to be added.\n\t * @throws {Error} Throws an error if the `newElements` is not a non-null object.\n\t * @return {void} Updates the elements object by merging the new elements into it.\n\t */\n\tfunction addElements( newElements ) {\n\t\tif ( typeof newElements !== 'object' || newElements === null ) {\n\t\t\tthrow new Error(\n\t\t\t\t'addElements: newElements must be a non-null object'\n\t\t\t);\n\t\t}\n\n\t\telements = { ...elements, ...newElements };\n\t}\n\n\treturn { getElements, addElements };\n}\n","/**\n * Creates a page state manager.\n *\n * @param {Object} [initialState={}] An object containing the initial state.\n * @throws {Error} Throws an error if the `initialState` is not a plain object.\n * @return {Object} An object with methods to initialize, get, and set the page state.\n */\nexport function createPageState( initialState = {} ) {\n\tif ( typeof initialState !== 'object' || initialState === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageState: initialState must be a non-null object'\n\t\t);\n\t}\n\n\tlet state = initialState;\n\n\t/**\n\t * Returns the current page state.\n\t *\n\t * @return {Object|null} The current state of the page or null if not initialized.\n\t */\n\tconst getState = () => state;\n\n\t/**\n\t * Returns a specific property from the current page state.\n\t *\n\t * @param {string} propertyName The name of the property to retrieve.\n\t * @return {*} The value of the specified property, or null if it doesn't exist.\n\t */\n\tconst getSingleState = propertyName => {\n\t\tconst value = Reflect.get( state, propertyName );\n\n\t\t// We convert `undefined` to `null` for a consistent API.\n\t\t// This makes it easier for users to handle the results since all missing properties return `null`.\n\t\treturn value === undefined ? null : value;\n\t};\n\n\t/**\n\t * Updates the page state with new values.\n\t *\n\t * @param {Object} newState The new values to update the state with.\n\t * @throws {Error} Throws an error if `newState` is not a plain object.\n\t * @return {void}\n\t */\n\tconst setState = newState => {\n\t\tif ( typeof newState !== 'object' || newState === null ) {\n\t\t\tthrow new Error( 'setState: newState must be a non-null object' );\n\t\t}\n\n\t\tstate = { ...state, ...newState };\n\t};\n\n\t/**\n\t * Updates a specific property in the page state with a new value.\n\t *\n\t * @param {string} propertyName The name of the property to update.\n\t * @param {*} value The new value to set for the property.\n\t * @return {void}\n\t */\n\tconst setSingleState = ( propertyName, value ) => {\n\t\tif ( Reflect.has( state, propertyName ) ) {\n\t\t\tReflect.set( state, propertyName, value );\n\t\t}\n\t};\n\n\treturn { getState, getSingleState, setState, setSingleState };\n}\n","export * from './createPageElements';\nexport * from './createPageState';\n","export const PREFIX = 'frm-page-skeleton';\nexport const SEARCH_RESULT_ITEM = 'frm-card-item';\nexport const VIEWS = {\n\tALL_ITEMS: 'all-items',\n};\n","/**\n * External dependencies\n */\nimport { createPageElements } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEWS } from '../constants';\nimport {\n\tcreateEmptyStateElement,\n\tgetEmptyStateElements,\n} from './emptyStateElement';\n\nconst bodyContent = document.getElementById( 'post-body-content' );\nconst sidebar = document.getElementById( `${ PREFIX }-sidebar` );\n\n// Append empty state elements to body content\nconst emptyState = createEmptyStateElement();\nbodyContent?.appendChild( emptyState );\nconst emptyStateElements = getEmptyStateElements();\n\nexport const { getElements, addElements } = createPageElements( {\n\tbodyContent,\n\n\t// Sidebar elements\n\tsidebar,\n\tsearchInput: sidebar.querySelector( '.frm-search-input' ),\n\tcategoryItems: sidebar.querySelectorAll( `.${ PREFIX }-cat` ),\n\tallItemsCategory: sidebar.querySelector(\n\t\t`.${ PREFIX }-cat[data-category=\"${ VIEWS.ALL_ITEMS }\"]`\n\t),\n\n\t// Empty State elements\n\t...emptyStateElements,\n} );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { PLUGIN_URL, HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX } from '../constants';\n\nconst { tag, div, a, img } = window.frmDom;\n\n/**\n * Create and return the Empty State HTML element.\n *\n * @return {HTMLElement} The Empty State element.\n */\nexport function createEmptyStateElement() {\n\tconst button = a( {\n\t\tclassName: 'button button-primary frm-button-primary',\n\t} );\n\tbutton.setAttribute( 'role', 'button' );\n\n\treturn div( {\n\t\tid: `${ PREFIX }-empty-state`,\n\t\tclassName: `frm-flex-col frm-flex-center frm-gap-md ${ HIDDEN_CLASS }`,\n\t\tchildren: [\n\t\t\timg( {\n\t\t\t\tsrc: `${ PLUGIN_URL }/images/page-skeleton/empty-state.svg`,\n\t\t\t\talt: __( 'Empty State', 'formidable' ),\n\t\t\t} ),\n\t\t\tdiv( {\n\t\t\t\tclassName: 'frmcenter',\n\t\t\t\tchildren: [\n\t\t\t\t\ttag( 'h2', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-title frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t\ttag( 'p', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-text frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t],\n\t\t\t} ),\n\t\t\tbutton,\n\t\t],\n\t} );\n}\n\n/**\n * Return the elements related to the Empty State.\n *\n * @return {Object} Object containing Empty State related DOM elements.\n */\nexport function getEmptyStateElements() {\n\tconst emptyState = document.querySelector( `#${ PREFIX }-empty-state` );\n\n\treturn {\n\t\temptyState,\n\t\temptyStateTitle: emptyState?.querySelector( `.${ PREFIX }-title` ),\n\t\temptyStateText: emptyState?.querySelector( `.${ PREFIX }-text` ),\n\t\temptyStateButton: emptyState?.querySelector( '.button' ),\n\t};\n}\n","export * from './elements';\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { onClickPreventDefault, frmAnimate } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setState } from '../shared';\nimport { resetSearchInput } from '.';\n\n/**\n * Manages event handling for sidebar category links.\n *\n * @return {void}\n */\nexport function addCategoryEvents() {\n\tconst { categoryItems } = getElements();\n\n\t// Attach click and keyboard event listeners to each sidebar category\n\tcategoryItems.forEach( category => {\n\t\tonClickPreventDefault( category, onCategoryClick );\n\t\tcategory.addEventListener( 'keydown', onCategoryKeydown );\n\t} );\n}\n\n/**\n * Handles the click event on a category item.\n *\n * @private\n * @param {Event} event The click event object.\n */\nconst onCategoryClick = event => {\n\tconst clickedCategory = event.currentTarget;\n\tconst newSelectedCategory = clickedCategory.getAttribute( 'data-category' );\n\tlet { selectedCategory, selectedCategoryEl, notEmptySearchText } =\n\t\tgetState();\n\n\t// If the selected category hasn't changed, return early\n\tif ( selectedCategory === newSelectedCategory ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * Filter hook to modify the selected category.\n\t *\n\t * @param {string} selectedCategory The selected category\n\t */\n\tselectedCategory = wp.hooks.applyFilters(\n\t\t'frmPage.selectedCategory',\n\t\tnewSelectedCategory\n\t);\n\n\t// Highlight the newly clicked category and update the application state\n\tselectedCategoryEl.classList.remove( CURRENT_CLASS );\n\tselectedCategoryEl = clickedCategory;\n\tselectedCategoryEl.classList.add( CURRENT_CLASS );\n\tsetState( { selectedCategory, selectedCategoryEl } );\n\n\t// Reset the search input if it contains text\n\tif ( notEmptySearchText ) {\n\t\tresetSearchInput();\n\t}\n\n\t/**\n\t * Trigger custom action to update category content.\n\t *\n\t * @param {string} selectedCategory The selected category.\n\t */\n\twp.hooks.doAction( 'frmPage.onCategoryClick', selectedCategory );\n\n\t// Smoothly display the updated UI elements\n\tconst { bodyContent } = getElements();\n\tnew frmAnimate( bodyContent ).fadeIn();\n};\n\n/**\n * Handles the keyboard event on a category item.\n *\n * @param {KeyboardEvent} event The keyboard event object.\n * @return {void}\n */\nfunction onCategoryKeydown( event ) {\n\t// Only respond to 'Enter' or 'Space' key presses\n\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\tevent.preventDefault();\n\t\tonCategoryClick( event );\n\t}\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Resets the value of the search input and triggers an input event.\n *\n * @return {void}\n */\nexport function resetSearchInput() {\n\tconst { searchInput } = getElements();\n\n\tsearchInput.value = '';\n\tsearchInput.dispatchEvent( new Event( 'input', { bubbles: true } ) );\n}\n\nexport * from './categoryListener';\n","export * from './constants';\nexport * from './elements';\nexport * from './shared';\nexport * from './events';\n","export * from './pageState';\n","/**\n * External dependencies\n */\nimport { createPageState } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEWS } from '../constants';\n\nconst { allItemsCategory } = getElements();\n\nexport const { getState, getSingleState, setState, setSingleState } =\n\tcreatePageState( {\n\t\tnotEmptySearchText: false,\n\t\tselectedCategory: VIEWS.ALL_ITEMS,\n\t\tselectedCategoryEl: allItemsCategory,\n\t} );\n","/**\n * Internal Dependencies\n */\nconst { span } = window.frmDom;\n\n/**\n * Adds a progress bar to each card box element to visually indicate its position in the sequence.\n *\n * @param {Element[]} cardBoxes Collection of card box elements to enhance with progress bars.\n * @return {void}\n */\nfunction addProgressToCardBoxes( cardBoxes ) {\n\tif ( ! Array.isArray( cardBoxes ) || ! cardBoxes.length ) {\n\t\tconsole.warn( 'addProgressToCardBoxes: Expected a non-empty array of cardBoxes.' );\n\t\treturn;\n\t}\n\n\tcardBoxes.forEach( ( element, index ) => {\n\t\t// Exclude cards that either don't require a progress bar or already include one\n\t\tif ( ! element.classList.contains( 'frm-has-progress-bar' ) || element.querySelector( '.frm-card-box-progress-bar' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst progressBar = span();\n\t\tconst widthPercentage = ( ( index + 1 ) / cardBoxes.length ) * 100;\n\t\tprogressBar.style.width = `${ widthPercentage }%`;\n\n\t\tconst progressBarContainer = span( {\n\t\t\tclassName: 'frm-card-box-progress-bar',\n\t\t\tchild: progressBar\n\t\t} );\n\t\telement.insertAdjacentElement( 'afterbegin', progressBarContainer );\n\t} );\n}\n\nexport default addProgressToCardBoxes;\n","/**\n * Updates the text content of an element with a counter value using smooth animation.\n *\n * @param {HTMLElement|string} element The DOM element or selector to update\n * @param {number|string} value The new counter value to set\n * @param {Object} options Animation options\n * @param {number} options.duration Duration in milliseconds (default: 3000)\n * @param {Function} options.easing Easing function (default: easeOutQuart)\n * @throws {Error} When element is not found or invalid\n * @return {HTMLElement} The updated element for method chaining\n */\nconst counter = ( element, value, options = {} ) => {\n\tconst targetElement = typeof element === 'string'\n\t\t? document.querySelector( element )\n\t\t: element;\n\n\tif ( ! targetElement || ! ( targetElement instanceof HTMLElement ) ) {\n\t\treturn null;\n\t}\n\n\tconst targetValue = typeof value === 'number' ? value : parseInt( value, 10 );\n\tif ( isNaN( targetValue ) ) {\n\t\tconsole.warn( 'Counter: Invalid value provided, defaulting to 0' );\n\t\treturn setElementValueAndReturn( targetElement, '0' );\n\t}\n\n\t// Don't run the animation if the sent value is 0\n\tif ( targetValue === 0 ) {\n\t\treturn setElementValueAndReturn( targetElement, '0' );\n\t}\n\n\tconst { duration = 3000, easing = easeOutQuart } = options;\n\n\tconst startValue = parseInt( targetElement.textContent, 10 ) || 0;\n\tconst change = targetValue - startValue;\n\n\t// Skip animation if no change needed\n\tif ( change === 0 ) {\n\t\treturn targetElement;\n\t}\n\n\t// Cancel any existing animation\n\tif ( targetElement._counterAnimation ) {\n\t\tcancelAnimationFrame( targetElement._counterAnimation );\n\t}\n\n\t// Start animation\n\ttargetElement.classList.add( 'frm-fadein' );\n\ttargetElement._counterAnimation = requestAnimationFrame( timestamp =>\n\t\tanimateCounter( timestamp, targetElement, startValue, targetValue, duration, change, easing )\n\t);\n\n\treturn targetElement;\n};\n\n/**\n * Helper function to set element text content and return element\n *\n * @param {HTMLElement} element Target element\n * @param {string|number} value Value to set\n * @return {HTMLElement} The element for method chaining\n */\nconst setElementValueAndReturn = ( element, value ) => {\n\telement.textContent = String( value );\n\treturn element;\n};\n\n/**\n * Standalone animation function for counter (optimized to prevent redefinition)\n *\n * @param {number} timestamp Current timestamp from requestAnimationFrame\n * @param {HTMLElement} element Target element to animate\n * @param {number} startValue Starting counter value\n * @param {number} targetValue Target counter value\n * @param {number} duration Animation duration in milliseconds\n * @param {number} change Total change amount (targetValue - startValue)\n * @param {Function} easing Easing function\n * @return {void}\n */\nconst animateCounter = ( timestamp, element, startValue, targetValue, duration, change, easing ) => {\n\tif ( ! element._counterStartTime ) {\n\t\telement._counterStartTime = timestamp;\n\t\telement._counterLastTimestamp = timestamp;\n\t\telement._counterFrameDropCount = 0;\n\t\telement._counterLastValue = startValue;\n\t}\n\n\tconst frameDelta = timestamp - element._counterLastTimestamp;\n\tconst elapsed = timestamp - element._counterStartTime;\n\n\t// Performance monitoring: detect animation stuttering\n\t// If frame gaps exceed 50ms (indicating browser lag/blocking), count as frame drop\n\tif ( frameDelta > 50 && element._counterLastTimestamp !== null ) {\n\t\telement._counterFrameDropCount++;\n\n\t\t// Fallback strategy: after 3 frame drops, abandon JS animation for CSS transition\n\t\t// This prevents choppy animations when browser is under heavy load\n\t\tif ( element._counterFrameDropCount > 3 ) {\n\t\t\telement.style.transition = `opacity ${ Math.max( duration - elapsed, 100 ) }ms ease-out`;\n\t\t\telement.textContent = String( targetValue );\n\t\t\tdelete element._counterAnimation;\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Calculate eased progress and current value\n\tconst progress = Math.min( elapsed / duration, 1 );\n\tconst easedProgress = easing( progress );\n\tconst currentValue = Math.round( startValue + ( change * easedProgress ) );\n\n\t// Only update DOM if value actually changed (reduce unnecessary reflows)\n\tif ( currentValue !== element._counterLastValue ) {\n\t\telement.textContent = String( currentValue );\n\t\telement._counterLastValue = currentValue;\n\t}\n\n\telement._counterLastTimestamp = timestamp;\n\n\t// Continue animation or finish\n\tif ( progress < 1 ) {\n\t\telement._counterAnimation = requestAnimationFrame( timestamp =>\n\t\t\tanimateCounter( timestamp, element, startValue, targetValue, duration, change, easing )\n\t\t);\n\t\treturn;\n\t}\n\n\t// Ensure final value is exact\n\telement.textContent = String( targetValue );\n\n\t// Clean up all counter-related properties\n\t[ '_counterAnimation', '_counterStartTime', '_counterLastTimestamp', '_counterFrameDropCount', '_counterLastValue' ]\n\t\t.forEach( prop => delete element[ prop ] );\n\n\telement.style.removeProperty( 'transition' );\n};\n\n/**\n * Easing function for smooth animation\n *\n * @param {number} t Progress from 0 to 1\n * @return {number} Eased value\n */\nconst easeOutQuart = t => 1 - Math.pow( 1 - t, 4 );\n\nexport default counter;\n","export { default as addProgressToCardBoxes } from './addProgressToCardBoxes';\nexport { default as counter } from './counter';\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { PLUGIN_URL, HIDDEN_CLASS } from 'core/constants';\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, applicationsUrl } from '../shared';\nimport { addElements, getElements } from './elements';\n\nconst { tag, div, span, a, img } = window.frmDom;\n\n// Application templates element\nlet applicationTemplates;\n\n// Base URL for the thumbnail images of applications\nconst thumbnailBaseURL = `${ PLUGIN_URL }/images/applications/thumbnails`;\n\n/**\n * Create and return the application templates HTML element.\n *\n * @param {Object[]} applications Array of application objects.\n * @return {void}\n */\nexport function createApplicationTemplates( applications ) {\n\tif ( ! applications || ! applications.length ) {\n\t\treturn;\n\t}\n\n\tconst templateItems = applications.map( template => createTemplateItem( template ) );\n\n\tapplicationTemplates = div( {\n\t\tid: `${ PREFIX }-applications`,\n\t\tclassName: HIDDEN_CLASS,\n\t\tchildren: [\n\t\t\ttag( 'h2', {\n\t\t\t\ttext: __( 'Application Templates' ),\n\t\t\t\tclassName: 'frm-text-sm frm-mb-sm'\n\t\t\t} ),\n\t\t\ttag( 'ul', {\n\t\t\t\tclassName: `${ PREFIX }-list frm-list-grid-layout`,\n\t\t\t\tchildren: templateItems\n\t\t\t} )\n\t\t]\n\t} );\n}\n\n/**\n * Create and return an individual item element for a application template.\n *\n * @private\n * @param {Object} template The application object.\n * @return {HTMLElement} Element representing a single application template.\n */\nfunction createTemplateItem( template ) {\n\tconst { name, key, hasLiteThumbnail, isWebp } = template;\n\t// eslint-disable-next-line no-nested-ternary\n\tconst thumbnailURL = hasLiteThumbnail\n\t\t? ( isWebp ? `${ thumbnailBaseURL }/${ key }.webp` : `${ thumbnailBaseURL }/${ key }.png` )\n\t\t: `${ thumbnailBaseURL }/placeholder.svg`;\n\n\treturn tag( 'li', {\n\t\tclassName: 'frm-card-item',\n\t\tdata: {\n\t\t\thref: `${ applicationsUrl }&triggerViewApplicationModal=1&template=${ key }`,\n\t\t\t'frm-search-text': name.toLowerCase()\n\t\t},\n\t\tchildren: [\n\t\t\tdiv( {\n\t\t\t\tclassName: `${ PREFIX }-item-icon`,\n\t\t\t\tchild: img( { src: thumbnailURL } )\n\t\t\t} ),\n\t\t\tdiv( {\n\t\t\t\tclassName: `${ PREFIX }-item-body`,\n\t\t\t\tchildren: [\n\t\t\t\t\tspan( {\n\t\t\t\t\t\ttext: __( 'Ready Made Solution', 'formidable' ),\n\t\t\t\t\t\tclassName: 'frm-meta-tag frm-orange-tag frm-text-xs'\n\t\t\t\t\t} ),\n\t\t\t\t\ttag( 'h3', {\n\t\t\t\t\t\ttext: name,\n\t\t\t\t\t\tclassName: 'frm-text-sm frm-font-medium frm-m-0'\n\t\t\t\t\t} ),\n\t\t\t\t\ta( {\n\t\t\t\t\t\ttext: __( 'See all applications', 'formidable' ),\n\t\t\t\t\t\tclassName: 'frm-text-xs frm-font-semibold',\n\t\t\t\t\t\thref: applicationsUrl\n\t\t\t\t\t} )\n\t\t\t\t]\n\t\t\t} )\n\t\t]\n\t} );\n}\n\n/**\n * Inject application Templates elements into the DOM and the elements object.\n *\n * @return {void}\n */\nexport function addApplicationTemplatesElement() {\n\tconst elements = getElements();\n\n\tif ( elements.applicationTemplates || undefined === applicationTemplates ) {\n\t\treturn;\n\t}\n\n\telements.bodyContent.appendChild( applicationTemplates );\n\n\taddElements( {\n\t\tapplicationTemplates,\n\t\tapplicationTemplatesTitle: applicationTemplates.querySelector( 'h2' ),\n\t\tapplicationTemplatesList: applicationTemplates.querySelector( `.${ PREFIX }-list` ),\n\t\tapplicationTemplateItems: applicationTemplates.querySelectorAll( '.frm-card-item' )\n\t} );\n}\n","/**\n * External dependencies\n */\nimport { getElements, addElements, PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEW_SLUGS } from '../shared';\n\nconst { bodyContent } = getElements();\nconst templatesList = document.getElementById( `${ PREFIX }-list` );\nconst customTemplatesSection = document.getElementById( `${ PREFIX }-custom-list-section` );\nconst favoritesCategory = document.querySelector(\n\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEW_SLUGS.FAVORITES }\"]`\n);\nconst modal = document.getElementById( `${ PREFIX }-modal` );\n\naddElements( {\n\t// Body elements\n\theaderCancelButton: document.getElementById( 'frm-publishing' )?.querySelector( 'a' ),\n\tcreateFormButton: document.getElementById( `${ PREFIX }-create-form` ),\n\tpageTitle: document.getElementById( `${ PREFIX }-page-title` ),\n\tpageTitleText: document.getElementById( `${ PREFIX }-page-title-text` ),\n\tpageTitleDivider: document.getElementById( `${ PREFIX }-page-title-divider` ),\n\tupsellBanner: document.getElementById( 'frm-renew-subscription-banner' ) ?? document.getElementById( 'frm-upgrade-banner' ),\n\textraTemplateCountElements: document.querySelectorAll( `.${ PREFIX }-extra-templates-count` ),\n\n\t// Templates elements\n\ttemplatesList,\n\ttemplateItems: templatesList.querySelectorAll( '.frm-card-item' ),\n\tavailableTemplateItems: templatesList.querySelectorAll( `.frm-card-item:not(.${ PREFIX }-locked-item)` ),\n\ttwinFeaturedTemplateItems: templatesList.querySelectorAll( `.${ PREFIX }-featured-item` ),\n\tfeaturedTemplatesList: document.getElementById( `${ PREFIX }-featured-list` ),\n\n\t// Custom Templates Section elements\n\tcustomTemplatesSection,\n\tcustomTemplateItems: customTemplatesSection.querySelectorAll( '.frm-card-item' ),\n\tcustomTemplatesTitle: document.getElementById( `${ PREFIX }-custom-list-title` ),\n\tcustomTemplatesList: document.getElementById( `${ PREFIX }-custom-list` ),\n\n\t// Sidebar elements\n\tfavoritesCategory,\n\tfavoritesCategoryCountEl: favoritesCategory?.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat-count`\n\t),\n\tavailableTemplatesCategory: document.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEW_SLUGS.AVAILABLE_TEMPLATES }\"]`\n\t),\n\tgetFreeTemplatesBannerButton: document.querySelector( '.frm-get-free-templates-banner .button' ),\n\n\t// Modal elements\n\tmodal,\n\tmodalItems: modal?.querySelectorAll( `.${ PREFIX }-modal-item` ),\n\t// Create New Template Modal\n\tshowCreateTemplateModalButton: document.getElementById( 'frm-show-create-template-modal' ),\n\tcreateTemplateModal: document.getElementById( 'frm-create-template-modal' ),\n\tcreateTemplateFormsDropdown: document.getElementById( 'frm-create-template-modal-forms-select' ),\n\tcreateTemplateName: document.getElementById( 'frm_create_template_name' ),\n\tcreateTemplateDescription: document.getElementById( 'frm_create_template_description' ),\n\tcreateTemplateButton: document.getElementById( 'frm-create-template-button' ),\n\t// Renew Account Modal\n\trenewAccountModal: document.getElementById( 'frm-renew-modal' ),\n\t// Leave Email Modal\n\tleaveEmailModal: document.getElementById( 'frm-leave-email-modal' ),\n\tleaveEmailModalInput: document.getElementById( 'frm_leave_email' ),\n\tleaveEmailModalButton: document.getElementById( 'frm-get-code-button' ),\n\t// Upgrade Modal\n\tupgradeModal: document.getElementById( 'frm-form-upgrade-modal' ),\n\tupgradeModalTemplateNames: modal?.querySelectorAll( '.frm-upgrade-modal-template-name' ),\n\tupgradeModalPlansIcons: modal?.querySelectorAll( '.frm-upgrade-modal-plan-icon' ),\n\tupgradeModalLink: document.getElementById( 'frm-upgrade-modal-link' ),\n\n\t// New Template Form elements\n\tnewTemplateForm: document.getElementById( 'frm-new-template' ),\n\tnewTemplateNameInput: document.getElementById( 'frm_template_name' ),\n\tnewTemplateDescriptionInput: document.getElementById( 'frm_template_desc' ),\n\tnewTemplateLinkInput: document.getElementById( 'frm_link' ),\n\tnewTemplateActionInput: document.getElementById( 'frm_action_type' ),\n\n\t// Add children of the bodyContent to the elements object.\n\tbodyContentChildren: bodyContent?.children\n} );\n\nexport { getElements, addElements };\n","export * from './elements';\nexport * from './applicationTemplatesElement';\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Manages event handling for an application template.\n *\n * @return {void}\n */\nexport function addApplicationTemplateEvents() {\n\tconst { applicationTemplateItems } = getElements();\n\n\tif ( undefined === applicationTemplateItems ) {\n\t\treturn;\n\t}\n\n\t// Attach click event listener\n\tapplicationTemplateItems.forEach( template => {\n\t\ttemplate.addEventListener( 'click', onApplicationTemplateClick );\n\t} );\n}\n\n/**\n * Handles the click event on an application template.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onApplicationTemplateClick = event => {\n\t// Check if the clicked element is an anchor tag\n\tif ( event.target.closest( 'a' ) ) {\n\t\treturn;\n\t}\n\n\tconst applicationTemplate = event.currentTarget;\n\twindow.location.href = applicationTemplate.dataset.href;\n};\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Manages event handling for the \"Create a blank form\" button.\n *\n * @return {void}\n */\nfunction addCreateFormButtonEvents() {\n\tconst { createFormButton } = getElements();\n\n\t// Attach click event listener\n\tonClickPreventDefault( createFormButton, onCreateFormButtonClick );\n}\n\n/**\n * Handles the click event on the \"Create a blank form\" button.\n *\n * @private\n * @return {void}\n */\nconst onCreateFormButtonClick = () => {\n\tconst { createFormButton, newTemplateForm, newTemplateNameInput, newTemplateActionInput } = getElements();\n\tconst { installNewForm } = window.frmAdminBuild;\n\n\tnewTemplateNameInput.value = '';\n\tnewTemplateActionInput.value = 'frm_install_form';\n\tinstallNewForm( newTemplateForm, 'frm_install_form', createFormButton );\n};\n\nexport default addCreateFormButtonEvents;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState } from '../shared';\nimport { showCreateTemplateModal } from '../ui';\nimport { isCustomCategory } from '../utils';\n\n/**\n * Manages event handling for the 'Create New Template' modal.\n *\n * @return {void}\n */\nfunction addCreateTemplateEvents() {\n\tconst {\n\t\tcreateTemplateFormsDropdown,\n\t\tcreateTemplateButton,\n\t\tshowCreateTemplateModalButton,\n\t\temptyStateButton\n\t} = getElements();\n\n\t// Show the 'Create New Template' modal when either empty state or show modal button is clicked\n\tonClickPreventDefault( showCreateTemplateModalButton, onShowCreateTemplateModalButtonClick );\n\tonClickPreventDefault( emptyStateButton, onShowCreateTemplateModalButtonClick );\n\n\t// Handle changes in the forms selection dropdown for creating a new template\n\tcreateTemplateFormsDropdown.addEventListener( 'change', onFormsSelectChange );\n\n\t// Create a new template when the create button inside the modal is clicked\n\tonClickPreventDefault( createTemplateButton, onCreateTemplateButtonClick );\n}\n\n/**\n * Handles the click event on the 'Create Template' button, showing the 'Create New Template' modal.\n *\n * @private\n * @return {void}\n */\nconst onShowCreateTemplateModalButtonClick = () => {\n\tconst { selectedCategory } = getState();\n\tif ( ! isCustomCategory( selectedCategory ) ) {\n\t\treturn;\n\t}\n\n\tshowCreateTemplateModal();\n};\n\n/**\n * Handles changes in the forms selection dropdown for creating a new template.\n *\n * @private\n * @return {void}\n */\nconst onFormsSelectChange = () => {\n\tconst { createTemplateFormsDropdown: formsSelect } = getElements();\n\tconst formId = formsSelect.value;\n\n\tif ( ! formId || formId === 'no-forms' ) {\n\t\ttoggleDisableModalElements( true );\n\t\treturn;\n\t}\n\n\ttoggleDisableModalElements( false );\n\n\tconst selectedOption = formsSelect.options[ formsSelect.selectedIndex ];\n\tconst formDescription = selectedOption.dataset.description.trim();\n\n\tlet formName = selectedOption.dataset.name.trim();\n\tconst templateString = ` ${ __( 'Template', 'formidable' ) }`;\n\tif ( ! formName.endsWith( templateString ) ) {\n\t\tformName += templateString;\n\t}\n\n\tconst { createTemplateName, createTemplateDescription } = getElements();\n\tcreateTemplateName.value = formName;\n\tcreateTemplateDescription.value = formDescription;\n};\n\n/**\n * Toggles the disabled state of elements in the 'Create Template' modal.\n *\n * @private\n * @param {boolean} shouldDisable True to disable, false to enable.\n * @return {void}\n */\nconst toggleDisableModalElements = shouldDisable => {\n\tconst { createTemplateName, createTemplateDescription, createTemplateButton } = getElements();\n\n\t// Toggle the disabled attribute for input and textarea\n\t[ createTemplateName, createTemplateDescription ].forEach( element => {\n\t\telement.disabled = shouldDisable;\n\t\tif ( shouldDisable ) {\n\t\t\telement.value = ''; // Clear the content for input and textarea\n\t\t}\n\t} );\n\n\t// Toggle the disabled class for the button\n\tcreateTemplateButton.classList.toggle( 'disabled', shouldDisable );\n};\n\n/**\n * Handles the click event on the 'Create Template' button to create a new template.\n *\n * @private\n * @return {void}\n */\nconst onCreateTemplateButtonClick = () => {\n\tconst { installNewForm } = window.frmAdminBuild;\n\tconst actionName = 'frm_create_template';\n\tconst {\n\t\tnewTemplateForm,\n\t\tnewTemplateActionInput,\n\t\tnewTemplateNameInput,\n\t\tnewTemplateDescriptionInput,\n\t\tnewTemplateLinkInput,\n\t\tcreateTemplateName,\n\t\tcreateTemplateDescription,\n\t\tcreateTemplateFormsDropdown,\n\t\tcreateTemplateButton\n\t} = getElements();\n\n\tnewTemplateActionInput.value = actionName;\n\tnewTemplateNameInput.value = createTemplateName.value.trim();\n\tnewTemplateDescriptionInput.value = createTemplateDescription.value.trim();\n\tnewTemplateLinkInput.value = createTemplateFormsDropdown.value;\n\n\t// Install new form template\n\tinstallNewForm( newTemplateForm, actionName, createTemplateButton );\n};\n\nexport default addCreateTemplateEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault, addToRequestQueue, hide } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { PREFIX, getState, setSingleState } from '../shared';\nimport { showFavoritesEmptyState } from '../ui';\nimport { isFavoriteTemplate, isCustomTemplate, isFeaturedTemplate, isFavoritesCategory } from '../utils';\n\nconst FAVORITE_BUTTON_CLASS = `.${ PREFIX }-item-favorite-button`;\nconst HEART_ICON_SELECTOR = `${ FAVORITE_BUTTON_CLASS } use`;\nconst FILLED_HEART_ICON = '#frm_heart_solid_icon';\nconst LINEAR_HEART_ICON = '#frm_heart_icon';\nconst OPERATION = {\n\tADD: 'add',\n\tREMOVE: 'remove'\n};\n\n/**\n * Manages event handling for favorite buttons.\n *\n * @return {void}\n */\nfunction addFavoriteButtonEvents() {\n\tconst favoriteButtons = document.querySelectorAll( FAVORITE_BUTTON_CLASS );\n\n\t// Attach click event listeners to each favorite button\n\tfavoriteButtons.forEach( favoriteButton =>\n\t\tonClickPreventDefault( favoriteButton, onFavoriteButtonClick )\n\t);\n}\n\n/**\n * Handles the click event on the add to favorite button.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onFavoriteButtonClick = event => {\n\tconst favoriteButton = event.currentTarget;\n\tconst { templatesList, featuredTemplatesList, favoritesCategoryCountEl, customTemplatesTitle } = getElements();\n\n\t/**\n\t * Get necessary template information\n\t */\n\tconst template = favoriteButton.closest( '.frm-card-item' );\n\tconst templateId = template.dataset.id;\n\tconst isFavorited = isFavoriteTemplate( template );\n\tconst isTemplateCustom = isCustomTemplate( template );\n\tconst isTemplateFeatured = isFeaturedTemplate( template );\n\n\t/**\n\t * Toggle the favorite status in the UI.\n\t * If template is featured, toggle its twin version in the respective list.\n\t */\n\tlet twinFeaturedTemplate = null;\n\n\ttemplate.classList.toggle( `${ PREFIX }-favorite-item`, ! isFavorited );\n\tif ( isTemplateFeatured ) {\n\t\tconst templateList = template.closest( `#${ PREFIX }-list` )\n\t\t\t? featuredTemplatesList\n\t\t\t: templatesList;\n\n\t\tif ( templateList ) {\n\t\t\ttwinFeaturedTemplate = templateList.querySelector(\n\t\t\t\t`.frm-card-item[data-id=\"${ templateId }\"]`\n\t\t\t);\n\t\t\t// Toggle twin template's favorite status\n\t\t\ttwinFeaturedTemplate.classList.toggle(\n\t\t\t\t`${ PREFIX }-favorite-item`,\n\t\t\t\t! isFavorited\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Update favorite counts and icons based on the new state\n\t */\n\tconst { selectedCategory, favoritesCount } = getState();\n\tconst currentOperation = isFavorited ? OPERATION.REMOVE : OPERATION.ADD;\n\tconst heartIcon = template.querySelector( HEART_ICON_SELECTOR );\n\tconst twinTemplateHeartIcon =\n\t\ttwinFeaturedTemplate?.querySelector( HEART_ICON_SELECTOR );\n\n\tif ( OPERATION.ADD === currentOperation ) {\n\t\t// Increment favorite counts\n\t\t++favoritesCount.total;\n\t\tisTemplateCustom ? ++favoritesCount.custom : ++favoritesCount.default; // eslint-disable-line no-unused-expressions\n\t\t// Set heart icon to filled\n\t\theartIcon.setAttribute( 'xlink:href', FILLED_HEART_ICON );\n\t\ttwinTemplateHeartIcon?.setAttribute( 'xlink:href', FILLED_HEART_ICON );\n\t} else {\n\t\t// Decrement favorite counts\n\t\t--favoritesCount.total;\n\t\tisTemplateCustom ? --favoritesCount.custom : --favoritesCount.default; // eslint-disable-line no-unused-expressions\n\t\t// Set heart icon to outline\n\t\theartIcon.setAttribute( 'xlink:href', LINEAR_HEART_ICON );\n\t\ttwinTemplateHeartIcon?.setAttribute( 'xlink:href', LINEAR_HEART_ICON );\n\t}\n\n\t// Update UI and state to reflect new favorite counts\n\tfavoritesCategoryCountEl.textContent = favoritesCount.total;\n\tsetSingleState( 'favoritesCount', favoritesCount );\n\n\t/**\n\t * Hide UI elements if 'Favorites' is active and counts are zero.\n\t */\n\tif ( isFavoritesCategory( selectedCategory ) ) {\n\t\tif ( 0 === favoritesCount.total ) {\n\t\t\tshowFavoritesEmptyState();\n\t\t}\n\n\t\thide( template );\n\n\t\tif ( 0 === favoritesCount.default ) {\n\t\t\thide( templatesList );\n\t\t}\n\n\t\tif ( 0 === favoritesCount.custom || 0 === favoritesCount.default ) {\n\t\t\thide( customTemplatesTitle );\n\t\t}\n\t}\n\n\t// Update server-side data for favorite templates\n\taddToRequestQueue( () => updateFavoriteTemplate( templateId, currentOperation, isTemplateCustom ) );\n};\n\n/**\n * Update server-side data for favorite templates.\n *\n * @param {string} id The template ID.\n * @param {string} operation The operation to perform ('add' or 'remove').\n * @param {boolean} isCustom Flag indicating whether the template is custom.\n * @return {Promise} The result of the server-side update.\n */\nfunction updateFavoriteTemplate( id, operation, isCustom ) {\n\tconst formData = new FormData();\n\tconst { doJsonPost } = frmDom.ajax;\n\n\tformData.append( 'template_id', id );\n\tformData.append( 'operation', operation );\n\tformData.append( 'is_custom_template', isCustom );\n\n\treturn doJsonPost( 'add_or_remove_favorite_template', formData );\n}\n\nexport default addFavoriteButtonEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault, isValidEmail, setQueryParam, hasQueryParam, removeQueryParam } from 'core/utils';\n\nconst { tag } = window.frmDom;\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { showEmailAddressError, showLeaveEmailModal } from '../ui';\n\n/**\n * Manages event handling for the \"Get Templates\" button.\n *\n * @return {void}\n */\nfunction addGetFreeTemplatesEvents() {\n\tconst { leaveEmailModalButton, getFreeTemplatesBannerButton } = getElements();\n\n\tonClickPreventDefault( leaveEmailModalButton, onGetTemplatesButtonClick );\n\tonClickPreventDefault( getFreeTemplatesBannerButton, showLeaveEmailModal );\n}\n\n/**\n * Handles the click event on the \"Get Templates\" button.\n *\n * @private\n * @return {void}\n */\nconst onGetTemplatesButtonClick = async () => {\n\tconst { leaveEmailModalInput } = getElements();\n\tconst email = leaveEmailModalInput.value.trim();\n\n\t// Check if the email field is empty\n\tif ( ! email ) {\n\t\tshowEmailAddressError( 'empty' );\n\t\treturn;\n\t}\n\n\t// Check if the email is valid\n\tif ( ! isValidEmail( email ) ) {\n\t\tshowEmailAddressError( 'invalid' );\n\t\treturn;\n\t}\n\n\t// Disable the button\n\tconst { leaveEmailModalButton } = getElements();\n\tleaveEmailModalButton.style.setProperty( 'cursor', 'not-allowed' );\n\tleaveEmailModalButton.classList.add( 'frm_loading_button' );\n\n\tconst formData = new FormData();\n\tformData.append( 'email', email );\n\n\tlet data;\n\tconst { doJsonPost } = frmDom.ajax;\n\n\ttry {\n\t\tdata = await doJsonPost( 'get_free_templates', formData );\n\t} catch ( error ) {\n\t\tconsole.error( 'An error occurred:', error );\n\t\tshowFailedToGetTemplates();\n\t\treturn;\n\t}\n\n\tif ( ! data.success ) {\n\t\tshowFailedToGetTemplates();\n\t\treturn;\n\t}\n\n\tif ( hasQueryParam( 'free-templates' ) ) {\n\t\tremoveQueryParam( 'free-templates' );\n\t}\n\n\tsetQueryParam( 'registered-for-free-templates', '1' );\n\n\twindow.location.reload();\n};\n\n/**\n * Shows a message indicating that templates could not be retrieved.\n *\n * @private\n * @return {void}\n */\nfunction showFailedToGetTemplates() {\n\tconst { leaveEmailModal } = getElements();\n\n\tleaveEmailModal.querySelector( '.inside' ).replaceChildren(\n\t\ttag( 'p', __( 'Failed to get templates, please try again later.', 'formidable' ) )\n\t);\n\n\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n}\n\nexport default addGetFreeTemplatesEvents;\n","/**\n * External dependencies\n */\nimport { addCategoryEvents } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport addCreateFormButtonEvents from './createFormButtonListener';\nimport addFavoriteButtonEvents from './favoriteButtonListener';\nimport addUseTemplateButtonEvents from './useTemplateButtonListener';\nimport addSearchEvents from './searchListener';\nimport addCreateTemplateEvents from './createTemplateListeners';\nimport addGetFreeTemplatesEvents from './getFreeTemplatesListener';\nimport { showSelectedCategory } from '../ui';\n\n/**\n * Attaches event listeners for handling user interactions.\n *\n * @return {void}\n */\nexport function addEventListeners() {\n\taddCategoryEvents();\n\twp.hooks.addAction( 'frmPage.onCategoryClick', 'frmFormTemplates', selectedCategory => {\n\t\t// Display templates of the selected category\n\t\tshowSelectedCategory( selectedCategory );\n\t} );\n\n\taddCreateFormButtonEvents();\n\taddFavoriteButtonEvents();\n\taddUseTemplateButtonEvents();\n\taddSearchEvents();\n\taddCreateTemplateEvents();\n\taddGetFreeTemplatesEvents();\n}\n\nexport { addApplicationTemplateEvents } from './applicationTemplateListener';\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\nimport { resetSearchInput } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setSingleState, VIEW_SLUGS } from '../shared';\nimport { showSearchState, displaySearchElements } from '../ui';\n\nconst { init: initSearch } = window.frmDom.search;\n\n/**\n * Adds search-related event listeners by calling the 'initSearch' function.\n *\n * @see frmDom.search method\n * @return {void}\n */\nfunction addSearchEvents() {\n\tconst { searchInput, emptyStateButton } = getElements();\n\n\tinitSearch( searchInput, 'frm-card-item', { handleSearchResult } );\n\tonClickPreventDefault( emptyStateButton, onEmptyStateButtonClick );\n}\n\n/**\n * Manages UI state based on search results and input value.\n *\n * @private\n * @param {Object} args Contains flags for search status.\n * @param {boolean} args.foundSomething True if search yielded results.\n * @param {boolean} args.notEmptySearchText True if search input is not empty.\n * @param {Event} event The event object (input, search, or change event).\n * @return {void}\n */\nfunction handleSearchResult( { foundSomething, notEmptySearchText }, event ) {\n\t// Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events,\n\t// triggering this method twice on 'x' button click.\n\tif ( event && event.type === 'search' && event.target.value === '' ) {\n\t\treturn;\n\t}\n\n\tconst state = getState();\n\tconst { allItemsCategory } = getElements();\n\n\tsetSingleState( 'notEmptySearchText', notEmptySearchText );\n\n\t// Revert to 'All Templates' if search and selected category are both empty\n\tif ( ! state.notEmptySearchText && ! state.selectedCategory ) {\n\t\tallItemsCategory.dispatchEvent(\n\t\t\tnew Event( 'click', { bubbles: true } )\n\t\t);\n\n\t\treturn;\n\t}\n\n\t// Display search state if a category is selected\n\tif ( state.selectedCategory ) {\n\t\tshowSearchState( notEmptySearchText );\n\n\t\t// Setting \"selectedCategory\" to an empty string as a flag for search state\n\t\tif ( notEmptySearchText ) {\n\t\t\tsetSingleState( 'selectedCategory', '' );\n\t\t}\n\t}\n\n\tdisplaySearchElements( foundSomething, notEmptySearchText );\n}\n\n/**\n * Handles the click event on the empty state button.\n *\n * @private\n * @return {void}\n */\nconst onEmptyStateButtonClick = () => {\n\tconst { emptyState } = getElements();\n\tif ( VIEW_SLUGS.SEARCH !== emptyState.dataset?.view ) {\n\t\treturn;\n\t}\n\n\t// Set selectedCategory to '' as search state flag that triggers ALL_ITEMS category if search input is empty\n\t// @see handleSearchResult()\n\tsetSingleState( 'selectedCategory', '' );\n\tresetSearchInput();\n\n\tconst { searchInput } = getElements();\n\tsearchInput.focus();\n};\n\nexport default addSearchEvents;\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { PREFIX, setSingleState } from '../shared';\nimport { showLockedTemplateModal } from '../ui/';\nimport { isCustomTemplate, isLockedTemplate } from '../utils';\n\n/**\n * Manages event handling for use template buttons.\n *\n * @return {void}\n */\nfunction addUseTemplateButtonEvents() {\n\tconst useTemplateButtons = document.querySelectorAll( `.${ PREFIX }-use-template-button` );\n\n\t// Attach click event listeners to each use template button\n\tuseTemplateButtons.forEach( useTemplateButton =>\n\t\tuseTemplateButton.addEventListener( 'click', onUseTemplateButtonClick )\n\t);\n}\n\n/**\n * Handles the click event on the use template button.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onUseTemplateButtonClick = event => {\n\tconst useTemplateButton = event.currentTarget;\n\n\tconst template = useTemplateButton.closest( '.frm-card-item' );\n\tconst isLocked = isLockedTemplate( template );\n\tconst isTemplateCustom = isCustomTemplate( template );\n\n\t// Allow the default link behavior, if the template is custom and not locked\n\tif ( ! isLocked && isTemplateCustom ) {\n\t\treturn;\n\t}\n\n\t// Prevent the default link behavior for non-custom or locked templates\n\tevent.preventDefault();\n\n\t// Handle locked templates\n\tif ( isLocked ) {\n\t\tshowLockedTemplateModal( template );\n\t\treturn;\n\t}\n\n\t// Prepare for new template installation\n\tconst { newTemplateForm, newTemplateNameInput, newTemplateDescriptionInput, newTemplateLinkInput, newTemplateActionInput } = getElements();\n\tconst { installNewForm } = window.frmAdminBuild;\n\tconst templateName = template.querySelector( '.frm-form-template-name' ).textContent.trim();\n\tconst templateDescription = template.querySelector( '.frm-form-templates-item-description' ).textContent.trim();\n\tconst actionName = 'frm_install_template';\n\n\tnewTemplateNameInput.value = templateName;\n\tnewTemplateDescriptionInput.value = templateDescription;\n\tnewTemplateActionInput.value = actionName;\n\tnewTemplateLinkInput.value = useTemplateButton.href;\n\n\t// Install new form template\n\tinstallNewForm( newTemplateForm, actionName, useTemplateButton );\n};\n\nexport default addUseTemplateButtonEvents;\n","/**\n * Internal dependencies\n */\nimport { setupInitialView, initializeModal } from './ui';\nimport { buildCategorizedTemplates, maybeAddApplicationTemplates } from './templates';\nimport { addEventListeners } from './events';\n\n/**\n * Initializes form templates.\n *\n * @return {void}\n */\nfunction initializeFormTemplates() {\n\tmaybeAddApplicationTemplates();\n\tinitializeModal();\n\tbuildCategorizedTemplates();\n\tsetupInitialView();\n\taddEventListeners();\n}\n\nexport default initializeFormTemplates;\n","export const { canAccessApplicationDashboard, applicationsUrl } = window.frmGlobal;\nexport const { FEATURED_TEMPLATES_IDS, FREE_TEMPLATES_IDS, upgradeLink } = window.frmFormTemplatesVars;\n\nexport const PREFIX = 'frm-form-templates';\n\nexport const VIEW_SLUGS = {\n\tAVAILABLE_TEMPLATES: 'available-templates',\n\tFAVORITES: 'favorites',\n\tCUSTOM: 'custom',\n\tSEARCH: 'search'\n};\n\nexport const PLANS = {\n\tBASIC: 'basic',\n\tPLUS: 'plus',\n\tBUSINESS: 'business',\n\tELITE: 'elite',\n\tRENEW: 'renew',\n\tFREE: 'free'\n};\n\nexport const MODAL_SIZES = {\n\tGENERAL: '440px',\n\tCREATE_TEMPLATE: '550px'\n};\n","export * from './constants';\nexport * from './pageState';\n","/**\n * External dependencies\n */\nimport { getState, getSingleState, setState, setSingleState } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\nconst { templatesCount, favoritesCount, customCount } = window.frmFormTemplatesVars;\nconst { availableTemplateItems } = getElements();\nconst availableTemplatesCount = availableTemplateItems.length;\n\nsetState( {\n\tavailableTemplatesCount,\n\tcustomCount: Number( customCount ),\n\textraTemplatesCount: templatesCount - availableTemplatesCount,\n\tfavoritesCount,\n} );\n\nexport { getState, getSingleState, setState, setSingleState };\n","/**\n * Internal dependencies\n */\nimport { addApplicationTemplatesElement, createApplicationTemplates } from '../elements';\nimport { addApplicationTemplateEvents } from '../events';\nimport { canAccessApplicationDashboard } from '../shared';\n\n/**\n * Adds application templates if the user has dashboard access.\n *\n * @return {void}\n */\nexport function maybeAddApplicationTemplates() {\n\t// Exit if the user doesn't have permission to see application dashboard\n\tif ( ! canAccessApplicationDashboard ) {\n\t\treturn;\n\t}\n\n\tconst { doJsonFetch } = frmDom.ajax;\n\n\tdoJsonFetch( 'get_applications_data&view=templates' ).then( setupApplicationTemplates );\n}\n\n/**\n * Sets up application templates by creating HTML elements, injecting them into the DOM,\n * and adding event handlers.\n *\n * @private\n * @param {Object} data The data object containing information for application templates.\n * @return {void}\n */\nfunction setupApplicationTemplates( data ) {\n\t// Create application templates\n\tcreateApplicationTemplates( data.templates );\n\n\t// Inject templates into the DOM\n\taddApplicationTemplatesElement();\n\n\t// Set up event handling\n\taddApplicationTemplateEvents();\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\nexport const categorizedTemplates = {};\n\n/**\n * Builds a categorized list of templates.\n *\n * @return {void}\n */\nexport function buildCategorizedTemplates() {\n\tconst { templateItems } = getElements();\n\n\ttemplateItems.forEach( template => {\n\t\t// Extract and split the categories from data attribute\n\t\tconst categories = template.getAttribute( 'data-categories' ).split( ',' );\n\n\t\tcategories.forEach( category => {\n\t\t\t// Initialize the category array if not already done\n\t\t\tif ( ! categorizedTemplates[ category ] ) {\n\t\t\t\tcategorizedTemplates[ category ] = [];\n\t\t\t}\n\n\t\t\t// Add the template to the appropriate category\n\t\t\tcategorizedTemplates[ category ].push( template );\n\t\t} );\n\t} );\n}\n","export * from './categorizeTemplates';\nexport * from './applicationTemplates';\n","export { default as setupInitialView } from './setupInitialView';\nexport * from './initializeModal';\nexport * from './pageTitle';\nexport * from './showHeaderCancelButton';\nexport * from './showSelectedCategory';\nexport * from './searchState';\nexport * from './showEmptyState';\nexport * from './showModal';\nexport * from './showError';\n","/**\n * External dependencies\n */\nimport { hasQueryParam } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { MODAL_SIZES } from '../shared';\nimport { showLeaveEmailModal } from './';\n\nlet modalWidget = null;\n\n/**\n * Initialize the modal widget.\n *\n * @return {void}\n */\nexport async function initializeModal() {\n\tconst { initModal, offsetModalY } = window.frmAdminBuild;\n\n\tmodalWidget = initModal( '#frm-form-templates-modal', MODAL_SIZES.GENERAL );\n\n\t// Set the vertical offset for the modal\n\tif ( modalWidget ) {\n\t\toffsetModalY( modalWidget, '103px' );\n\t}\n\n\t// Show the email modal if the 'free-templates' query param is present\n\tif ( hasQueryParam( 'free-templates' ) ) {\n\t\tconst { leaveEmailModal } = getElements();\n\t\tif ( leaveEmailModal ) {\n\t\t\tshowLeaveEmailModal();\n\t\t}\n\t}\n\n\t// Customize the confirm modal appearance: adjusting its width and vertical position\n\twp.hooks.addAction( 'frmAdmin.beforeOpenConfirmModal', 'frmFormTemplates', options => {\n\t\tconst { $info: confirmModal } = options;\n\n\t\tconfirmModal.dialog( 'option', 'width', MODAL_SIZES.CREATE_TEMPLATE );\n\t\toffsetModalY( confirmModal, '103px' );\n\t} );\n}\n\n/**\n * Retrieve the modal widget.\n *\n * @return {Object|false} The modal widget or false.\n */\nexport function getModalWidget() {\n\treturn modalWidget;\n}\n","/**\n * External dependencies\n */\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState } from '../shared';\n\n/**\n * Sets the page title based on a given string or the currently selected category.\n *\n * @param {string} [title] Optional title to display.\n * @return {void}\n */\nexport function updatePageTitle( title ) {\n\tconst { pageTitleText } = getElements();\n\n\tconst newTitle =\n\t\ttitle ||\n\t\tgetSingleState( 'selectedCategoryEl' ).querySelector( `.${ SKELETON_PREFIX }-cat-text` ).textContent;\n\n\tpageTitleText.textContent = newTitle;\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { frmAnimate, showElements, hideElements, show, hide, isVisible } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState } from '../shared';\nimport { showSearchEmptyState, updatePageTitle } from '.';\n\n/**\n * Updates the UI to display the search state.\n *\n * @param {boolean} notEmptySearchText True if search input is not empty.\n * @return {void}\n */\nexport function showSearchState( notEmptySearchText ) {\n\tconst { bodyContent, bodyContentChildren, pageTitle, templatesList, applicationTemplates } = getElements();\n\tconst bodyContentAnimate = new frmAnimate( bodyContent );\n\n\t// Remove highlighting from the currently selected category if the search text is not empty\n\tif ( notEmptySearchText ) {\n\t\tgetSingleState( 'selectedCategoryEl' ).classList.remove( CURRENT_CLASS );\n\t}\n\n\t// Hide non-relevant elements in the body content\n\thideElements( bodyContentChildren );\n\n\t// Update the page title and display relevant elements\n\tupdatePageTitle( __( 'Search Result', 'formidable' ) );\n\tshowElements( [ pageTitle, templatesList, applicationTemplates ] );\n\n\t// Smoothly display the updated UI elements\n\tbodyContentAnimate.fadeIn();\n}\n\n/**\n * Displays search results based on search outcome.\n *\n * @param {boolean} foundSomething True if search yielded results.\n * @return {void}\n */\nexport function displaySearchElements( foundSomething ) {\n\t// Show empty state if no templates found\n\tif ( ! foundSomething ) {\n\t\tshowSearchEmptyState();\n\t\treturn;\n\t}\n\n\t// Hide empty state if currently displayed\n\tconst { emptyState } = getElements();\n\tif ( isVisible( emptyState ) ) {\n\t\tconst { pageTitle } = getElements();\n\t\thide( emptyState );\n\t\tshow( pageTitle );\n\t}\n\n\tconst { templatesList, applicationTemplates, applicationTemplatesTitle, applicationTemplatesList } = getElements();\n\n\tshowElements( [ templatesList, applicationTemplates, applicationTemplatesTitle ] );\n\n\tif ( templatesList.offsetHeight === 0 ) {\n\t\thideElements( [ templatesList, applicationTemplatesTitle ] );\n\t}\n\n\tif ( applicationTemplatesList?.offsetHeight === 0 ) {\n\t\thide( applicationTemplates );\n\t}\n}\n","/**\n * External dependencies\n */\nimport { HIDE_JS_CLASS } from 'core/constants';\nimport { frmAnimate, hasQueryParam, hideElements, removeParamFromHistory } from 'core/utils';\nimport { counter } from 'core/ui';\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState, FREE_TEMPLATES_IDS } from '../shared';\nimport { showHeaderCancelButton } from './';\n\n/**\n * Sets up the initial view, performing any required\n * DOM manipulations for proper element presentation.\n *\n * @return {void}\n */\nfunction setupInitialView() {\n\tconst {\n\t\tsidebar,\n\t\tsearchInput,\n\t\tbodyContent,\n\t\ttwinFeaturedTemplateItems,\n\t\tavailableTemplatesCategory,\n\t\textraTemplateCountElements\n\t} = getElements();\n\n\tconst bodyContentAnimate = new frmAnimate( bodyContent );\n\n\tsearchInput.value = '';\n\n\t// Hide the twin featured template items\n\thideElements( twinFeaturedTemplateItems );\n\n\tsetupAvailableTemplatesCategory( availableTemplatesCategory );\n\n\t// Update extra templates count\n\textraTemplateCountElements.forEach( element => element.textContent = getSingleState( 'extraTemplatesCount' ) );\n\n\t// Smoothly display the updated UI elements\n\tbodyContent.classList.remove( HIDE_JS_CLASS );\n\tsidebar.classList.remove( HIDE_JS_CLASS );\n\tbodyContentAnimate.fadeIn();\n\n\t// Show the \"Cancel\" button in the header if the 'return_page' query param is present\n\tif ( hasQueryParam( 'return_page' ) ) {\n\t\tshowHeaderCancelButton();\n\t}\n}\n\n/**\n * Sets up the 'Available Templates' category with proper count display\n *\n * @param {Element} availableTemplatesCategory The Available Templates category element\n * @return {void}\n */\nfunction setupAvailableTemplatesCategory( availableTemplatesCategory ) {\n\tif ( ! availableTemplatesCategory ) {\n\t\treturn;\n\t}\n\n\tconst availableTemplatesCount = getSingleState( 'availableTemplatesCount' );\n\tif ( ! hasQueryParam( 'registered-for-free-templates' ) ) {\n\t\tavailableTemplatesCategory.querySelector( `.${ SKELETON_PREFIX }-cat-count` ).textContent = availableTemplatesCount;\n\t\treturn;\n\t}\n\n\tremoveParamFromHistory( 'registered-for-free-templates' );\n\trunAvailableTemplatesEffects( availableTemplatesCategory, availableTemplatesCount );\n}\n\n/**\n * Runs effects for the Available Templates category when the\n * 'registered-for-free-templates' query parameter is present.\n *\n * @param {Element} element The Available Templates category element\n * @param {number} count The count of available templates\n * @return {void}\n */\nfunction runAvailableTemplatesEffects( element, count ) {\n\tsetTimeout( () => {\n\t\telement.dispatchEvent( new Event( 'click', { bubbles: true } ) );\n\t}, 0 );\n\n\tsetTimeout( () => {\n\t\tcounter( element.querySelector( `.${ SKELETON_PREFIX }-cat-count` ), count );\n\t}, 150 );\n\n\tsetTimeout( () => {\n\t\tconst { availableTemplateItems } = getElements();\n\t\tavailableTemplateItems.forEach( item => {\n\t\t\tif ( FREE_TEMPLATES_IDS.includes( Number( item.dataset.id ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.classList.add( 'frm-background-highlight' );\n\n\t\t\t// Remove class after animation completes to prevent restart\n\t\t\titem.addEventListener( 'animationend', function handleAnimationEnd( event ) {\n\t\t\t\tif ( event.animationName === 'backgroundHighlight' ) {\n\t\t\t\t\tthis.classList.remove( 'frm-background-highlight' );\n\t\t\t\t\tthis.removeEventListener( 'animationend', handleAnimationEnd );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}, 750 );\n}\n\nexport default setupInitialView;\n","/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { showElements, hideElements, show, hide } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEW_SLUGS, getState } from '../shared';\n\n/**\n * Display the search-empty state.\n *\n * @return {void}\n */\nexport function showSearchEmptyState() {\n\tconst { notEmptySearchText } = getState();\n\tconst { pageTitle, emptyState, emptyStateButton, applicationTemplates } = getElements();\n\n\t// Toggle visibility and remove attributes based on search status\n\tif ( VIEW_SLUGS.SEARCH === emptyState.dataset?.view ) {\n\t\tif ( notEmptySearchText ) {\n\t\t\tshow( emptyState );\n\t\t\thideElements( [ pageTitle, applicationTemplates ] );\n\t\t} else {\n\t\t\thide( emptyState );\n\t\t\temptyState.removeAttribute( 'data-view' );\n\t\t}\n\n\t\treturn;\n\t}\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.SEARCH );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\temptyStateTitle.textContent = __( 'No templates found', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'Sorry, we didn\\'t find any templates that match your criteria.',\n\t\t'formidable'\n\t);\n\temptyStateButton.textContent = __( 'Start from Scratch', 'formidable' );\n\n\t// Display the empty state\n\thideElements( [ pageTitle, applicationTemplates ] );\n\tshowElements( [ emptyState, emptyStateButton ] );\n}\n\n/**\n * Display the favorites-empty state.\n *\n * @return {void}\n */\nexport function showFavoritesEmptyState() {\n\tconst { pageTitle, emptyState, emptyStateButton } = getElements();\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.FAVORITES );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\temptyStateTitle.textContent = __( 'No favorites', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'You haven\\'t added any templates to your favorites yet.',\n\t\t'formidable'\n\t);\n\n\t// Display the empty state\n\thideElements( [ pageTitle, emptyStateButton ] );\n\tshow( emptyState );\n}\n\n/**\n * Display the custom-empty state.\n *\n * @return {void}\n */\nexport function showCustomTemplatesEmptyState() {\n\tconst { pageTitle, emptyState, emptyStateButton } = getElements();\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.CUSTOM );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\temptyStateTitle.textContent = __( 'You currently have no templates.', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'You haven\\'t created any form templates. Begin now to simplify your workflow and save time.',\n\t\t'formidable'\n\t);\n\temptyStateButton.textContent = __( 'Create Template', 'formidable' );\n\n\t// Display the empty state\n\thide( pageTitle );\n\tshowElements( [ emptyState, emptyStateButton ] );\n}\n\n/**\n * Display the available-templates-empty state.\n *\n * @return {void}\n */\nexport function showAvailableTemplatesEmptyState() {\n\tconst { pageTitle, emptyState, emptyStateButton } = getElements();\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.AVAILABLE_TEMPLATES );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\tconst { extraTemplatesCount } = getState();\n\temptyStateTitle.textContent = __( 'No Templates Available', 'formidable' );\n\temptyStateText.textContent = sprintf(\n\t\t// translators: %s is the number of extra templates available\n\t\t__( 'Upgrade to PRO for %s+ options or explore Free Templates.', 'formidable' ),\n\t\textraTemplatesCount\n\t);\n\n\t// Display the empty state\n\thideElements( [ pageTitle, emptyStateButton ] );\n\tshow( emptyState );\n}\n","/**\n * External dependencies\n */\nimport { showFormError } from 'core/utils';\n\n/**\n * Displays errors related to the email address field.\n *\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @return {void}\n */\nexport const showEmailAddressError = type => {\n\tshowFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n};\n","/**\n * External dependencies\n */\nimport { frmAnimate } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Display the \"Cancel\" button in the header.\n *\n * @return {void}\n */\nexport function showHeaderCancelButton() {\n\tconst { headerCancelButton } = getElements();\n\tnew frmAnimate( headerCancelButton ).fadeIn();\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { hideElements, show } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { MODAL_SIZES, PLANS, upgradeLink } from '../shared';\nimport { getModalWidget } from './';\n\n/**\n * Display the locked template modal.\n *\n * @param {HTMLElement} template The template element.\n * @return {void}\n */\nexport function showLockedTemplateModal( template ) {\n\tconst plan = template.dataset.requiredPlan;\n\n\tswitch ( plan ) {\n\t\tcase PLANS.BASIC:\n\t\tcase PLANS.PLUS:\n\t\tcase PLANS.BUSINESS:\n\t\tcase PLANS.ELITE:\n\t\t\tshowUpgradeModal( plan, template );\n\t\t\tbreak;\n\t\tcase PLANS.RENEW:\n\t\t\tshowRenewAccountModal();\n\t\t\tbreak;\n\t\tcase PLANS.FREE:\n\t\t\tshowLeaveEmailModal();\n\t\t\tbreak;\n\t}\n}\n\n/**\n * Base function to show a modal dialog with a customizable pre-open execution step.\n *\n * @param {Function} executePreOpen The function to be executed before opening the modal dialog.\n * @return {Function} A higher-order function that can be invoked to display the modal dialog.\n */\nconst showModal = executePreOpen => async ( ...params ) => {\n\tconst dialogWidget = getModalWidget();\n\tif ( ! dialogWidget ) {\n\t\treturn;\n\t}\n\n\tconst { modalItems } = getElements();\n\thideElements( modalItems );\n\n\tdialogWidget.dialog( 'option', 'width', MODAL_SIZES.GENERAL );\n\tawait executePreOpen?.( ...params );\n\tdialogWidget.dialog( 'open' );\n};\n\n// Mapping each plan to the subsequent plans it can upgrade to\nconst upgradablePlans = {\n\tbasic: [ 'basic', 'plus', 'business', 'elite' ],\n\tplus: [ 'plus', 'business', 'elite' ],\n\tbusiness: [ 'business', 'elite' ],\n\telite: [ 'elite' ]\n};\n\n/**\n * Display the modal dialog to prompt the user to upgrade their account.\n *\n * @param {string} plan Current plan name\n * @param {HTMLElement} template The template element\n * @return {void}\n */\nexport const showUpgradeModal = showModal( ( plan, template ) => {\n\tconst templateName = template.querySelector( '.frm-form-template-name' ).textContent.trim();\n\tconst { upgradeModal, upgradeModalTemplateNames, upgradeModalPlansIcons, upgradeModalLink } = getElements();\n\n\t// Update template names\n\tupgradeModalTemplateNames.forEach( element => element.textContent = templateName );\n\n\t// Update plan icons and their availability\n\tupgradeModalPlansIcons.forEach( icon => {\n\t\tconst planType = icon.dataset.plan;\n\t\tconst shouldDisplayCheck = upgradablePlans[ plan ].includes( planType );\n\n\t\t// Toggle icon class based on plan availability\n\t\ticon.classList.toggle( 'frm_green', shouldDisplayCheck );\n\n\t\t// Update SVG icon\n\t\tconst svg = icon.querySelector( 'svg > use' );\n\t\tsvg.setAttribute( 'xlink:href', shouldDisplayCheck ? '#frm_checkmark_icon' : '#frm_close_icon' );\n\t} );\n\n\t// Append template slug to the upgrade modal link URL\n\tconst templateSlug = template.dataset.slug ? `-${ template.dataset.slug }` : '';\n\tupgradeModalLink.href = upgradeLink + templateSlug;\n\n\tshow( upgradeModal );\n} );\n\n/**\n * Display the modal dialog to prompt the user to renew their account.\n *\n * @return {void}\n */\nexport const showRenewAccountModal = showModal( () => {\n\tconst { renewAccountModal } = getElements();\n\tshow( renewAccountModal );\n} );\n\n/**\n * Display the modal dialog to prompt the user to leave an email.\n *\n * @return {void}\n */\nexport const showLeaveEmailModal = showModal( () => {\n\tconst { leaveEmailModal } = getElements();\n\tshow( leaveEmailModal );\n} );\n\n/**\n * Displays a modal dialog prompting the user to create a new template.\n *\n * @return {void}\n */\nexport const showCreateTemplateModal = showModal( () => {\n\tconst dialogWidget = getModalWidget();\n\tdialogWidget.dialog( 'option', 'width', MODAL_SIZES.CREATE_TEMPLATE );\n\n\tconst { createTemplateModal } = getElements();\n\tshow( createTemplateModal );\n} );\n","/**\n * External dependencies\n */\nimport { showElements, hideElements, show, hide } from 'core/utils';\nimport { VIEWS as SKELETON_VIEWS } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { PREFIX, VIEW_SLUGS, getState } from '../shared';\nimport { isFavoriteTemplate } from '../utils';\nimport { categorizedTemplates } from '../templates';\nimport { updatePageTitle, showFavoritesEmptyState, showCustomTemplatesEmptyState, showAvailableTemplatesEmptyState } from './';\n\n/**\n * Show templates based on selected category.\n *\n * @param {string} selectedCategory The selected category to display templates for.\n * @return {void}\n */\nexport function showSelectedCategory( selectedCategory ) {\n\tconst { bodyContentChildren, pageTitle, showCreateTemplateModalButton, templatesList, templateItems, upsellBanner } = getElements();\n\n\tif ( SKELETON_VIEWS.ALL_ITEMS !== selectedCategory ) {\n\t\thideElements( bodyContentChildren );\n\t}\n\n\tupdatePageTitle();\n\thide( showCreateTemplateModalButton );\n\tshow( pageTitle );\n\n\tswitch ( selectedCategory ) {\n\t\tcase SKELETON_VIEWS.ALL_ITEMS:\n\t\t\tshowAllTemplates();\n\t\t\tbreak;\n\t\tcase VIEW_SLUGS.AVAILABLE_TEMPLATES:\n\t\t\tshowAvailableTemplates();\n\t\t\tbreak;\n\t\tcase VIEW_SLUGS.FAVORITES:\n\t\t\tshowFavoriteTemplates();\n\t\t\tbreak;\n\t\tcase VIEW_SLUGS.CUSTOM:\n\t\t\tshowCustomTemplates();\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thideElements( templateItems ); // Clear the view for new content\n\t\t\tshowElements( [ upsellBanner, templatesList, ...categorizedTemplates[ selectedCategory ] ] );\n\t\t\tbreak;\n\t}\n}\n\n/**\n * Shows all templates when 'All Templates' is the selected category.\n *\n * @return {void}\n */\nexport function showAllTemplates() {\n\tconst {\n\t\tbodyContentChildren,\n\t\tpageTitleDivider,\n\t\ttemplateItems,\n\t\ttwinFeaturedTemplateItems,\n\t\tcustomTemplatesSection,\n\t\temptyState,\n\t\tapplicationTemplates\n\t} = getElements();\n\n\tshowElements( [ ...bodyContentChildren, ...templateItems ] );\n\thideElements( [ pageTitleDivider, ...twinFeaturedTemplateItems, customTemplatesSection, emptyState, applicationTemplates ] );\n}\n\n/**\n * Shows favorite templates.\n *\n * @return {void}\n */\nexport function showFavoriteTemplates() {\n\tconst { favoritesCount } = getState();\n\n\tif ( 0 === favoritesCount.total ) {\n\t\tshowFavoritesEmptyState();\n\t\treturn;\n\t}\n\n\tconst {\n\t\tbodyContent,\n\t\ttemplatesList,\n\t\ttemplateItems,\n\t\tcustomTemplatesSection,\n\t\tcustomTemplatesTitle,\n\t\tcustomTemplatesList,\n\t\tcustomTemplateItems\n\t} = getElements();\n\n\t// Clear the view for new content\n\thideElements( templateItems );\n\n\tconst elementsToShow = [];\n\n\t// Get all favorite items from the DOM and add the elements to show\n\tconst favoriteItems = bodyContent.querySelectorAll( `.${ PREFIX }-favorite-item` );\n\telementsToShow.push( ...favoriteItems );\n\n\t// Add default favorites if available\n\tif ( favoritesCount.default > 0 ) {\n\t\telementsToShow.push( templatesList );\n\t}\n\n\t// Add custom favorites if available\n\tif ( favoritesCount.custom > 0 ) {\n\t\tconst nonFavCustomTemplates = Array.from( customTemplateItems ).filter(\n\t\t\ttemplate => ! isFavoriteTemplate( template )\n\t\t);\n\n\t\thideElements( nonFavCustomTemplates );\n\t\telementsToShow.push( customTemplatesSection );\n\t\telementsToShow.push( customTemplatesList );\n\n\t\tif ( 0 === favoritesCount.default ) {\n\t\t\thide( customTemplatesTitle );\n\t\t} else {\n\t\t\telementsToShow.push( customTemplatesTitle );\n\t\t}\n\t}\n\n\t// Show elements that were selected to be shown\n\tshowElements( elementsToShow );\n}\n\n/**\n * Shows custom templates.\n *\n * @return {void}\n */\nexport function showCustomTemplates() {\n\tconst { customCount } = getState();\n\n\tif ( 0 === customCount ) {\n\t\tshowCustomTemplatesEmptyState();\n\t\treturn;\n\t}\n\n\tconst {\n\t\tshowCreateTemplateModalButton,\n\t\tpageTitleDivider,\n\t\tcustomTemplatesSection,\n\t\tcustomTemplatesList,\n\t\tcustomTemplatesTitle,\n\t\tcustomTemplateItems\n\t} = getElements();\n\n\thide( customTemplatesTitle );\n\tshowElements( [ showCreateTemplateModalButton, pageTitleDivider, customTemplatesSection, customTemplatesList, ...customTemplateItems ] );\n}\n\n/**\n * Shows available templates.\n *\n * @return {void}\n */\nexport function showAvailableTemplates() {\n\tconst { availableTemplatesCount } = getState();\n\n\tif ( 0 === availableTemplatesCount ) {\n\t\tshowAvailableTemplatesEmptyState();\n\t\treturn;\n\t}\n\n\tconst { templatesList, templateItems, availableTemplateItems, upsellBanner } = getElements();\n\n\thideElements( templateItems ); // Clear the view for new content\n\tshowElements( [ upsellBanner, templatesList, ...availableTemplateItems ] );\n}\n\nexport default showSelectedCategory;\n","export * from './validation';\n","/**\n * External dependencies\n */\nimport { isHTMLElement } from 'core/utils';\nimport { VIEWS as SKELETON_VIEWS } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEW_SLUGS, FEATURED_TEMPLATES_IDS } from '../shared';\n\n/**\n * Checks if the category is \"All Templates\".\n *\n * @param {string} category The category slug.\n * @return {boolean} True if the category is \"All Templates\", otherwise false.\n */\nexport const isAllTemplatesCategory = category => SKELETON_VIEWS.ALL_ITEMS === category;\n\n/**\n * Checks if the category is \"Favorites\".\n *\n * @param {string} category The category slug.\n * @return {boolean} True if the category is \"Favorites\", otherwise false.\n */\nexport const isFavoritesCategory = category => VIEW_SLUGS.FAVORITES === category;\n\n/**\n * Checks if the category is \"Custom\".\n *\n * @param {string} category The category slug.\n * @return {boolean} True if the category is \"Custom\", otherwise false.\n */\nexport const isCustomCategory = category => VIEW_SLUGS.CUSTOM === category;\n\n/**\n * Checks if a template is a favorite.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is a favorite, otherwise false.\n */\nexport const isFavoriteTemplate = template =>\n\tisHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-favorite-item` ) : false;\n\n/**\n * Checks if a template is custom.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is custom, otherwise false.\n */\nexport const isCustomTemplate = template =>\n\tisHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-custom-item` ) : false;\n\n/**\n * Checks if a template is featured.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is featured, otherwise false.\n */\nexport const isFeaturedTemplate = template =>\n\tisHTMLElement( template ) ? FEATURED_TEMPLATES_IDS.includes( Number( template.dataset.id ) ) : false;\n\n/**\n * Checks if a template is locked.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is locked, otherwise false.\n */\nexport const isLockedTemplate = template =>\n\tisHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-locked-item` ) : false;\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { getState, setState } from './shared';\nimport initializeFormTemplates from './initializeFormTemplates';\n\ndomReady( () => {\n\t/**\n\t * Entry point for pre-initialization adjustments to the page state.\n\t *\n\t * @param {Object} state Current state of the page.\n\t */\n\twp.hooks.doAction( 'frmFormTemplates.beforeInitialize', {\n\t\tgetState,\n\t\tsetState\n\t} );\n\n\t// Initialize the form templates\n\tinitializeFormTemplates();\n\n\t/**\n\t * Entry point for post-initialization custom logic or adjustments to the page state.\n\t *\n\t * @param {Object} state Current state of the page.\n\t */\n\twp.hooks.doAction( 'frmFormTemplates.afterInitialize', {\n\t\tgetState,\n\t\tsetState\n\t} );\n\n\t/**\n\t * Trigger a specific action to interact with the hidden form '#frm-new-template',\n\t * which is used for creating or using a form template.\n\t *\n\t * @param {HTMLElement} $form The jQuery object containing the hidden form element.\n\t */\n\twp.hooks.doAction( 'frm_new_form_modal_form', jQuery( '#frm-new-template' ) );\n} );\n"],"names":["_window$frmGlobal","window","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","createPageElements","initialElements","arguments","length","undefined","_typeof","Error","elements","getElements","addElements","newElements","_objectSpread","createPageState","initialState","state","getState","getSingleState","propertyName","value","Reflect","get","setState","newState","setSingleState","has","set","PREFIX","SEARCH_RESULT_ITEM","VIEWS","ALL_ITEMS","createEmptyStateElement","getEmptyStateElements","bodyContent","document","getElementById","sidebar","concat","emptyState","appendChild","emptyStateElements","_createPageElements","searchInput","querySelector","categoryItems","querySelectorAll","allItemsCategory","__","_window$frmDom","frmDom","tag","div","a","img","button","className","setAttribute","id","children","src","alt","emptyStateTitle","emptyStateText","emptyStateButton","onClickPreventDefault","frmAnimate","resetSearchInput","addCategoryEvents","_getElements","forEach","category","onCategoryClick","addEventListener","onCategoryKeydown","event","clickedCategory","currentTarget","newSelectedCategory","getAttribute","_getState","selectedCategory","selectedCategoryEl","notEmptySearchText","wp","hooks","applyFilters","classList","remove","add","doAction","_getElements2","fadeIn","key","preventDefault","dispatchEvent","Event","bubbles","_createPageState","span","addProgressToCardBoxes","cardBoxes","Array","isArray","console","warn","element","index","contains","progressBar","widthPercentage","style","width","progressBarContainer","child","insertAdjacentElement","counter","options","targetElement","HTMLElement","targetValue","parseInt","isNaN","setElementValueAndReturn","_options$duration","duration","_options$easing","easing","easeOutQuart","startValue","textContent","change","_counterAnimation","cancelAnimationFrame","requestAnimationFrame","timestamp","animateCounter","String","_counterStartTime","_counterLastTimestamp","_counterFrameDropCount","_counterLastValue","frameDelta","elapsed","transition","Math","max","progress","min","easedProgress","currentValue","round","prop","removeProperty","t","pow","default","type","_classCallCheck","prepareElements","_createClass","_this","applyStyleToElements","resetOpacity","once","cascadeFadeIn","_this2","delay","setTimeout","transitionDelay","_this3","opacity","callback","Element","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","_frmDom","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","documentOn","doJsonPost","ajax","p","args","bold","URL","location","href","urlParams","searchParams","getQueryParam","paramName","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","includes","_defineProperty","history","hasQueryParam","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","SKELETON_PREFIX","applicationsUrl","applicationTemplates","thumbnailBaseURL","createApplicationTemplates","applications","templateItems","map","template","createTemplateItem","text","name","hasLiteThumbnail","isWebp","thumbnailURL","data","toLowerCase","addApplicationTemplatesElement","applicationTemplatesTitle","applicationTemplatesList","applicationTemplateItems","VIEW_SLUGS","templatesList","customTemplatesSection","favoritesCategory","FAVORITES","headerCancelButton","_document$getElementB","createFormButton","pageTitle","pageTitleText","pageTitleDivider","upsellBanner","_document$getElementB2","extraTemplateCountElements","availableTemplateItems","twinFeaturedTemplateItems","featuredTemplatesList","customTemplateItems","customTemplatesTitle","customTemplatesList","favoritesCategoryCountEl","availableTemplatesCategory","AVAILABLE_TEMPLATES","getFreeTemplatesBannerButton","modalItems","showCreateTemplateModalButton","createTemplateModal","createTemplateFormsDropdown","createTemplateName","createTemplateDescription","createTemplateButton","renewAccountModal","leaveEmailModal","leaveEmailModalInput","leaveEmailModalButton","upgradeModal","upgradeModalTemplateNames","upgradeModalPlansIcons","upgradeModalLink","newTemplateForm","newTemplateNameInput","newTemplateDescriptionInput","newTemplateLinkInput","newTemplateActionInput","bodyContentChildren","addApplicationTemplateEvents","onApplicationTemplateClick","target","closest","applicationTemplate","dataset","addCreateFormButtonEvents","onCreateFormButtonClick","installNewForm","frmAdminBuild","showCreateTemplateModal","isCustomCategory","addCreateTemplateEvents","onShowCreateTemplateModalButtonClick","onFormsSelectChange","onCreateTemplateButtonClick","formsSelect","formId","toggleDisableModalElements","selectedOption","selectedIndex","formDescription","description","trim","formName","templateString","endsWith","_getElements3","shouldDisable","_getElements4","disabled","toggle","actionName","_getElements5","showFavoritesEmptyState","isFavoriteTemplate","isCustomTemplate","isFeaturedTemplate","isFavoritesCategory","FAVORITE_BUTTON_CLASS","HEART_ICON_SELECTOR","FILLED_HEART_ICON","LINEAR_HEART_ICON","OPERATION","ADD","REMOVE","addFavoriteButtonEvents","favoriteButtons","favoriteButton","onFavoriteButtonClick","_twinFeaturedTemplate","templateId","isFavorited","isTemplateCustom","isTemplateFeatured","twinFeaturedTemplate","templateList","favoritesCount","currentOperation","heartIcon","twinTemplateHeartIcon","total","custom","updateFavoriteTemplate","operation","isCustom","formData","FormData","append","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","y","G","v","d","bind","l","TypeError","call","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","_asyncToGenerator","apply","_next","_throw","showEmailAddressError","showLeaveEmailModal","addGetFreeTemplatesEvents","onGetTemplatesButtonClick","_ref","_callee","_t","_context","setProperty","error","showFailedToGetTemplates","success","reload","replaceChildren","addUseTemplateButtonEvents","addSearchEvents","showSelectedCategory","addEventListeners","addAction","showSearchState","displaySearchElements","initSearch","init","handleSearchResult","onEmptyStateButtonClick","foundSomething","_emptyState$dataset","SEARCH","view","focus","showLockedTemplateModal","isLockedTemplate","useTemplateButtons","useTemplateButton","onUseTemplateButtonClick","isLocked","templateName","templateDescription","setupInitialView","initializeModal","buildCategorizedTemplates","maybeAddApplicationTemplates","initializeFormTemplates","canAccessApplicationDashboard","_window$frmFormTempla","frmFormTemplatesVars","FEATURED_TEMPLATES_IDS","FREE_TEMPLATES_IDS","upgradeLink","CUSTOM","PLANS","BASIC","PLUS","BUSINESS","ELITE","RENEW","FREE","MODAL_SIZES","GENERAL","CREATE_TEMPLATE","templatesCount","customCount","availableTemplatesCount","Number","extraTemplatesCount","doJsonFetch","setupApplicationTemplates","templates","categorizedTemplates","categories","split","push","modalWidget","_initializeModal","_window$frmAdminBuild","initModal","offsetModalY","confirmModal","$info","dialog","getModalWidget","updatePageTitle","title","newTitle","showSearchEmptyState","bodyContentAnimate","offsetHeight","showHeaderCancelButton","setupAvailableTemplatesCategory","runAvailableTemplatesEffects","count","item","handleAnimationEnd","animationName","removeEventListener","sprintf","removeAttribute","showCustomTemplatesEmptyState","_getElements6","showAvailableTemplatesEmptyState","_getElements7","_getElements8","_getState2","plan","requiredPlan","showUpgradeModal","showRenewAccountModal","showModal","executePreOpen","dialogWidget","_len","params","_key","_args","upgradablePlans","basic","plus","business","elite","icon","planType","shouldDisplayCheck","templateSlug","slug","SKELETON_VIEWS","showAllTemplates","showAvailableTemplates","showFavoriteTemplates","showCustomTemplates","_toConsumableArray","elementsToShow","favoriteItems","nonFavCustomTemplates","filter","_getState3","isAllTemplatesCategory","domReady","jQuery"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"form-templates.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AC3HA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iEAAe,iBAAiB,EAAC;AACjC;;;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,oBAAoB;AAChC;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA,iEAAe,eAAe,EAAC;AAC/B;;;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;ACrCwE;;AAExE;AACA;AACA;AAC4C;AACM;AACN;AACA;AACQ;AACJ;AACJ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,EAAE,qFAAe;;AAEjB,aAAa,mBAAmB;AAChC;AACA;AACA,aAAa,mBAAmB;;AAEhC;AACA;AACA,mBAAmB,0DAAa;AAChC,mBAAmB,0DAAa;AAChC,sBAAsB,6DAAgB;AACtC,sBAAsB,6DAAgB;AACtC,mBAAmB,0DAAa;AAChC,mBAAmB,0DAAa;AAChC,0BAA0B,6DAAgB;AAC1C,0BAA0B,6DAAgB;AAC1C,kBAAkB,0DAAa;AAC/B,sBAAsB,0DAAa;AACnC,uBAAuB,8DAAiB;AACxC,uBAAuB,8DAAiB;AACxC,qBAAqB,4DAAe;AACpC,qBAAqB,4DAAe;AACpC,mBAAmB,0DAAa;AAChC,mBAAmB,0DAAa;AAChC;AACA,cAAc,QAAQ;;AAEtB;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;;AAEA,iEAAe,WAAW,EAAC;AAC3B;;;;;;;;;;;;;;;;;AC5DA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,oBAAoB;AAChC;;AAEA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA;AACA;AACA,YAAY,YAAY;AACxB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,uBAAuB,iEAAiB;AACxC;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,wCAAwC,QAAQ;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iEAAe,gBAAgB,EAAC;AAChC;;;;;;;;;;;;;;;;AC3F8E;;AAE9E;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD,QAAQ,IAAqC;AAC7C;AACA;AACA,sCAAsC,wFAAkB;AACxD;AACA;;AAEA,2FAA2F,aAAa;AACxG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEA;AACA;AACA;AACwC;AACxC,cAAc,uBAAuB;;AAErC;AACA;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;;AAEA;AACA,aAAa,wBAAwB,uBAAuB;AAC5D;;AAEA;AACA,aAAa,uBAAuB;AACpC;;AAEA;AACA,aAAa,+BAA+B;AAC5C;;AAEO,mBAAmB,wDAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2P;AAC3P;;;;;;;;;;;;;;;ACzDA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAe,gBAAgB,EAAC;AAChC;;;;;;;;;;;;;;;AChCA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;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A;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;;ACJqD;AACrD;AACA,+BAA+B,gEAAgB;AAC/C;;;;;;;;;;;;;;;;ACHA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACFuD;AACJ;AACsB;AAClB;AACvD;AACA,SAAS,iEAAiB,OAAO,+DAAe,OAAO,0EAA0B,OAAO,iEAAiB;AACzG;;;;;;;;;;;;;;;;;ACNqD;AACrD;AACA;AACA,qCAAqC,gEAAgB;AACrD,cAAc;AACd,+LAA+L,gEAAgB;AAC/M;AACA;;;;;;;;;;;;;;;;;ACP+C;AAC/C;AACA,cAAc,6DAAa;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACRkC;AAClC;AACA,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC3C;AACA,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;;ACLA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;;UCRA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACNA;AACA;AACA;AAC4C;;AAE5C;AACA;AACA;AAC8C;AACkB;AAEhEgkB,gEAAQ,CAAE,YAAM;EACf;AACD;AACA;AACA;AACA;EACCxgB,EAAE,CAACC,KAAK,CAACK,QAAQ,CAAE,mCAAmC,EAAE;IACvDzE,QAAQ,EAARA,6CAAQ;IACRM,QAAQ,EAARA,6CAAQA;EACT,CAAE,CAAC;;EAEH;EACAwe,oEAAuB,CAAC,CAAC;;EAEzB;AACD;AACA;AACA;AACA;EACC3a,EAAE,CAACC,KAAK,CAACK,QAAQ,CAAE,kCAAkC,EAAE;IACtDzE,QAAQ,EAARA,6CAAQ;IACRM,QAAQ,EAARA,6CAAQA;EACT,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;AACA;EACC6D,EAAE,CAACC,KAAK,CAACK,QAAQ,CAAE,yBAAyB,EAAEmgB,MAAM,CAAE,mBAAoB,CAAE,CAAC;AAC9E,CAAE,CAAC,C","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/factory/createPageElements.js","webpack://formidable/./js/src/core/factory/createPageState.js","webpack://formidable/./js/src/core/factory/index.js","webpack://formidable/./js/src/core/page-skeleton/constants.js","webpack://formidable/./js/src/core/page-skeleton/elements/elements.js","webpack://formidable/./js/src/core/page-skeleton/elements/emptyStateElement.js","webpack://formidable/./js/src/core/page-skeleton/elements/index.js","webpack://formidable/./js/src/core/page-skeleton/events/categoryListener.js","webpack://formidable/./js/src/core/page-skeleton/events/index.js","webpack://formidable/./js/src/core/page-skeleton/index.js","webpack://formidable/./js/src/core/page-skeleton/shared/index.js","webpack://formidable/./js/src/core/page-skeleton/shared/pageState.js","webpack://formidable/./js/src/core/ui/addProgressToCardBoxes.js","webpack://formidable/./js/src/core/ui/counter.js","webpack://formidable/./js/src/core/ui/index.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/form-templates/elements/applicationTemplatesElement.js","webpack://formidable/./js/src/form-templates/elements/elements.js","webpack://formidable/./js/src/form-templates/elements/index.js","webpack://formidable/./js/src/form-templates/events/applicationTemplateListener.js","webpack://formidable/./js/src/form-templates/events/createFormButtonListener.js","webpack://formidable/./js/src/form-templates/events/createTemplateListeners.js","webpack://formidable/./js/src/form-templates/events/favoriteButtonListener.js","webpack://formidable/./js/src/form-templates/events/getFreeTemplatesListener.js","webpack://formidable/./js/src/form-templates/events/index.js","webpack://formidable/./js/src/form-templates/events/searchListener.js","webpack://formidable/./js/src/form-templates/events/useTemplateButtonListener.js","webpack://formidable/./js/src/form-templates/initializeFormTemplates.js","webpack://formidable/./js/src/form-templates/shared/constants.js","webpack://formidable/./js/src/form-templates/shared/index.js","webpack://formidable/./js/src/form-templates/shared/pageState.js","webpack://formidable/./js/src/form-templates/templates/applicationTemplates.js","webpack://formidable/./js/src/form-templates/templates/categorizeTemplates.js","webpack://formidable/./js/src/form-templates/templates/index.js","webpack://formidable/./js/src/form-templates/ui/index.js","webpack://formidable/./js/src/form-templates/ui/initializeModal.js","webpack://formidable/./js/src/form-templates/ui/pageTitle.js","webpack://formidable/./js/src/form-templates/ui/searchState.js","webpack://formidable/./js/src/form-templates/ui/setupInitialView.js","webpack://formidable/./js/src/form-templates/ui/showEmptyState.js","webpack://formidable/./js/src/form-templates/ui/showError.js","webpack://formidable/./js/src/form-templates/ui/showHeaderCancelButton.js","webpack://formidable/./js/src/form-templates/ui/showModal.js","webpack://formidable/./js/src/form-templates/ui/showSelectedCategory.js","webpack://formidable/./js/src/form-templates/utils/index.js","webpack://formidable/./js/src/form-templates/utils/validation.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/form-templates/index.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","/**\n * Creates a page elements manager.\n *\n * @param {Object} [initialElements={}] An object containing initial DOM elements.\n * @throws {Error} Throws an error if the `initialElements` is not an object.\n * @return {Object} An object with methods to get and add elements.\n */\nexport function createPageElements( initialElements = {} ) {\n\tif ( typeof initialElements !== 'object' || initialElements === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageElements: initialElements must be a non-null object'\n\t\t);\n\t}\n\n\tlet elements = initialElements;\n\n\t/**\n\t * Retrieve the initialized essential DOM elements.\n\t *\n\t * @return {Object} The initialized elements object.\n\t */\n\tfunction getElements() {\n\t\treturn elements;\n\t}\n\n\t/**\n\t * Add new elements to the elements object.\n\t *\n\t * @param {Object} newElements An object containing new elements to be added.\n\t * @throws {Error} Throws an error if the `newElements` is not a non-null object.\n\t * @return {void} Updates the elements object by merging the new elements into it.\n\t */\n\tfunction addElements( newElements ) {\n\t\tif ( typeof newElements !== 'object' || newElements === null ) {\n\t\t\tthrow new Error(\n\t\t\t\t'addElements: newElements must be a non-null object'\n\t\t\t);\n\t\t}\n\n\t\telements = { ...elements, ...newElements };\n\t}\n\n\treturn { getElements, addElements };\n}\n","/**\n * Creates a page state manager.\n *\n * @param {Object} [initialState={}] An object containing the initial state.\n * @throws {Error} Throws an error if the `initialState` is not a plain object.\n * @return {Object} An object with methods to initialize, get, and set the page state.\n */\nexport function createPageState( initialState = {} ) {\n\tif ( typeof initialState !== 'object' || initialState === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageState: initialState must be a non-null object'\n\t\t);\n\t}\n\n\tlet state = initialState;\n\n\t/**\n\t * Returns the current page state.\n\t *\n\t * @return {Object|null} The current state of the page or null if not initialized.\n\t */\n\tconst getState = () => state;\n\n\t/**\n\t * Returns a specific property from the current page state.\n\t *\n\t * @param {string} propertyName The name of the property to retrieve.\n\t * @return {*} The value of the specified property, or null if it doesn't exist.\n\t */\n\tconst getSingleState = propertyName => {\n\t\tconst value = Reflect.get( state, propertyName );\n\n\t\t// We convert `undefined` to `null` for a consistent API.\n\t\t// This makes it easier for users to handle the results since all missing properties return `null`.\n\t\treturn value === undefined ? null : value;\n\t};\n\n\t/**\n\t * Updates the page state with new values.\n\t *\n\t * @param {Object} newState The new values to update the state with.\n\t * @throws {Error} Throws an error if `newState` is not a plain object.\n\t * @return {void}\n\t */\n\tconst setState = newState => {\n\t\tif ( typeof newState !== 'object' || newState === null ) {\n\t\t\tthrow new Error( 'setState: newState must be a non-null object' );\n\t\t}\n\n\t\tstate = { ...state, ...newState };\n\t};\n\n\t/**\n\t * Updates a specific property in the page state with a new value.\n\t *\n\t * @param {string} propertyName The name of the property to update.\n\t * @param {*} value The new value to set for the property.\n\t * @return {void}\n\t */\n\tconst setSingleState = ( propertyName, value ) => {\n\t\tif ( Reflect.has( state, propertyName ) ) {\n\t\t\tReflect.set( state, propertyName, value );\n\t\t}\n\t};\n\n\treturn { getState, getSingleState, setState, setSingleState };\n}\n","export * from './createPageElements';\nexport * from './createPageState';\n","export const PREFIX = 'frm-page-skeleton';\nexport const SEARCH_RESULT_ITEM = 'frm-card-item';\nexport const VIEWS = {\n\tALL_ITEMS: 'all-items',\n};\n","/**\n * External dependencies\n */\nimport { createPageElements } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEWS } from '../constants';\nimport {\n\tcreateEmptyStateElement,\n\tgetEmptyStateElements,\n} from './emptyStateElement';\n\nconst bodyContent = document.getElementById( 'post-body-content' );\nconst sidebar = document.getElementById( `${ PREFIX }-sidebar` );\n\n// Append empty state elements to body content\nconst emptyState = createEmptyStateElement();\nbodyContent?.appendChild( emptyState );\nconst emptyStateElements = getEmptyStateElements();\n\nexport const { getElements, addElements } = createPageElements( {\n\tbodyContent,\n\n\t// Sidebar elements\n\tsidebar,\n\tsearchInput: sidebar.querySelector( '.frm-search-input' ),\n\tcategoryItems: sidebar.querySelectorAll( `.${ PREFIX }-cat` ),\n\tallItemsCategory: sidebar.querySelector(\n\t\t`.${ PREFIX }-cat[data-category=\"${ VIEWS.ALL_ITEMS }\"]`\n\t),\n\n\t// Empty State elements\n\t...emptyStateElements,\n} );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { PLUGIN_URL, HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX } from '../constants';\n\nconst { tag, div, a, img } = window.frmDom;\n\n/**\n * Create and return the Empty State HTML element.\n *\n * @return {HTMLElement} The Empty State element.\n */\nexport function createEmptyStateElement() {\n\tconst button = a( {\n\t\tclassName: 'button button-primary frm-button-primary',\n\t} );\n\tbutton.setAttribute( 'role', 'button' );\n\n\treturn div( {\n\t\tid: `${ PREFIX }-empty-state`,\n\t\tclassName: `frm-flex-col frm-flex-center frm-gap-md ${ HIDDEN_CLASS }`,\n\t\tchildren: [\n\t\t\timg( {\n\t\t\t\tsrc: `${ PLUGIN_URL }/images/page-skeleton/empty-state.svg`,\n\t\t\t\talt: __( 'Empty State', 'formidable' ),\n\t\t\t} ),\n\t\t\tdiv( {\n\t\t\t\tclassName: 'frmcenter',\n\t\t\t\tchildren: [\n\t\t\t\t\ttag( 'h2', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-title frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t\ttag( 'p', {\n\t\t\t\t\t\tclassName: `${ PREFIX }-text frm-mb-0`,\n\t\t\t\t\t} ),\n\t\t\t\t],\n\t\t\t} ),\n\t\t\tbutton,\n\t\t],\n\t} );\n}\n\n/**\n * Return the elements related to the Empty State.\n *\n * @return {Object} Object containing Empty State related DOM elements.\n */\nexport function getEmptyStateElements() {\n\tconst emptyState = document.querySelector( `#${ PREFIX }-empty-state` );\n\n\treturn {\n\t\temptyState,\n\t\temptyStateTitle: emptyState?.querySelector( `.${ PREFIX }-title` ),\n\t\temptyStateText: emptyState?.querySelector( `.${ PREFIX }-text` ),\n\t\temptyStateButton: emptyState?.querySelector( '.button' ),\n\t};\n}\n","export * from './elements';\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { onClickPreventDefault, frmAnimate } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setState } from '../shared';\nimport { resetSearchInput } from '.';\n\n/**\n * Manages event handling for sidebar category links.\n *\n * @return {void}\n */\nexport function addCategoryEvents() {\n\tconst { categoryItems } = getElements();\n\n\t// Attach click and keyboard event listeners to each sidebar category\n\tcategoryItems.forEach( category => {\n\t\tonClickPreventDefault( category, onCategoryClick );\n\t\tcategory.addEventListener( 'keydown', onCategoryKeydown );\n\t} );\n}\n\n/**\n * Handles the click event on a category item.\n *\n * @private\n * @param {Event} event The click event object.\n */\nconst onCategoryClick = event => {\n\tconst clickedCategory = event.currentTarget;\n\tconst newSelectedCategory = clickedCategory.getAttribute( 'data-category' );\n\tlet { selectedCategory, selectedCategoryEl, notEmptySearchText } =\n\t\tgetState();\n\n\t// If the selected category hasn't changed, return early\n\tif ( selectedCategory === newSelectedCategory ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * Filter hook to modify the selected category.\n\t *\n\t * @param {string} selectedCategory The selected category\n\t */\n\tselectedCategory = wp.hooks.applyFilters(\n\t\t'frmPage.selectedCategory',\n\t\tnewSelectedCategory\n\t);\n\n\t// Highlight the newly clicked category and update the application state\n\tselectedCategoryEl.classList.remove( CURRENT_CLASS );\n\tselectedCategoryEl = clickedCategory;\n\tselectedCategoryEl.classList.add( CURRENT_CLASS );\n\tsetState( { selectedCategory, selectedCategoryEl } );\n\n\t// Reset the search input if it contains text\n\tif ( notEmptySearchText ) {\n\t\tresetSearchInput();\n\t}\n\n\t/**\n\t * Trigger custom action to update category content.\n\t *\n\t * @param {string} selectedCategory The selected category.\n\t */\n\twp.hooks.doAction( 'frmPage.onCategoryClick', selectedCategory );\n\n\t// Smoothly display the updated UI elements\n\tconst { bodyContent } = getElements();\n\tnew frmAnimate( bodyContent ).fadeIn();\n};\n\n/**\n * Handles the keyboard event on a category item.\n *\n * @param {KeyboardEvent} event The keyboard event object.\n * @return {void}\n */\nfunction onCategoryKeydown( event ) {\n\t// Only respond to 'Enter' or 'Space' key presses\n\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\tevent.preventDefault();\n\t\tonCategoryClick( event );\n\t}\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Resets the value of the search input and triggers an input event.\n *\n * @return {void}\n */\nexport function resetSearchInput() {\n\tconst { searchInput } = getElements();\n\n\tsearchInput.value = '';\n\tsearchInput.dispatchEvent( new Event( 'input', { bubbles: true } ) );\n}\n\nexport * from './categoryListener';\n","export * from './constants';\nexport * from './elements';\nexport * from './shared';\nexport * from './events';\n","export * from './pageState';\n","/**\n * External dependencies\n */\nimport { createPageState } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEWS } from '../constants';\n\nconst { allItemsCategory } = getElements();\n\nexport const { getState, getSingleState, setState, setSingleState } =\n\tcreatePageState( {\n\t\tnotEmptySearchText: false,\n\t\tselectedCategory: VIEWS.ALL_ITEMS,\n\t\tselectedCategoryEl: allItemsCategory,\n\t} );\n","/**\n * Internal Dependencies\n */\nconst { span } = window.frmDom;\n\n/**\n * Adds a progress bar to each card box element to visually indicate its position in the sequence.\n *\n * @param {Element[]} cardBoxes Collection of card box elements to enhance with progress bars.\n * @return {void}\n */\nfunction addProgressToCardBoxes( cardBoxes ) {\n\tif ( ! Array.isArray( cardBoxes ) || ! cardBoxes.length ) {\n\t\tconsole.warn( 'addProgressToCardBoxes: Expected a non-empty array of cardBoxes.' );\n\t\treturn;\n\t}\n\n\tcardBoxes.forEach( ( element, index ) => {\n\t\t// Exclude cards that either don't require a progress bar or already include one\n\t\tif ( ! element.classList.contains( 'frm-has-progress-bar' ) || element.querySelector( '.frm-card-box-progress-bar' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst progressBar = span();\n\t\tconst widthPercentage = ( ( index + 1 ) / cardBoxes.length ) * 100;\n\t\tprogressBar.style.width = `${ widthPercentage }%`;\n\n\t\tconst progressBarContainer = span( {\n\t\t\tclassName: 'frm-card-box-progress-bar',\n\t\t\tchild: progressBar\n\t\t} );\n\t\telement.insertAdjacentElement( 'afterbegin', progressBarContainer );\n\t} );\n}\n\nexport default addProgressToCardBoxes;\n","/**\n * Updates the text content of an element with a counter value using smooth animation.\n *\n * @param {HTMLElement|string} element The DOM element or selector to update\n * @param {number|string} value The new counter value to set\n * @param {Object} options Animation options\n * @param {number} options.duration Duration in milliseconds (default: 3000)\n * @param {Function} options.easing Easing function (default: easeOutQuart)\n * @throws {Error} When element is not found or invalid\n * @return {HTMLElement} The updated element for method chaining\n */\nconst counter = ( element, value, options = {} ) => {\n\tconst targetElement = typeof element === 'string'\n\t\t? document.querySelector( element )\n\t\t: element;\n\n\tif ( ! targetElement || ! ( targetElement instanceof HTMLElement ) ) {\n\t\treturn null;\n\t}\n\n\tconst targetValue = typeof value === 'number' ? value : parseInt( value, 10 );\n\tif ( isNaN( targetValue ) ) {\n\t\tconsole.warn( 'Counter: Invalid value provided, defaulting to 0' );\n\t\treturn setElementValueAndReturn( targetElement, '0' );\n\t}\n\n\t// Don't run the animation if the sent value is 0\n\tif ( targetValue === 0 ) {\n\t\treturn setElementValueAndReturn( targetElement, '0' );\n\t}\n\n\tconst { duration = 3000, easing = easeOutQuart } = options;\n\n\tconst startValue = parseInt( targetElement.textContent, 10 ) || 0;\n\tconst change = targetValue - startValue;\n\n\t// Skip animation if no change needed\n\tif ( change === 0 ) {\n\t\treturn targetElement;\n\t}\n\n\t// Cancel any existing animation\n\tif ( targetElement._counterAnimation ) {\n\t\tcancelAnimationFrame( targetElement._counterAnimation );\n\t}\n\n\t// Start animation\n\ttargetElement.classList.add( 'frm-fadein' );\n\ttargetElement._counterAnimation = requestAnimationFrame( timestamp =>\n\t\tanimateCounter( timestamp, targetElement, startValue, targetValue, duration, change, easing )\n\t);\n\n\treturn targetElement;\n};\n\n/**\n * Helper function to set element text content and return element\n *\n * @param {HTMLElement} element Target element\n * @param {string|number} value Value to set\n * @return {HTMLElement} The element for method chaining\n */\nconst setElementValueAndReturn = ( element, value ) => {\n\telement.textContent = String( value );\n\treturn element;\n};\n\n/**\n * Standalone animation function for counter (optimized to prevent redefinition)\n *\n * @param {number} timestamp Current timestamp from requestAnimationFrame\n * @param {HTMLElement} element Target element to animate\n * @param {number} startValue Starting counter value\n * @param {number} targetValue Target counter value\n * @param {number} duration Animation duration in milliseconds\n * @param {number} change Total change amount (targetValue - startValue)\n * @param {Function} easing Easing function\n * @return {void}\n */\nconst animateCounter = ( timestamp, element, startValue, targetValue, duration, change, easing ) => {\n\tif ( ! element._counterStartTime ) {\n\t\telement._counterStartTime = timestamp;\n\t\telement._counterLastTimestamp = timestamp;\n\t\telement._counterFrameDropCount = 0;\n\t\telement._counterLastValue = startValue;\n\t}\n\n\tconst frameDelta = timestamp - element._counterLastTimestamp;\n\tconst elapsed = timestamp - element._counterStartTime;\n\n\t// Performance monitoring: detect animation stuttering\n\t// If frame gaps exceed 50ms (indicating browser lag/blocking), count as frame drop\n\tif ( frameDelta > 50 && element._counterLastTimestamp !== null ) {\n\t\telement._counterFrameDropCount++;\n\n\t\t// Fallback strategy: after 3 frame drops, abandon JS animation for CSS transition\n\t\t// This prevents choppy animations when browser is under heavy load\n\t\tif ( element._counterFrameDropCount > 3 ) {\n\t\t\telement.style.transition = `opacity ${ Math.max( duration - elapsed, 100 ) }ms ease-out`;\n\t\t\telement.textContent = String( targetValue );\n\t\t\tdelete element._counterAnimation;\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Calculate eased progress and current value\n\tconst progress = Math.min( elapsed / duration, 1 );\n\tconst easedProgress = easing( progress );\n\tconst currentValue = Math.round( startValue + ( change * easedProgress ) );\n\n\t// Only update DOM if value actually changed (reduce unnecessary reflows)\n\tif ( currentValue !== element._counterLastValue ) {\n\t\telement.textContent = String( currentValue );\n\t\telement._counterLastValue = currentValue;\n\t}\n\n\telement._counterLastTimestamp = timestamp;\n\n\t// Continue animation or finish\n\tif ( progress < 1 ) {\n\t\telement._counterAnimation = requestAnimationFrame( timestamp =>\n\t\t\tanimateCounter( timestamp, element, startValue, targetValue, duration, change, easing )\n\t\t);\n\t\treturn;\n\t}\n\n\t// Ensure final value is exact\n\telement.textContent = String( targetValue );\n\n\t// Clean up all counter-related properties\n\t[ '_counterAnimation', '_counterStartTime', '_counterLastTimestamp', '_counterFrameDropCount', '_counterLastValue' ]\n\t\t.forEach( prop => delete element[ prop ] );\n\n\telement.style.removeProperty( 'transition' );\n};\n\n/**\n * Easing function for smooth animation\n *\n * @param {number} t Progress from 0 to 1\n * @return {number} Eased value\n */\nconst easeOutQuart = t => 1 - Math.pow( 1 - t, 4 );\n\nexport default counter;\n","export { default as addProgressToCardBoxes } from './addProgressToCardBoxes';\nexport { default as counter } from './counter';\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { PLUGIN_URL, HIDDEN_CLASS } from 'core/constants';\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, applicationsUrl } from '../shared';\nimport { addElements, getElements } from './elements';\n\nconst { tag, div, span, a, img } = window.frmDom;\n\n// Application templates element\nlet applicationTemplates;\n\n// Base URL for the thumbnail images of applications\nconst thumbnailBaseURL = `${ PLUGIN_URL }/images/applications/thumbnails`;\n\n/**\n * Create and return the application templates HTML element.\n *\n * @param {Object[]} applications Array of application objects.\n * @return {void}\n */\nexport function createApplicationTemplates( applications ) {\n\tif ( ! applications || ! applications.length ) {\n\t\treturn;\n\t}\n\n\tconst templateItems = applications.map( template => createTemplateItem( template ) );\n\n\tapplicationTemplates = div( {\n\t\tid: `${ PREFIX }-applications`,\n\t\tclassName: HIDDEN_CLASS,\n\t\tchildren: [\n\t\t\ttag( 'h2', {\n\t\t\t\ttext: __( 'Application Templates' ),\n\t\t\t\tclassName: 'frm-text-sm frm-mb-sm'\n\t\t\t} ),\n\t\t\ttag( 'ul', {\n\t\t\t\tclassName: `${ PREFIX }-list frm-list-grid-layout`,\n\t\t\t\tchildren: templateItems\n\t\t\t} )\n\t\t]\n\t} );\n}\n\n/**\n * Create and return an individual item element for a application template.\n *\n * @private\n * @param {Object} template The application object.\n * @return {HTMLElement} Element representing a single application template.\n */\nfunction createTemplateItem( template ) {\n\tconst { name, key, hasLiteThumbnail, isWebp } = template;\n\t// eslint-disable-next-line no-nested-ternary\n\tconst thumbnailURL = hasLiteThumbnail\n\t\t? ( isWebp ? `${ thumbnailBaseURL }/${ key }.webp` : `${ thumbnailBaseURL }/${ key }.png` )\n\t\t: `${ thumbnailBaseURL }/placeholder.svg`;\n\n\treturn tag( 'li', {\n\t\tclassName: 'frm-card-item',\n\t\tdata: {\n\t\t\thref: `${ applicationsUrl }&triggerViewApplicationModal=1&template=${ key }`,\n\t\t\t'frm-search-text': name.toLowerCase()\n\t\t},\n\t\tchildren: [\n\t\t\tdiv( {\n\t\t\t\tclassName: `${ PREFIX }-item-icon`,\n\t\t\t\tchild: img( { src: thumbnailURL } )\n\t\t\t} ),\n\t\t\tdiv( {\n\t\t\t\tclassName: `${ PREFIX }-item-body`,\n\t\t\t\tchildren: [\n\t\t\t\t\tspan( {\n\t\t\t\t\t\ttext: __( 'Ready Made Solution', 'formidable' ),\n\t\t\t\t\t\tclassName: 'frm-meta-tag frm-orange-tag frm-text-xs'\n\t\t\t\t\t} ),\n\t\t\t\t\ttag( 'h3', {\n\t\t\t\t\t\ttext: name,\n\t\t\t\t\t\tclassName: 'frm-text-sm frm-font-medium frm-m-0'\n\t\t\t\t\t} ),\n\t\t\t\t\ta( {\n\t\t\t\t\t\ttext: __( 'See all applications', 'formidable' ),\n\t\t\t\t\t\tclassName: 'frm-text-xs frm-font-semibold',\n\t\t\t\t\t\thref: applicationsUrl\n\t\t\t\t\t} )\n\t\t\t\t]\n\t\t\t} )\n\t\t]\n\t} );\n}\n\n/**\n * Inject application Templates elements into the DOM and the elements object.\n *\n * @return {void}\n */\nexport function addApplicationTemplatesElement() {\n\tconst elements = getElements();\n\n\tif ( elements.applicationTemplates || undefined === applicationTemplates ) {\n\t\treturn;\n\t}\n\n\telements.bodyContent.appendChild( applicationTemplates );\n\n\taddElements( {\n\t\tapplicationTemplates,\n\t\tapplicationTemplatesTitle: applicationTemplates.querySelector( 'h2' ),\n\t\tapplicationTemplatesList: applicationTemplates.querySelector( `.${ PREFIX }-list` ),\n\t\tapplicationTemplateItems: applicationTemplates.querySelectorAll( '.frm-card-item' )\n\t} );\n}\n","/**\n * External dependencies\n */\nimport { getElements, addElements, PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEW_SLUGS } from '../shared';\n\nconst { bodyContent } = getElements();\nconst templatesList = document.getElementById( `${ PREFIX }-list` );\nconst customTemplatesSection = document.getElementById( `${ PREFIX }-custom-list-section` );\nconst favoritesCategory = document.querySelector(\n\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEW_SLUGS.FAVORITES }\"]`\n);\nconst modal = document.getElementById( `${ PREFIX }-modal` );\n\naddElements( {\n\t// Body elements\n\theaderCancelButton: document.getElementById( 'frm-publishing' )?.querySelector( 'a' ),\n\tcreateFormButton: document.getElementById( `${ PREFIX }-create-form` ),\n\tpageTitle: document.getElementById( `${ PREFIX }-page-title` ),\n\tpageTitleText: document.getElementById( `${ PREFIX }-page-title-text` ),\n\tpageTitleDivider: document.getElementById( `${ PREFIX }-page-title-divider` ),\n\tupsellBanner: document.getElementById( 'frm-renew-subscription-banner' ) ?? document.getElementById( 'frm-upgrade-banner' ),\n\textraTemplateCountElements: document.querySelectorAll( `.${ PREFIX }-extra-templates-count` ),\n\n\t// Templates elements\n\ttemplatesList,\n\ttemplateItems: templatesList.querySelectorAll( '.frm-card-item' ),\n\tavailableTemplateItems: templatesList.querySelectorAll( `.frm-card-item:not(.${ PREFIX }-locked-item)` ),\n\ttwinFeaturedTemplateItems: templatesList.querySelectorAll( `.${ PREFIX }-featured-item` ),\n\tfeaturedTemplatesList: document.getElementById( `${ PREFIX }-featured-list` ),\n\n\t// Custom Templates Section elements\n\tcustomTemplatesSection,\n\tcustomTemplateItems: customTemplatesSection.querySelectorAll( '.frm-card-item' ),\n\tcustomTemplatesTitle: document.getElementById( `${ PREFIX }-custom-list-title` ),\n\tcustomTemplatesList: document.getElementById( `${ PREFIX }-custom-list` ),\n\n\t// Sidebar elements\n\tfavoritesCategory,\n\tfavoritesCategoryCountEl: favoritesCategory?.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat-count`\n\t),\n\tavailableTemplatesCategory: document.querySelector(\n\t\t`.${ SKELETON_PREFIX }-cat[data-category=\"${ VIEW_SLUGS.AVAILABLE_TEMPLATES }\"]`\n\t),\n\tgetFreeTemplatesBannerButton: document.querySelector( '.frm-get-free-templates-banner .button' ),\n\n\t// Modal elements\n\tmodal,\n\tmodalItems: modal?.querySelectorAll( `.${ PREFIX }-modal-item` ),\n\t// Create New Template Modal\n\tshowCreateTemplateModalButton: document.getElementById( 'frm-show-create-template-modal' ),\n\tcreateTemplateModal: document.getElementById( 'frm-create-template-modal' ),\n\tcreateTemplateFormsDropdown: document.getElementById( 'frm-create-template-modal-forms-select' ),\n\tcreateTemplateName: document.getElementById( 'frm_create_template_name' ),\n\tcreateTemplateDescription: document.getElementById( 'frm_create_template_description' ),\n\tcreateTemplateButton: document.getElementById( 'frm-create-template-button' ),\n\t// Renew Account Modal\n\trenewAccountModal: document.getElementById( 'frm-renew-modal' ),\n\t// Leave Email Modal\n\tleaveEmailModal: document.getElementById( 'frm-leave-email-modal' ),\n\tleaveEmailModalInput: document.getElementById( 'frm_leave_email' ),\n\tleaveEmailModalButton: document.getElementById( 'frm-get-code-button' ),\n\t// Upgrade Modal\n\tupgradeModal: document.getElementById( 'frm-form-upgrade-modal' ),\n\tupgradeModalTemplateNames: modal?.querySelectorAll( '.frm-upgrade-modal-template-name' ),\n\tupgradeModalPlansIcons: modal?.querySelectorAll( '.frm-upgrade-modal-plan-icon' ),\n\tupgradeModalLink: document.getElementById( 'frm-upgrade-modal-link' ),\n\n\t// New Template Form elements\n\tnewTemplateForm: document.getElementById( 'frm-new-template' ),\n\tnewTemplateNameInput: document.getElementById( 'frm_template_name' ),\n\tnewTemplateDescriptionInput: document.getElementById( 'frm_template_desc' ),\n\tnewTemplateLinkInput: document.getElementById( 'frm_link' ),\n\tnewTemplateActionInput: document.getElementById( 'frm_action_type' ),\n\n\t// Add children of the bodyContent to the elements object.\n\tbodyContentChildren: bodyContent?.children\n} );\n\nexport { getElements, addElements };\n","export * from './elements';\nexport * from './applicationTemplatesElement';\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Manages event handling for an application template.\n *\n * @return {void}\n */\nexport function addApplicationTemplateEvents() {\n\tconst { applicationTemplateItems } = getElements();\n\n\tif ( undefined === applicationTemplateItems ) {\n\t\treturn;\n\t}\n\n\t// Attach click event listener\n\tapplicationTemplateItems.forEach( template => {\n\t\ttemplate.addEventListener( 'click', onApplicationTemplateClick );\n\t} );\n}\n\n/**\n * Handles the click event on an application template.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onApplicationTemplateClick = event => {\n\t// Check if the clicked element is an anchor tag\n\tif ( event.target.closest( 'a' ) ) {\n\t\treturn;\n\t}\n\n\tconst applicationTemplate = event.currentTarget;\n\twindow.location.href = applicationTemplate.dataset.href;\n};\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Manages event handling for the \"Create a blank form\" button.\n *\n * @return {void}\n */\nfunction addCreateFormButtonEvents() {\n\tconst { createFormButton } = getElements();\n\n\t// Attach click event listener\n\tonClickPreventDefault( createFormButton, onCreateFormButtonClick );\n}\n\n/**\n * Handles the click event on the \"Create a blank form\" button.\n *\n * @private\n * @return {void}\n */\nconst onCreateFormButtonClick = () => {\n\tconst { createFormButton, newTemplateForm, newTemplateNameInput, newTemplateActionInput } = getElements();\n\tconst { installNewForm } = window.frmAdminBuild;\n\n\tnewTemplateNameInput.value = '';\n\tnewTemplateActionInput.value = 'frm_install_form';\n\tinstallNewForm( newTemplateForm, 'frm_install_form', createFormButton );\n};\n\nexport default addCreateFormButtonEvents;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState } from '../shared';\nimport { showCreateTemplateModal } from '../ui';\nimport { isCustomCategory } from '../utils';\n\n/**\n * Manages event handling for the 'Create New Template' modal.\n *\n * @return {void}\n */\nfunction addCreateTemplateEvents() {\n\tconst {\n\t\tcreateTemplateFormsDropdown,\n\t\tcreateTemplateButton,\n\t\tshowCreateTemplateModalButton,\n\t\temptyStateButton\n\t} = getElements();\n\n\t// Show the 'Create New Template' modal when either empty state or show modal button is clicked\n\tonClickPreventDefault( showCreateTemplateModalButton, onShowCreateTemplateModalButtonClick );\n\tonClickPreventDefault( emptyStateButton, onShowCreateTemplateModalButtonClick );\n\n\t// Handle changes in the forms selection dropdown for creating a new template\n\tcreateTemplateFormsDropdown.addEventListener( 'change', onFormsSelectChange );\n\n\t// Create a new template when the create button inside the modal is clicked\n\tonClickPreventDefault( createTemplateButton, onCreateTemplateButtonClick );\n}\n\n/**\n * Handles the click event on the 'Create Template' button, showing the 'Create New Template' modal.\n *\n * @private\n * @return {void}\n */\nconst onShowCreateTemplateModalButtonClick = () => {\n\tconst { selectedCategory } = getState();\n\tif ( ! isCustomCategory( selectedCategory ) ) {\n\t\treturn;\n\t}\n\n\tshowCreateTemplateModal();\n};\n\n/**\n * Handles changes in the forms selection dropdown for creating a new template.\n *\n * @private\n * @return {void}\n */\nconst onFormsSelectChange = () => {\n\tconst { createTemplateFormsDropdown: formsSelect } = getElements();\n\tconst formId = formsSelect.value;\n\n\tif ( ! formId || formId === 'no-forms' ) {\n\t\ttoggleDisableModalElements( true );\n\t\treturn;\n\t}\n\n\ttoggleDisableModalElements( false );\n\n\tconst selectedOption = formsSelect.options[ formsSelect.selectedIndex ];\n\tconst formDescription = selectedOption.dataset.description.trim();\n\n\tlet formName = selectedOption.dataset.name.trim();\n\tconst templateString = ` ${ __( 'Template', 'formidable' ) }`;\n\tif ( ! formName.endsWith( templateString ) ) {\n\t\tformName += templateString;\n\t}\n\n\tconst { createTemplateName, createTemplateDescription } = getElements();\n\tcreateTemplateName.value = formName;\n\tcreateTemplateDescription.value = formDescription;\n};\n\n/**\n * Toggles the disabled state of elements in the 'Create Template' modal.\n *\n * @private\n * @param {boolean} shouldDisable True to disable, false to enable.\n * @return {void}\n */\nconst toggleDisableModalElements = shouldDisable => {\n\tconst { createTemplateName, createTemplateDescription, createTemplateButton } = getElements();\n\n\t// Toggle the disabled attribute for input and textarea\n\t[ createTemplateName, createTemplateDescription ].forEach( element => {\n\t\telement.disabled = shouldDisable;\n\t\tif ( shouldDisable ) {\n\t\t\telement.value = ''; // Clear the content for input and textarea\n\t\t}\n\t} );\n\n\t// Toggle the disabled class for the button\n\tcreateTemplateButton.classList.toggle( 'disabled', shouldDisable );\n};\n\n/**\n * Handles the click event on the 'Create Template' button to create a new template.\n *\n * @private\n * @return {void}\n */\nconst onCreateTemplateButtonClick = () => {\n\tconst { installNewForm } = window.frmAdminBuild;\n\tconst actionName = 'frm_create_template';\n\tconst {\n\t\tnewTemplateForm,\n\t\tnewTemplateActionInput,\n\t\tnewTemplateNameInput,\n\t\tnewTemplateDescriptionInput,\n\t\tnewTemplateLinkInput,\n\t\tcreateTemplateName,\n\t\tcreateTemplateDescription,\n\t\tcreateTemplateFormsDropdown,\n\t\tcreateTemplateButton\n\t} = getElements();\n\n\tnewTemplateActionInput.value = actionName;\n\tnewTemplateNameInput.value = createTemplateName.value.trim();\n\tnewTemplateDescriptionInput.value = createTemplateDescription.value.trim();\n\tnewTemplateLinkInput.value = createTemplateFormsDropdown.value;\n\n\t// Install new form template\n\tinstallNewForm( newTemplateForm, actionName, createTemplateButton );\n};\n\nexport default addCreateTemplateEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault, addToRequestQueue, hide } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { PREFIX, getState, setSingleState } from '../shared';\nimport { showFavoritesEmptyState } from '../ui';\nimport { isFavoriteTemplate, isCustomTemplate, isFeaturedTemplate, isFavoritesCategory } from '../utils';\n\nconst FAVORITE_BUTTON_CLASS = `.${ PREFIX }-item-favorite-button`;\nconst HEART_ICON_SELECTOR = `${ FAVORITE_BUTTON_CLASS } use`;\nconst FILLED_HEART_ICON = '#frm_heart_solid_icon';\nconst LINEAR_HEART_ICON = '#frm_heart_icon';\nconst OPERATION = {\n\tADD: 'add',\n\tREMOVE: 'remove'\n};\n\n/**\n * Manages event handling for favorite buttons.\n *\n * @return {void}\n */\nfunction addFavoriteButtonEvents() {\n\tconst favoriteButtons = document.querySelectorAll( FAVORITE_BUTTON_CLASS );\n\n\t// Attach click event listeners to each favorite button\n\tfavoriteButtons.forEach( favoriteButton =>\n\t\tonClickPreventDefault( favoriteButton, onFavoriteButtonClick )\n\t);\n}\n\n/**\n * Handles the click event on the add to favorite button.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onFavoriteButtonClick = event => {\n\tconst favoriteButton = event.currentTarget;\n\tconst { templatesList, featuredTemplatesList, favoritesCategoryCountEl, customTemplatesTitle } = getElements();\n\n\t/**\n\t * Get necessary template information\n\t */\n\tconst template = favoriteButton.closest( '.frm-card-item' );\n\tconst templateId = template.dataset.id;\n\tconst isFavorited = isFavoriteTemplate( template );\n\tconst isTemplateCustom = isCustomTemplate( template );\n\tconst isTemplateFeatured = isFeaturedTemplate( template );\n\n\t/**\n\t * Toggle the favorite status in the UI.\n\t * If template is featured, toggle its twin version in the respective list.\n\t */\n\tlet twinFeaturedTemplate = null;\n\n\ttemplate.classList.toggle( `${ PREFIX }-favorite-item`, ! isFavorited );\n\tif ( isTemplateFeatured ) {\n\t\tconst templateList = template.closest( `#${ PREFIX }-list` )\n\t\t\t? featuredTemplatesList\n\t\t\t: templatesList;\n\n\t\tif ( templateList ) {\n\t\t\ttwinFeaturedTemplate = templateList.querySelector(\n\t\t\t\t`.frm-card-item[data-id=\"${ templateId }\"]`\n\t\t\t);\n\t\t\t// Toggle twin template's favorite status\n\t\t\ttwinFeaturedTemplate.classList.toggle(\n\t\t\t\t`${ PREFIX }-favorite-item`,\n\t\t\t\t! isFavorited\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Update favorite counts and icons based on the new state\n\t */\n\tconst { selectedCategory, favoritesCount } = getState();\n\tconst currentOperation = isFavorited ? OPERATION.REMOVE : OPERATION.ADD;\n\tconst heartIcon = template.querySelector( HEART_ICON_SELECTOR );\n\tconst twinTemplateHeartIcon =\n\t\ttwinFeaturedTemplate?.querySelector( HEART_ICON_SELECTOR );\n\n\tif ( OPERATION.ADD === currentOperation ) {\n\t\t// Increment favorite counts\n\t\t++favoritesCount.total;\n\t\tisTemplateCustom ? ++favoritesCount.custom : ++favoritesCount.default; // eslint-disable-line no-unused-expressions\n\t\t// Set heart icon to filled\n\t\theartIcon.setAttribute( 'xlink:href', FILLED_HEART_ICON );\n\t\ttwinTemplateHeartIcon?.setAttribute( 'xlink:href', FILLED_HEART_ICON );\n\t} else {\n\t\t// Decrement favorite counts\n\t\t--favoritesCount.total;\n\t\tisTemplateCustom ? --favoritesCount.custom : --favoritesCount.default; // eslint-disable-line no-unused-expressions\n\t\t// Set heart icon to outline\n\t\theartIcon.setAttribute( 'xlink:href', LINEAR_HEART_ICON );\n\t\ttwinTemplateHeartIcon?.setAttribute( 'xlink:href', LINEAR_HEART_ICON );\n\t}\n\n\t// Update UI and state to reflect new favorite counts\n\tfavoritesCategoryCountEl.textContent = favoritesCount.total;\n\tsetSingleState( 'favoritesCount', favoritesCount );\n\n\t/**\n\t * Hide UI elements if 'Favorites' is active and counts are zero.\n\t */\n\tif ( isFavoritesCategory( selectedCategory ) ) {\n\t\tif ( 0 === favoritesCount.total ) {\n\t\t\tshowFavoritesEmptyState();\n\t\t}\n\n\t\thide( template );\n\n\t\tif ( 0 === favoritesCount.default ) {\n\t\t\thide( templatesList );\n\t\t}\n\n\t\tif ( 0 === favoritesCount.custom || 0 === favoritesCount.default ) {\n\t\t\thide( customTemplatesTitle );\n\t\t}\n\t}\n\n\t// Update server-side data for favorite templates\n\taddToRequestQueue( () => updateFavoriteTemplate( templateId, currentOperation, isTemplateCustom ) );\n};\n\n/**\n * Update server-side data for favorite templates.\n *\n * @param {string} id The template ID.\n * @param {string} operation The operation to perform ('add' or 'remove').\n * @param {boolean} isCustom Flag indicating whether the template is custom.\n * @return {Promise} The result of the server-side update.\n */\nfunction updateFavoriteTemplate( id, operation, isCustom ) {\n\tconst formData = new FormData();\n\tconst { doJsonPost } = frmDom.ajax;\n\n\tformData.append( 'template_id', id );\n\tformData.append( 'operation', operation );\n\tformData.append( 'is_custom_template', isCustom );\n\n\treturn doJsonPost( 'add_or_remove_favorite_template', formData );\n}\n\nexport default addFavoriteButtonEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault, isValidEmail, setQueryParam, hasQueryParam, removeQueryParam } from 'core/utils';\n\nconst { tag } = window.frmDom;\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { showEmailAddressError, showLeaveEmailModal } from '../ui';\n\n/**\n * Manages event handling for the \"Get Templates\" button.\n *\n * @return {void}\n */\nfunction addGetFreeTemplatesEvents() {\n\tconst { leaveEmailModalButton, getFreeTemplatesBannerButton } = getElements();\n\n\tonClickPreventDefault( leaveEmailModalButton, onGetTemplatesButtonClick );\n\tonClickPreventDefault( getFreeTemplatesBannerButton, showLeaveEmailModal );\n}\n\n/**\n * Handles the click event on the \"Get Templates\" button.\n *\n * @private\n * @return {void}\n */\nconst onGetTemplatesButtonClick = async () => {\n\tconst { leaveEmailModalInput } = getElements();\n\tconst email = leaveEmailModalInput.value.trim();\n\n\t// Check if the email field is empty\n\tif ( ! email ) {\n\t\tshowEmailAddressError( 'empty' );\n\t\treturn;\n\t}\n\n\t// Check if the email is valid\n\tif ( ! isValidEmail( email ) ) {\n\t\tshowEmailAddressError( 'invalid' );\n\t\treturn;\n\t}\n\n\t// Disable the button\n\tconst { leaveEmailModalButton } = getElements();\n\tleaveEmailModalButton.style.setProperty( 'cursor', 'not-allowed' );\n\tleaveEmailModalButton.classList.add( 'frm_loading_button' );\n\n\tconst formData = new FormData();\n\tformData.append( 'email', email );\n\n\tlet data;\n\tconst { doJsonPost } = frmDom.ajax;\n\n\ttry {\n\t\tdata = await doJsonPost( 'get_free_templates', formData );\n\t} catch ( error ) {\n\t\tconsole.error( 'An error occurred:', error );\n\t\tshowFailedToGetTemplates();\n\t\treturn;\n\t}\n\n\tif ( ! data.success ) {\n\t\tshowFailedToGetTemplates();\n\t\treturn;\n\t}\n\n\tif ( hasQueryParam( 'free-templates' ) ) {\n\t\tremoveQueryParam( 'free-templates' );\n\t}\n\n\tsetQueryParam( 'registered-for-free-templates', '1' );\n\n\twindow.location.reload();\n};\n\n/**\n * Shows a message indicating that templates could not be retrieved.\n *\n * @private\n * @return {void}\n */\nfunction showFailedToGetTemplates() {\n\tconst { leaveEmailModal } = getElements();\n\n\tleaveEmailModal.querySelector( '.inside' ).replaceChildren(\n\t\ttag( 'p', __( 'Failed to get templates, please try again later.', 'formidable' ) )\n\t);\n\n\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n}\n\nexport default addGetFreeTemplatesEvents;\n","/**\n * External dependencies\n */\nimport { addCategoryEvents } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport addCreateFormButtonEvents from './createFormButtonListener';\nimport addFavoriteButtonEvents from './favoriteButtonListener';\nimport addUseTemplateButtonEvents from './useTemplateButtonListener';\nimport addSearchEvents from './searchListener';\nimport addCreateTemplateEvents from './createTemplateListeners';\nimport addGetFreeTemplatesEvents from './getFreeTemplatesListener';\nimport { showSelectedCategory } from '../ui';\n\n/**\n * Attaches event listeners for handling user interactions.\n *\n * @return {void}\n */\nexport function addEventListeners() {\n\taddCategoryEvents();\n\twp.hooks.addAction( 'frmPage.onCategoryClick', 'frmFormTemplates', selectedCategory => {\n\t\t// Display templates of the selected category\n\t\tshowSelectedCategory( selectedCategory );\n\t} );\n\n\taddCreateFormButtonEvents();\n\taddFavoriteButtonEvents();\n\taddUseTemplateButtonEvents();\n\taddSearchEvents();\n\taddCreateTemplateEvents();\n\taddGetFreeTemplatesEvents();\n}\n\nexport { addApplicationTemplateEvents } from './applicationTemplateListener';\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\nimport { resetSearchInput } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setSingleState, VIEW_SLUGS } from '../shared';\nimport { showSearchState, displaySearchElements } from '../ui';\n\nconst { init: initSearch } = window.frmDom.search;\n\n/**\n * Adds search-related event listeners by calling the 'initSearch' function.\n *\n * @see frmDom.search method\n * @return {void}\n */\nfunction addSearchEvents() {\n\tconst { searchInput, emptyStateButton } = getElements();\n\n\tinitSearch( searchInput, 'frm-card-item', { handleSearchResult } );\n\tonClickPreventDefault( emptyStateButton, onEmptyStateButtonClick );\n}\n\n/**\n * Manages UI state based on search results and input value.\n *\n * @private\n * @param {Object} args Contains flags for search status.\n * @param {boolean} args.foundSomething True if search yielded results.\n * @param {boolean} args.notEmptySearchText True if search input is not empty.\n * @param {Event} event The event object (input, search, or change event).\n * @return {void}\n */\nfunction handleSearchResult( { foundSomething, notEmptySearchText }, event ) {\n\t// Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events,\n\t// triggering this method twice on 'x' button click.\n\tif ( event && event.type === 'search' && event.target.value === '' ) {\n\t\treturn;\n\t}\n\n\tconst state = getState();\n\tconst { allItemsCategory } = getElements();\n\n\tsetSingleState( 'notEmptySearchText', notEmptySearchText );\n\n\t// Revert to 'All Templates' if search and selected category are both empty\n\tif ( ! state.notEmptySearchText && ! state.selectedCategory ) {\n\t\tallItemsCategory.dispatchEvent(\n\t\t\tnew Event( 'click', { bubbles: true } )\n\t\t);\n\n\t\treturn;\n\t}\n\n\t// Display search state if a category is selected\n\tif ( state.selectedCategory ) {\n\t\tshowSearchState( notEmptySearchText );\n\n\t\t// Setting \"selectedCategory\" to an empty string as a flag for search state\n\t\tif ( notEmptySearchText ) {\n\t\t\tsetSingleState( 'selectedCategory', '' );\n\t\t}\n\t}\n\n\tdisplaySearchElements( foundSomething, notEmptySearchText );\n}\n\n/**\n * Handles the click event on the empty state button.\n *\n * @private\n * @return {void}\n */\nconst onEmptyStateButtonClick = () => {\n\tconst { emptyState } = getElements();\n\tif ( VIEW_SLUGS.SEARCH !== emptyState.dataset?.view ) {\n\t\treturn;\n\t}\n\n\t// Set selectedCategory to '' as search state flag that triggers ALL_ITEMS category if search input is empty\n\t// @see handleSearchResult()\n\tsetSingleState( 'selectedCategory', '' );\n\tresetSearchInput();\n\n\tconst { searchInput } = getElements();\n\tsearchInput.focus();\n};\n\nexport default addSearchEvents;\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { PREFIX, setSingleState } from '../shared';\nimport { showLockedTemplateModal } from '../ui/';\nimport { isCustomTemplate, isLockedTemplate } from '../utils';\n\n/**\n * Manages event handling for use template buttons.\n *\n * @return {void}\n */\nfunction addUseTemplateButtonEvents() {\n\tconst useTemplateButtons = document.querySelectorAll( `.${ PREFIX }-use-template-button` );\n\n\t// Attach click event listeners to each use template button\n\tuseTemplateButtons.forEach( useTemplateButton =>\n\t\tuseTemplateButton.addEventListener( 'click', onUseTemplateButtonClick )\n\t);\n}\n\n/**\n * Handles the click event on the use template button.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onUseTemplateButtonClick = event => {\n\tconst useTemplateButton = event.currentTarget;\n\n\tconst template = useTemplateButton.closest( '.frm-card-item' );\n\tconst isLocked = isLockedTemplate( template );\n\tconst isTemplateCustom = isCustomTemplate( template );\n\n\t// Allow the default link behavior, if the template is custom and not locked\n\tif ( ! isLocked && isTemplateCustom ) {\n\t\treturn;\n\t}\n\n\t// Prevent the default link behavior for non-custom or locked templates\n\tevent.preventDefault();\n\n\t// Handle locked templates\n\tif ( isLocked ) {\n\t\tshowLockedTemplateModal( template );\n\t\treturn;\n\t}\n\n\t// Prepare for new template installation\n\tconst { newTemplateForm, newTemplateNameInput, newTemplateDescriptionInput, newTemplateLinkInput, newTemplateActionInput } = getElements();\n\tconst { installNewForm } = window.frmAdminBuild;\n\tconst templateName = template.querySelector( '.frm-form-template-name' ).textContent.trim();\n\tconst templateDescription = template.querySelector( '.frm-form-templates-item-description' ).textContent.trim();\n\tconst actionName = 'frm_install_template';\n\n\tnewTemplateNameInput.value = templateName;\n\tnewTemplateDescriptionInput.value = templateDescription;\n\tnewTemplateActionInput.value = actionName;\n\tnewTemplateLinkInput.value = useTemplateButton.href;\n\n\t// Install new form template\n\tinstallNewForm( newTemplateForm, actionName, useTemplateButton );\n};\n\nexport default addUseTemplateButtonEvents;\n","/**\n * Internal dependencies\n */\nimport { setupInitialView, initializeModal } from './ui';\nimport { buildCategorizedTemplates, maybeAddApplicationTemplates } from './templates';\nimport { addEventListeners } from './events';\n\n/**\n * Initializes form templates.\n *\n * @return {void}\n */\nfunction initializeFormTemplates() {\n\tmaybeAddApplicationTemplates();\n\tinitializeModal();\n\tbuildCategorizedTemplates();\n\tsetupInitialView();\n\taddEventListeners();\n}\n\nexport default initializeFormTemplates;\n","export const { canAccessApplicationDashboard, applicationsUrl } = window.frmGlobal;\nexport const { FEATURED_TEMPLATES_IDS, FREE_TEMPLATES_IDS, upgradeLink } = window.frmFormTemplatesVars;\n\nexport const PREFIX = 'frm-form-templates';\n\nexport const VIEW_SLUGS = {\n\tAVAILABLE_TEMPLATES: 'available-templates',\n\tFAVORITES: 'favorites',\n\tCUSTOM: 'custom',\n\tSEARCH: 'search'\n};\n\nexport const PLANS = {\n\tBASIC: 'basic',\n\tPLUS: 'plus',\n\tBUSINESS: 'business',\n\tELITE: 'elite',\n\tRENEW: 'renew',\n\tFREE: 'free'\n};\n\nexport const MODAL_SIZES = {\n\tGENERAL: '440px',\n\tCREATE_TEMPLATE: '550px'\n};\n","export * from './constants';\nexport * from './pageState';\n","/**\n * External dependencies\n */\nimport { getState, getSingleState, setState, setSingleState } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\nconst { templatesCount, favoritesCount, customCount } = window.frmFormTemplatesVars;\nconst { availableTemplateItems } = getElements();\nconst availableTemplatesCount = availableTemplateItems.length;\n\nsetState( {\n\tavailableTemplatesCount,\n\tcustomCount: Number( customCount ),\n\textraTemplatesCount: templatesCount - availableTemplatesCount,\n\tfavoritesCount,\n} );\n\nexport { getState, getSingleState, setState, setSingleState };\n","/**\n * Internal dependencies\n */\nimport { addApplicationTemplatesElement, createApplicationTemplates } from '../elements';\nimport { addApplicationTemplateEvents } from '../events';\nimport { canAccessApplicationDashboard } from '../shared';\n\n/**\n * Adds application templates if the user has dashboard access.\n *\n * @return {void}\n */\nexport function maybeAddApplicationTemplates() {\n\t// Exit if the user doesn't have permission to see application dashboard\n\tif ( ! canAccessApplicationDashboard ) {\n\t\treturn;\n\t}\n\n\tconst { doJsonFetch } = frmDom.ajax;\n\n\tdoJsonFetch( 'get_applications_data&view=templates' ).then( setupApplicationTemplates );\n}\n\n/**\n * Sets up application templates by creating HTML elements, injecting them into the DOM,\n * and adding event handlers.\n *\n * @private\n * @param {Object} data The data object containing information for application templates.\n * @return {void}\n */\nfunction setupApplicationTemplates( data ) {\n\t// Create application templates\n\tcreateApplicationTemplates( data.templates );\n\n\t// Inject templates into the DOM\n\taddApplicationTemplatesElement();\n\n\t// Set up event handling\n\taddApplicationTemplateEvents();\n}\n","/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\nexport const categorizedTemplates = {};\n\n/**\n * Builds a categorized list of templates.\n *\n * @return {void}\n */\nexport function buildCategorizedTemplates() {\n\tconst { templateItems } = getElements();\n\n\ttemplateItems.forEach( template => {\n\t\t// Extract and split the categories from data attribute\n\t\tconst categories = template.getAttribute( 'data-categories' ).split( ',' );\n\n\t\tcategories.forEach( category => {\n\t\t\t// Initialize the category array if not already done\n\t\t\tif ( ! categorizedTemplates[ category ] ) {\n\t\t\t\tcategorizedTemplates[ category ] = [];\n\t\t\t}\n\n\t\t\t// Add the template to the appropriate category\n\t\t\tcategorizedTemplates[ category ].push( template );\n\t\t} );\n\t} );\n}\n","export * from './categorizeTemplates';\nexport * from './applicationTemplates';\n","export { default as setupInitialView } from './setupInitialView';\nexport * from './initializeModal';\nexport * from './pageTitle';\nexport * from './showHeaderCancelButton';\nexport * from './showSelectedCategory';\nexport * from './searchState';\nexport * from './showEmptyState';\nexport * from './showModal';\nexport * from './showError';\n","/**\n * External dependencies\n */\nimport { hasQueryParam } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { MODAL_SIZES } from '../shared';\nimport { showLeaveEmailModal } from './';\n\nlet modalWidget = null;\n\n/**\n * Initialize the modal widget.\n *\n * @return {void}\n */\nexport async function initializeModal() {\n\tconst { initModal, offsetModalY } = window.frmAdminBuild;\n\n\tmodalWidget = initModal( '#frm-form-templates-modal', MODAL_SIZES.GENERAL );\n\n\t// Set the vertical offset for the modal\n\tif ( modalWidget ) {\n\t\toffsetModalY( modalWidget, '103px' );\n\t}\n\n\t// Show the email modal if the 'free-templates' query param is present\n\tif ( hasQueryParam( 'free-templates' ) ) {\n\t\tconst { leaveEmailModal } = getElements();\n\t\tif ( leaveEmailModal ) {\n\t\t\tshowLeaveEmailModal();\n\t\t}\n\t}\n\n\t// Customize the confirm modal appearance: adjusting its width and vertical position\n\twp.hooks.addAction( 'frmAdmin.beforeOpenConfirmModal', 'frmFormTemplates', options => {\n\t\tconst { $info: confirmModal } = options;\n\n\t\tconfirmModal.dialog( 'option', 'width', MODAL_SIZES.CREATE_TEMPLATE );\n\t\toffsetModalY( confirmModal, '103px' );\n\t} );\n}\n\n/**\n * Retrieve the modal widget.\n *\n * @return {Object|false} The modal widget or false.\n */\nexport function getModalWidget() {\n\treturn modalWidget;\n}\n","/**\n * External dependencies\n */\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState } from '../shared';\n\n/**\n * Sets the page title based on a given string or the currently selected category.\n *\n * @param {string} [title] Optional title to display.\n * @return {void}\n */\nexport function updatePageTitle( title ) {\n\tconst { pageTitleText } = getElements();\n\n\tconst newTitle =\n\t\ttitle ||\n\t\tgetSingleState( 'selectedCategoryEl' ).querySelector( `.${ SKELETON_PREFIX }-cat-text` ).textContent;\n\n\tpageTitleText.textContent = newTitle;\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { frmAnimate, showElements, hideElements, show, hide, isVisible } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState } from '../shared';\nimport { showSearchEmptyState, updatePageTitle } from '.';\n\n/**\n * Updates the UI to display the search state.\n *\n * @param {boolean} notEmptySearchText True if search input is not empty.\n * @return {void}\n */\nexport function showSearchState( notEmptySearchText ) {\n\tconst { bodyContent, bodyContentChildren, pageTitle, templatesList, applicationTemplates } = getElements();\n\tconst bodyContentAnimate = new frmAnimate( bodyContent );\n\n\t// Remove highlighting from the currently selected category if the search text is not empty\n\tif ( notEmptySearchText ) {\n\t\tgetSingleState( 'selectedCategoryEl' ).classList.remove( CURRENT_CLASS );\n\t}\n\n\t// Hide non-relevant elements in the body content\n\thideElements( bodyContentChildren );\n\n\t// Update the page title and display relevant elements\n\tupdatePageTitle( __( 'Search Result', 'formidable' ) );\n\tshowElements( [ pageTitle, templatesList, applicationTemplates ] );\n\n\t// Smoothly display the updated UI elements\n\tbodyContentAnimate.fadeIn();\n}\n\n/**\n * Displays search results based on search outcome.\n *\n * @param {boolean} foundSomething True if search yielded results.\n * @return {void}\n */\nexport function displaySearchElements( foundSomething ) {\n\t// Show empty state if no templates found\n\tif ( ! foundSomething ) {\n\t\tshowSearchEmptyState();\n\t\treturn;\n\t}\n\n\t// Hide empty state if currently displayed\n\tconst { emptyState } = getElements();\n\tif ( isVisible( emptyState ) ) {\n\t\tconst { pageTitle } = getElements();\n\t\thide( emptyState );\n\t\tshow( pageTitle );\n\t}\n\n\tconst { templatesList, applicationTemplates, applicationTemplatesTitle, applicationTemplatesList } = getElements();\n\n\tshowElements( [ templatesList, applicationTemplates, applicationTemplatesTitle ] );\n\n\tif ( templatesList.offsetHeight === 0 ) {\n\t\thideElements( [ templatesList, applicationTemplatesTitle ] );\n\t}\n\n\tif ( applicationTemplatesList?.offsetHeight === 0 ) {\n\t\thide( applicationTemplates );\n\t}\n}\n","/**\n * External dependencies\n */\nimport { HIDE_JS_CLASS } from 'core/constants';\nimport { frmAnimate, hasQueryParam, hideElements, removeParamFromHistory } from 'core/utils';\nimport { counter } from 'core/ui';\nimport { PREFIX as SKELETON_PREFIX } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getSingleState, FREE_TEMPLATES_IDS } from '../shared';\nimport { showHeaderCancelButton } from './';\n\n/**\n * Sets up the initial view, performing any required\n * DOM manipulations for proper element presentation.\n *\n * @return {void}\n */\nfunction setupInitialView() {\n\tconst {\n\t\tsidebar,\n\t\tsearchInput,\n\t\tbodyContent,\n\t\ttwinFeaturedTemplateItems,\n\t\tavailableTemplatesCategory,\n\t\textraTemplateCountElements\n\t} = getElements();\n\n\tconst bodyContentAnimate = new frmAnimate( bodyContent );\n\n\tsearchInput.value = '';\n\n\t// Hide the twin featured template items\n\thideElements( twinFeaturedTemplateItems );\n\n\tsetupAvailableTemplatesCategory( availableTemplatesCategory );\n\n\t// Update extra templates count\n\textraTemplateCountElements.forEach( element => element.textContent = getSingleState( 'extraTemplatesCount' ) );\n\n\t// Smoothly display the updated UI elements\n\tbodyContent.classList.remove( HIDE_JS_CLASS );\n\tsidebar.classList.remove( HIDE_JS_CLASS );\n\tbodyContentAnimate.fadeIn();\n\n\t// Show the \"Cancel\" button in the header if the 'return_page' query param is present\n\tif ( hasQueryParam( 'return_page' ) ) {\n\t\tshowHeaderCancelButton();\n\t}\n}\n\n/**\n * Sets up the 'Available Templates' category with proper count display\n *\n * @param {Element} availableTemplatesCategory The Available Templates category element\n * @return {void}\n */\nfunction setupAvailableTemplatesCategory( availableTemplatesCategory ) {\n\tif ( ! availableTemplatesCategory ) {\n\t\treturn;\n\t}\n\n\tconst availableTemplatesCount = getSingleState( 'availableTemplatesCount' );\n\tif ( ! hasQueryParam( 'registered-for-free-templates' ) ) {\n\t\tavailableTemplatesCategory.querySelector( `.${ SKELETON_PREFIX }-cat-count` ).textContent = availableTemplatesCount;\n\t\treturn;\n\t}\n\n\tremoveParamFromHistory( 'registered-for-free-templates' );\n\trunAvailableTemplatesEffects( availableTemplatesCategory, availableTemplatesCount );\n}\n\n/**\n * Runs effects for the Available Templates category when the\n * 'registered-for-free-templates' query parameter is present.\n *\n * @param {Element} element The Available Templates category element\n * @param {number} count The count of available templates\n * @return {void}\n */\nfunction runAvailableTemplatesEffects( element, count ) {\n\tsetTimeout( () => {\n\t\telement.dispatchEvent( new Event( 'click', { bubbles: true } ) );\n\t}, 0 );\n\n\tsetTimeout( () => {\n\t\tcounter( element.querySelector( `.${ SKELETON_PREFIX }-cat-count` ), count );\n\t}, 150 );\n\n\tsetTimeout( () => {\n\t\tconst { availableTemplateItems } = getElements();\n\t\tavailableTemplateItems.forEach( item => {\n\t\t\tif ( FREE_TEMPLATES_IDS.includes( Number( item.dataset.id ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.classList.add( 'frm-background-highlight' );\n\n\t\t\t// Remove class after animation completes to prevent restart\n\t\t\titem.addEventListener( 'animationend', function handleAnimationEnd( event ) {\n\t\t\t\tif ( event.animationName === 'backgroundHighlight' ) {\n\t\t\t\t\tthis.classList.remove( 'frm-background-highlight' );\n\t\t\t\t\tthis.removeEventListener( 'animationend', handleAnimationEnd );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}, 750 );\n}\n\nexport default setupInitialView;\n","/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { showElements, hideElements, show, hide } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { VIEW_SLUGS, getState } from '../shared';\n\n/**\n * Display the search-empty state.\n *\n * @return {void}\n */\nexport function showSearchEmptyState() {\n\tconst { notEmptySearchText } = getState();\n\tconst { pageTitle, emptyState, emptyStateButton, applicationTemplates } = getElements();\n\n\t// Toggle visibility and remove attributes based on search status\n\tif ( VIEW_SLUGS.SEARCH === emptyState.dataset?.view ) {\n\t\tif ( notEmptySearchText ) {\n\t\t\tshow( emptyState );\n\t\t\thideElements( [ pageTitle, applicationTemplates ] );\n\t\t} else {\n\t\t\thide( emptyState );\n\t\t\temptyState.removeAttribute( 'data-view' );\n\t\t}\n\n\t\treturn;\n\t}\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.SEARCH );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\temptyStateTitle.textContent = __( 'No templates found', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'Sorry, we didn\\'t find any templates that match your criteria.',\n\t\t'formidable'\n\t);\n\temptyStateButton.textContent = __( 'Start from Scratch', 'formidable' );\n\n\t// Display the empty state\n\thideElements( [ pageTitle, applicationTemplates ] );\n\tshowElements( [ emptyState, emptyStateButton ] );\n}\n\n/**\n * Display the favorites-empty state.\n *\n * @return {void}\n */\nexport function showFavoritesEmptyState() {\n\tconst { pageTitle, emptyState, emptyStateButton } = getElements();\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.FAVORITES );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\temptyStateTitle.textContent = __( 'No favorites', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'You haven\\'t added any templates to your favorites yet.',\n\t\t'formidable'\n\t);\n\n\t// Display the empty state\n\thideElements( [ pageTitle, emptyStateButton ] );\n\tshow( emptyState );\n}\n\n/**\n * Display the custom-empty state.\n *\n * @return {void}\n */\nexport function showCustomTemplatesEmptyState() {\n\tconst { pageTitle, emptyState, emptyStateButton } = getElements();\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.CUSTOM );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\temptyStateTitle.textContent = __( 'You currently have no templates.', 'formidable' );\n\temptyStateText.textContent = __(\n\t\t'You haven\\'t created any form templates. Begin now to simplify your workflow and save time.',\n\t\t'formidable'\n\t);\n\temptyStateButton.textContent = __( 'Create Template', 'formidable' );\n\n\t// Display the empty state\n\thide( pageTitle );\n\tshowElements( [ emptyState, emptyStateButton ] );\n}\n\n/**\n * Display the available-templates-empty state.\n *\n * @return {void}\n */\nexport function showAvailableTemplatesEmptyState() {\n\tconst { pageTitle, emptyState, emptyStateButton } = getElements();\n\n\t// Assign state attributes\n\temptyState.setAttribute( 'data-view', VIEW_SLUGS.AVAILABLE_TEMPLATES );\n\n\t// Update text content\n\tconst { emptyStateTitle, emptyStateText } = getElements();\n\tconst { extraTemplatesCount } = getState();\n\temptyStateTitle.textContent = __( 'No Templates Available', 'formidable' );\n\temptyStateText.textContent = sprintf(\n\t\t// translators: %s is the number of extra templates available\n\t\t__( 'Upgrade to PRO for %s+ options or explore Free Templates.', 'formidable' ),\n\t\textraTemplatesCount\n\t);\n\n\t// Display the empty state\n\thideElements( [ pageTitle, emptyStateButton ] );\n\tshow( emptyState );\n}\n","/**\n * External dependencies\n */\nimport { showFormError } from 'core/utils';\n\n/**\n * Displays errors related to the email address field.\n *\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @return {void}\n */\nexport const showEmailAddressError = type => {\n\tshowFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n};\n","/**\n * External dependencies\n */\nimport { frmAnimate } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\n\n/**\n * Display the \"Cancel\" button in the header.\n *\n * @return {void}\n */\nexport function showHeaderCancelButton() {\n\tconst { headerCancelButton } = getElements();\n\tnew frmAnimate( headerCancelButton ).fadeIn();\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * External dependencies\n */\nimport { hideElements, show } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { MODAL_SIZES, PLANS, upgradeLink } from '../shared';\nimport { getModalWidget } from './';\n\n/**\n * Display the locked template modal.\n *\n * @param {HTMLElement} template The template element.\n * @return {void}\n */\nexport function showLockedTemplateModal( template ) {\n\tconst plan = template.dataset.requiredPlan;\n\n\tswitch ( plan ) {\n\t\tcase PLANS.BASIC:\n\t\tcase PLANS.PLUS:\n\t\tcase PLANS.BUSINESS:\n\t\tcase PLANS.ELITE:\n\t\t\tshowUpgradeModal( plan, template );\n\t\t\tbreak;\n\t\tcase PLANS.RENEW:\n\t\t\tshowRenewAccountModal();\n\t\t\tbreak;\n\t\tcase PLANS.FREE:\n\t\t\tshowLeaveEmailModal();\n\t\t\tbreak;\n\t}\n}\n\n/**\n * Base function to show a modal dialog with a customizable pre-open execution step.\n *\n * @param {Function} executePreOpen The function to be executed before opening the modal dialog.\n * @return {Function} A higher-order function that can be invoked to display the modal dialog.\n */\nconst showModal = executePreOpen => async ( ...params ) => {\n\tconst dialogWidget = getModalWidget();\n\tif ( ! dialogWidget ) {\n\t\treturn;\n\t}\n\n\tconst { modalItems } = getElements();\n\thideElements( modalItems );\n\n\tdialogWidget.dialog( 'option', 'width', MODAL_SIZES.GENERAL );\n\tawait executePreOpen?.( ...params );\n\tdialogWidget.dialog( 'open' );\n};\n\n// Mapping each plan to the subsequent plans it can upgrade to\nconst upgradablePlans = {\n\tbasic: [ 'basic', 'plus', 'business', 'elite' ],\n\tplus: [ 'plus', 'business', 'elite' ],\n\tbusiness: [ 'business', 'elite' ],\n\telite: [ 'elite' ]\n};\n\n/**\n * Display the modal dialog to prompt the user to upgrade their account.\n *\n * @param {string} plan Current plan name\n * @param {HTMLElement} template The template element\n * @return {void}\n */\nexport const showUpgradeModal = showModal( ( plan, template ) => {\n\tconst templateName = template.querySelector( '.frm-form-template-name' ).textContent.trim();\n\tconst { upgradeModal, upgradeModalTemplateNames, upgradeModalPlansIcons, upgradeModalLink } = getElements();\n\n\t// Update template names\n\tupgradeModalTemplateNames.forEach( element => element.textContent = templateName );\n\n\t// Update plan icons and their availability\n\tupgradeModalPlansIcons.forEach( icon => {\n\t\tconst planType = icon.dataset.plan;\n\t\tconst shouldDisplayCheck = upgradablePlans[ plan ].includes( planType );\n\n\t\t// Toggle icon class based on plan availability\n\t\ticon.classList.toggle( 'frm_green', shouldDisplayCheck );\n\n\t\t// Update SVG icon\n\t\tconst svg = icon.querySelector( 'svg > use' );\n\t\tsvg.setAttribute( 'xlink:href', shouldDisplayCheck ? '#frm_checkmark_icon' : '#frm_close_icon' );\n\t} );\n\n\t// Append template slug to the upgrade modal link URL\n\tconst templateSlug = template.dataset.slug ? `-${ template.dataset.slug }` : '';\n\tupgradeModalLink.href = upgradeLink + templateSlug;\n\n\tshow( upgradeModal );\n} );\n\n/**\n * Display the modal dialog to prompt the user to renew their account.\n *\n * @return {void}\n */\nexport const showRenewAccountModal = showModal( () => {\n\tconst { renewAccountModal } = getElements();\n\tshow( renewAccountModal );\n} );\n\n/**\n * Display the modal dialog to prompt the user to leave an email.\n *\n * @return {void}\n */\nexport const showLeaveEmailModal = showModal( () => {\n\tconst { leaveEmailModal } = getElements();\n\tshow( leaveEmailModal );\n} );\n\n/**\n * Displays a modal dialog prompting the user to create a new template.\n *\n * @return {void}\n */\nexport const showCreateTemplateModal = showModal( () => {\n\tconst dialogWidget = getModalWidget();\n\tdialogWidget.dialog( 'option', 'width', MODAL_SIZES.CREATE_TEMPLATE );\n\n\tconst { createTemplateModal } = getElements();\n\tshow( createTemplateModal );\n} );\n","/**\n * External dependencies\n */\nimport { showElements, hideElements, show, hide } from 'core/utils';\nimport { VIEWS as SKELETON_VIEWS } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { PREFIX, VIEW_SLUGS, getState } from '../shared';\nimport { isFavoriteTemplate } from '../utils';\nimport { categorizedTemplates } from '../templates';\nimport { updatePageTitle, showFavoritesEmptyState, showCustomTemplatesEmptyState, showAvailableTemplatesEmptyState } from './';\n\n/**\n * Show templates based on selected category.\n *\n * @param {string} selectedCategory The selected category to display templates for.\n * @return {void}\n */\nexport function showSelectedCategory( selectedCategory ) {\n\tconst { bodyContentChildren, pageTitle, showCreateTemplateModalButton, templatesList, templateItems, upsellBanner } = getElements();\n\n\tif ( SKELETON_VIEWS.ALL_ITEMS !== selectedCategory ) {\n\t\thideElements( bodyContentChildren );\n\t}\n\n\tupdatePageTitle();\n\thide( showCreateTemplateModalButton );\n\tshow( pageTitle );\n\n\tswitch ( selectedCategory ) {\n\t\tcase SKELETON_VIEWS.ALL_ITEMS:\n\t\t\tshowAllTemplates();\n\t\t\tbreak;\n\t\tcase VIEW_SLUGS.AVAILABLE_TEMPLATES:\n\t\t\tshowAvailableTemplates();\n\t\t\tbreak;\n\t\tcase VIEW_SLUGS.FAVORITES:\n\t\t\tshowFavoriteTemplates();\n\t\t\tbreak;\n\t\tcase VIEW_SLUGS.CUSTOM:\n\t\t\tshowCustomTemplates();\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thideElements( templateItems ); // Clear the view for new content\n\t\t\tshowElements( [ upsellBanner, templatesList, ...categorizedTemplates[ selectedCategory ] ] );\n\t\t\tbreak;\n\t}\n}\n\n/**\n * Shows all templates when 'All Templates' is the selected category.\n *\n * @return {void}\n */\nexport function showAllTemplates() {\n\tconst {\n\t\tbodyContentChildren,\n\t\tpageTitleDivider,\n\t\ttemplateItems,\n\t\ttwinFeaturedTemplateItems,\n\t\tcustomTemplatesSection,\n\t\temptyState,\n\t\tapplicationTemplates\n\t} = getElements();\n\n\tshowElements( [ ...bodyContentChildren, ...templateItems ] );\n\thideElements( [ pageTitleDivider, ...twinFeaturedTemplateItems, customTemplatesSection, emptyState, applicationTemplates ] );\n}\n\n/**\n * Shows favorite templates.\n *\n * @return {void}\n */\nexport function showFavoriteTemplates() {\n\tconst { favoritesCount } = getState();\n\n\tif ( 0 === favoritesCount.total ) {\n\t\tshowFavoritesEmptyState();\n\t\treturn;\n\t}\n\n\tconst {\n\t\tbodyContent,\n\t\ttemplatesList,\n\t\ttemplateItems,\n\t\tcustomTemplatesSection,\n\t\tcustomTemplatesTitle,\n\t\tcustomTemplatesList,\n\t\tcustomTemplateItems\n\t} = getElements();\n\n\t// Clear the view for new content\n\thideElements( templateItems );\n\n\tconst elementsToShow = [];\n\n\t// Get all favorite items from the DOM and add the elements to show\n\tconst favoriteItems = bodyContent.querySelectorAll( `.${ PREFIX }-favorite-item` );\n\telementsToShow.push( ...favoriteItems );\n\n\t// Add default favorites if available\n\tif ( favoritesCount.default > 0 ) {\n\t\telementsToShow.push( templatesList );\n\t}\n\n\t// Add custom favorites if available\n\tif ( favoritesCount.custom > 0 ) {\n\t\tconst nonFavCustomTemplates = Array.from( customTemplateItems ).filter(\n\t\t\ttemplate => ! isFavoriteTemplate( template )\n\t\t);\n\n\t\thideElements( nonFavCustomTemplates );\n\t\telementsToShow.push( customTemplatesSection );\n\t\telementsToShow.push( customTemplatesList );\n\n\t\tif ( 0 === favoritesCount.default ) {\n\t\t\thide( customTemplatesTitle );\n\t\t} else {\n\t\t\telementsToShow.push( customTemplatesTitle );\n\t\t}\n\t}\n\n\t// Show elements that were selected to be shown\n\tshowElements( elementsToShow );\n}\n\n/**\n * Shows custom templates.\n *\n * @return {void}\n */\nexport function showCustomTemplates() {\n\tconst { customCount } = getState();\n\n\tif ( 0 === customCount ) {\n\t\tshowCustomTemplatesEmptyState();\n\t\treturn;\n\t}\n\n\tconst {\n\t\tshowCreateTemplateModalButton,\n\t\tpageTitleDivider,\n\t\tcustomTemplatesSection,\n\t\tcustomTemplatesList,\n\t\tcustomTemplatesTitle,\n\t\tcustomTemplateItems\n\t} = getElements();\n\n\thide( customTemplatesTitle );\n\tshowElements( [ showCreateTemplateModalButton, pageTitleDivider, customTemplatesSection, customTemplatesList, ...customTemplateItems ] );\n}\n\n/**\n * Shows available templates.\n *\n * @return {void}\n */\nexport function showAvailableTemplates() {\n\tconst { availableTemplatesCount } = getState();\n\n\tif ( 0 === availableTemplatesCount ) {\n\t\tshowAvailableTemplatesEmptyState();\n\t\treturn;\n\t}\n\n\tconst { templatesList, templateItems, availableTemplateItems, upsellBanner } = getElements();\n\n\thideElements( templateItems ); // Clear the view for new content\n\tshowElements( [ upsellBanner, templatesList, ...availableTemplateItems ] );\n}\n\nexport default showSelectedCategory;\n","export * from './validation';\n","/**\n * External dependencies\n */\nimport { isHTMLElement } from 'core/utils';\nimport { VIEWS as SKELETON_VIEWS } from 'core/page-skeleton';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX, VIEW_SLUGS, FEATURED_TEMPLATES_IDS } from '../shared';\n\n/**\n * Checks if the category is \"All Templates\".\n *\n * @param {string} category The category slug.\n * @return {boolean} True if the category is \"All Templates\", otherwise false.\n */\nexport const isAllTemplatesCategory = category => SKELETON_VIEWS.ALL_ITEMS === category;\n\n/**\n * Checks if the category is \"Favorites\".\n *\n * @param {string} category The category slug.\n * @return {boolean} True if the category is \"Favorites\", otherwise false.\n */\nexport const isFavoritesCategory = category => VIEW_SLUGS.FAVORITES === category;\n\n/**\n * Checks if the category is \"Custom\".\n *\n * @param {string} category The category slug.\n * @return {boolean} True if the category is \"Custom\", otherwise false.\n */\nexport const isCustomCategory = category => VIEW_SLUGS.CUSTOM === category;\n\n/**\n * Checks if a template is a favorite.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is a favorite, otherwise false.\n */\nexport const isFavoriteTemplate = template =>\n\tisHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-favorite-item` ) : false;\n\n/**\n * Checks if a template is custom.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is custom, otherwise false.\n */\nexport const isCustomTemplate = template =>\n\tisHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-custom-item` ) : false;\n\n/**\n * Checks if a template is featured.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is featured, otherwise false.\n */\nexport const isFeaturedTemplate = template =>\n\tisHTMLElement( template ) ? FEATURED_TEMPLATES_IDS.includes( Number( template.dataset.id ) ) : false;\n\n/**\n * Checks if a template is locked.\n *\n * @param {HTMLElement} template The template element.\n * @return {boolean} True if the template is locked, otherwise false.\n */\nexport const isLockedTemplate = template =>\n\tisHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-locked-item` ) : false;\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { getState, setState } from './shared';\nimport initializeFormTemplates from './initializeFormTemplates';\n\ndomReady( () => {\n\t/**\n\t * Entry point for pre-initialization adjustments to the page state.\n\t *\n\t * @param {Object} state Current state of the page.\n\t */\n\twp.hooks.doAction( 'frmFormTemplates.beforeInitialize', {\n\t\tgetState,\n\t\tsetState\n\t} );\n\n\t// Initialize the form templates\n\tinitializeFormTemplates();\n\n\t/**\n\t * Entry point for post-initialization custom logic or adjustments to the page state.\n\t *\n\t * @param {Object} state Current state of the page.\n\t */\n\twp.hooks.doAction( 'frmFormTemplates.afterInitialize', {\n\t\tgetState,\n\t\tsetState\n\t} );\n\n\t/**\n\t * Trigger a specific action to interact with the hidden form '#frm-new-template',\n\t * which is used for creating or using a form template.\n\t *\n\t * @param {HTMLElement} $form The jQuery object containing the hidden form element.\n\t */\n\twp.hooks.doAction( 'frm_new_form_modal_form', jQuery( '#frm-new-template' ) );\n} );\n"],"names":["_window$frmGlobal","window","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","createPageElements","initialElements","arguments","length","undefined","_typeof","Error","elements","getElements","addElements","newElements","_objectSpread","createPageState","initialState","state","getState","getSingleState","propertyName","value","Reflect","get","setState","newState","setSingleState","has","set","PREFIX","SEARCH_RESULT_ITEM","VIEWS","ALL_ITEMS","createEmptyStateElement","getEmptyStateElements","bodyContent","document","getElementById","sidebar","concat","emptyState","appendChild","emptyStateElements","_createPageElements","searchInput","querySelector","categoryItems","querySelectorAll","allItemsCategory","__","_window$frmDom","frmDom","tag","div","a","img","button","className","setAttribute","id","children","src","alt","emptyStateTitle","emptyStateText","emptyStateButton","onClickPreventDefault","frmAnimate","resetSearchInput","addCategoryEvents","_getElements","forEach","category","onCategoryClick","addEventListener","onCategoryKeydown","event","clickedCategory","currentTarget","newSelectedCategory","getAttribute","_getState","selectedCategory","selectedCategoryEl","notEmptySearchText","wp","hooks","applyFilters","classList","remove","add","doAction","_getElements2","fadeIn","key","preventDefault","dispatchEvent","Event","bubbles","_createPageState","span","addProgressToCardBoxes","cardBoxes","Array","isArray","console","warn","element","index","contains","progressBar","widthPercentage","style","width","progressBarContainer","child","insertAdjacentElement","counter","options","targetElement","HTMLElement","targetValue","parseInt","isNaN","setElementValueAndReturn","_options$duration","duration","_options$easing","easing","easeOutQuart","startValue","textContent","change","_counterAnimation","cancelAnimationFrame","requestAnimationFrame","timestamp","animateCounter","String","_counterStartTime","_counterLastTimestamp","_counterFrameDropCount","_counterLastValue","frameDelta","elapsed","transition","Math","max","progress","min","easedProgress","currentValue","round","prop","removeProperty","t","pow","default","type","_classCallCheck","prepareElements","_createClass","_this","applyStyleToElements","resetOpacity","once","cascadeFadeIn","_this2","delay","setTimeout","transitionDelay","_this3","opacity","callback","Element","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","_frmDom","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","documentOn","doJsonPost","ajax","p","args","bold","URL","location","href","urlParams","searchParams","getQueryParam","paramName","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","includes","_defineProperty","history","hasQueryParam","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","SKELETON_PREFIX","applicationsUrl","applicationTemplates","thumbnailBaseURL","createApplicationTemplates","applications","templateItems","map","template","createTemplateItem","text","name","hasLiteThumbnail","isWebp","thumbnailURL","data","toLowerCase","addApplicationTemplatesElement","applicationTemplatesTitle","applicationTemplatesList","applicationTemplateItems","VIEW_SLUGS","templatesList","customTemplatesSection","favoritesCategory","FAVORITES","headerCancelButton","_document$getElementB","createFormButton","pageTitle","pageTitleText","pageTitleDivider","upsellBanner","_document$getElementB2","extraTemplateCountElements","availableTemplateItems","twinFeaturedTemplateItems","featuredTemplatesList","customTemplateItems","customTemplatesTitle","customTemplatesList","favoritesCategoryCountEl","availableTemplatesCategory","AVAILABLE_TEMPLATES","getFreeTemplatesBannerButton","modalItems","showCreateTemplateModalButton","createTemplateModal","createTemplateFormsDropdown","createTemplateName","createTemplateDescription","createTemplateButton","renewAccountModal","leaveEmailModal","leaveEmailModalInput","leaveEmailModalButton","upgradeModal","upgradeModalTemplateNames","upgradeModalPlansIcons","upgradeModalLink","newTemplateForm","newTemplateNameInput","newTemplateDescriptionInput","newTemplateLinkInput","newTemplateActionInput","bodyContentChildren","addApplicationTemplateEvents","onApplicationTemplateClick","target","closest","applicationTemplate","dataset","addCreateFormButtonEvents","onCreateFormButtonClick","installNewForm","frmAdminBuild","showCreateTemplateModal","isCustomCategory","addCreateTemplateEvents","onShowCreateTemplateModalButtonClick","onFormsSelectChange","onCreateTemplateButtonClick","formsSelect","formId","toggleDisableModalElements","selectedOption","selectedIndex","formDescription","description","trim","formName","templateString","endsWith","_getElements3","shouldDisable","_getElements4","disabled","toggle","actionName","_getElements5","showFavoritesEmptyState","isFavoriteTemplate","isCustomTemplate","isFeaturedTemplate","isFavoritesCategory","FAVORITE_BUTTON_CLASS","HEART_ICON_SELECTOR","FILLED_HEART_ICON","LINEAR_HEART_ICON","OPERATION","ADD","REMOVE","addFavoriteButtonEvents","favoriteButtons","favoriteButton","onFavoriteButtonClick","_twinFeaturedTemplate","templateId","isFavorited","isTemplateCustom","isTemplateFeatured","twinFeaturedTemplate","templateList","favoritesCount","currentOperation","heartIcon","twinTemplateHeartIcon","total","custom","updateFavoriteTemplate","operation","isCustom","formData","FormData","append","_regeneratorRuntime","e","r","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","apply","_next","_throw","showEmailAddressError","showLeaveEmailModal","addGetFreeTemplatesEvents","onGetTemplatesButtonClick","_ref","_callee","_callee$","_context","setProperty","t0","error","showFailedToGetTemplates","success","reload","replaceChildren","addUseTemplateButtonEvents","addSearchEvents","showSelectedCategory","addEventListeners","addAction","showSearchState","displaySearchElements","initSearch","init","handleSearchResult","onEmptyStateButtonClick","foundSomething","_emptyState$dataset","SEARCH","view","focus","showLockedTemplateModal","isLockedTemplate","useTemplateButtons","useTemplateButton","onUseTemplateButtonClick","isLocked","templateName","templateDescription","setupInitialView","initializeModal","buildCategorizedTemplates","maybeAddApplicationTemplates","initializeFormTemplates","canAccessApplicationDashboard","_window$frmFormTempla","frmFormTemplatesVars","FEATURED_TEMPLATES_IDS","FREE_TEMPLATES_IDS","upgradeLink","CUSTOM","PLANS","BASIC","PLUS","BUSINESS","ELITE","RENEW","FREE","MODAL_SIZES","GENERAL","CREATE_TEMPLATE","templatesCount","customCount","availableTemplatesCount","Number","extraTemplatesCount","doJsonFetch","setupApplicationTemplates","templates","categorizedTemplates","categories","split","modalWidget","_initializeModal","_window$frmAdminBuild","initModal","offsetModalY","confirmModal","$info","dialog","getModalWidget","updatePageTitle","title","newTitle","showSearchEmptyState","bodyContentAnimate","offsetHeight","showHeaderCancelButton","setupAvailableTemplatesCategory","runAvailableTemplatesEffects","count","item","handleAnimationEnd","animationName","removeEventListener","sprintf","removeAttribute","showCustomTemplatesEmptyState","_getElements6","showAvailableTemplatesEmptyState","_getElements7","_getElements8","_getState2","plan","requiredPlan","showUpgradeModal","showRenewAccountModal","showModal","executePreOpen","dialogWidget","_len","params","_key","_args","upgradablePlans","basic","plus","business","elite","icon","planType","shouldDisplayCheck","templateSlug","slug","SKELETON_VIEWS","showAllTemplates","showAvailableTemplates","showFavoriteTemplates","showCustomTemplates","_toConsumableArray","elementsToShow","favoriteItems","nonFavCustomTemplates","filter","_getState3","isAllTemplatesCategory","domReady","jQuery"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable-settings-components.js b/js/formidable-settings-components.js index 69c8f6a0d0..b6b59fdad1 100644 --- a/js/formidable-settings-components.js +++ b/js/formidable-settings-components.js @@ -1 +1,2808 @@ -(()=>{"use strict";var e=window.frmGlobal,t=(e.url,e.nonce,"frm_hidden"),n="frm_disabled",i=(Promise.resolve(),frmDom),r=(i.div,i.span,i.tag,i.a,i.img,i.svg,frmDom.modal),a=(r.maybeCreateModal,r.footerButton,frmDom.util),o=(a.onClickPreventDefault,a.documentOn);frmDom.ajax.doJsonPost;var l=(new URL(window.location.href).searchParams,function(e){return null==e?void 0:e.classList.remove(t)});function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function c(e,t){for(var n=0;n=r)){var a=i.querySelector("select").value,o=this.calculateValue(r,n,this.getMaxValue(a,t));i.querySelector('.frm-slider-value input[type="text"]').value=o,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=o,i.querySelector(".frm-slider-active-track").style.width="".concat(n,"px"),this.initChildSlidersWidth(i,n,t,o+a),this.options[t].translateX=n,this.options[t].value=o+a,this.options[t].fullValue=this.updateValue(i,this.options[t].value),this.valueChangeDebouncer(t)}}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e,t){!1!==this.options[e].dragging&&(t.target.classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var n=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');n instanceof NodeList?n.forEach(function(n){n.dispatchEvent(t.eventsChange[e])}):n.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"calculateValue",value:function(e,t,n){var i=Math.ceil(this.sliderBulletWidth*(t/e)),r=Math.ceil((t+i)/e*n);return Math.min(r,n)}},{key:"updateValue",value:function(e,t){var n=this;if(e.classList.contains("frm-base-font-size")){var i=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==i&&(i.value="true")}if(e.classList.contains("frm-has-multiple-values")){var r=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),a=r.value.split(" "),o=e.dataset.type;switch(a[2]||(a[2]="0px"),a[3]||(a[3]="0px"),o){case"vertical":a[0]=t,a[2]=t;break;case"horizontal":a[1]=t,a[3]=t;break;case"top":a[0]=t;break;case"bottom":a[2]=t;break;case"left":a[3]=t;break;case"right":a[1]=t}var l=a.join(" ");return r.value=l,this.getSliderGroupItems(e).forEach(function(e){var i=n.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=i}),l}if(e.classList.contains("frm-has-independent-fields")){var s=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),c=e.querySelectorAll('.frm-slider-value input[type="text"]');return s.forEach(function(e,n){e.value=t,c[n+1].value=parseInt(t,10)}),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find(function(t){return e.includes(t)})||""}}])&&y(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n}();function S(e){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S(e)}function k(e,t){for(var n=0;n li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,n){t.addEventListener("click",function(t){return e.onNavClick(t,n)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var n=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),n.classList.add("frm-active"),this.initSlideTrackUnderline(n,t),this.changeSlide(t);var i,r,a=n.querySelector("a");a&&"frm_insert_fields_tab"===a.id&&!a.closest("#frm_adv_info")&&(null===(i=window.frmAdminBuild)||void 0===i||null===(r=i.clearSettingsBox)||void 0===r||r.call(i))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var n=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(n)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var n=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(n,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&k(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function L(e){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(e)}function q(e,t){for(var n=0;n0))return e.style.paddingLeft="",e.style.paddingTop="",void(e.style.height="");var i=t.offsetHeight;if(Math.max(1,Math.ceil(i/36))>1){var r=function(e){if(!e.length)return 0;var t=0;return e.forEach(function(e){t+=e.offsetWidth}),(t+=4*(e.length-1))+4}(function(e){if(!e.length)return[];var t=Array.from(e),n=-1;t.forEach(function(e){var t=e.getBoundingClientRect().bottom;t>n&&(n=t)});return t.filter(function(e){var t=e.getBoundingClientRect();return Math.abs(t.bottom-n)<=2})}(n));e.style.height="".concat(i,"px"),e.style.paddingTop="".concat(i-36+4,"px"),e.style.paddingLeft=r?"".concat(r+8,"px"):""}else e.style.height="",e.style.paddingTop="",e.style.paddingLeft="".concat(t.offsetWidth-4,"px")}}function B(e,t,n){e&&n&&t&&(n.innerHTML="",N(e).forEach(function(e){return function(e,t){var n=j({className:O,children:[j({text:e,className:_}),j({className:P,child:D({href:"#frm_close_icon"})})]});t.appendChild(n)}(e,n)}),M(t,n),t.focus())}function F(e,t,n){if(!e||!t||!n)return!1;var i=N(t.value);return i.includes(e)?(z(n),!1):(i.push(e),U(t,i),z(n),!0)}function X(e,t,n){if(e&&t&&n){var i=e.querySelector(".".concat(_)).textContent;U(t,N(t.value).filter(function(e){return e!==i})),e.remove(),n.focus()}}function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(e=e.trim())?e.split(/\s+/).filter(Boolean):[]}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e&&(e.value=t.join(" "),jQuery(e).trigger("change"))}function z(e){e&&(e.value="",e.focus())}function G(e){var n=(e?document.getElementById("frm-single-settings-".concat(e)):document.body).querySelectorAll(".".concat("frm-token-input-field"));if(n.length){var i=new Set;n.forEach(function(e){i.has(e.id)||(function(e){var n=function(e){var n=e.closest(".".concat("frm-with-right-icon"));if(n.querySelector(".".concat(T)))return null;n.classList.add(A);var i=j({className:T});n.insertBefore(i,n.firstChild);var r=I("input",{className:V,id:"".concat(e.id,"-proxy-input")});return r.type="text",e.parentNode.insertBefore(r,e.nextSibling),e.classList.add(t),n}(e);if(n){var i=n.querySelector(".".concat(V)),r=n.querySelector(".".concat(T));B(e.value,i,r),function(e,t,n){jQuery(e).on("change",function(){return B(e.value,t,n)}),t.addEventListener("keydown",function(i){return function(e,t,n,i){var r=e.key,a=n.value.trim();switch(r){case"Backspace":a||(e.preventDefault(),X(i.querySelector(".".concat(O,":last-child")),t,n));break;case" ":case",":case"Enter":e.preventDefault(),F(a,t,n)}M(n,i)}(i,e,t,n)}),t.addEventListener("blur",function(){return F(t.value.trim(),e,t)}),n.addEventListener("click",function(n){return function(e,t,n){var i=e.target.closest(".".concat(P));if(i){var r=i.closest(".".concat(O));if(r){var a=r.parentElement;X(r,t,n),M(n,a)}}}(n,e,t)})}(e,i,r)}}(e),i.add(e.id))})}}var J,H="frm-toggle-group",Q="frm_toggle_block",K="data-group-name";function Y(e){var t=e.target,n=t.closest(".".concat(H));n&&Z(t,n)}function Z(e,i){var r,a=(null===(r=i.closest(".".concat("frm-single-settings")))||void 0===r?void 0:r.dataset.fid)||i.dataset.fid,o=e.checked,l=e.getAttribute("data-show");l&&document.querySelectorAll($(l,a)).forEach(function(e){return e.classList.toggle(t,!o)});var s=e.getAttribute("data-disable");s&&document.querySelectorAll($(s,a)).forEach(function(e){e.classList.toggle(n,o),e.querySelectorAll("input, select, textarea").forEach(function(e){return e.disabled=o}),e.querySelectorAll(".frm-show-inline-modal[tabindex]").forEach(function(e){return e.tabIndex=o?-1:0})});var c=e.getAttribute("data-enable");c&&document.querySelectorAll($(c,a)).forEach(function(e){return e.classList.toggle(n,!o)});var u=e.closest(".".concat(Q));Array.from(i.querySelectorAll(".".concat(Q))).filter(function(e){return e!==u}).forEach(function(e){e.classList.toggle(n,o);var t=e.querySelector(".frm_toggle");t.tabIndex=o?-1:0,t.setAttribute("aria-disabled",o)})}function $(e,t){return e.replace(/{id}/g,t)}function ee(e){var t=e.target.closest(".frm-unit-input"),n=t.querySelector(".frm-unit-input-control"),i=t.querySelector("select").value;e.target.matches("select")&&(n.type=""===i?"text":"number");var r=n.value.trim();t.querySelector('input[type="hidden"]').value=""!==r?r+i:""}J=function(){var e,t;new d,new b,new C,null===(t=document.getElementById("frm-form-add-field"))||void 0===t||t.addEventListener("click",function(e){var t;e.preventDefault(),null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click()}),G(),document.addEventListener("frm_added_field",function(e){return G(e.frmField.dataset.fid)}),document.addEventListener("frm_ajax_loaded_field",function(e){return e.frmFields.forEach(function(e){return G(e.id)})}),wp.hooks.addAction("frmShowedFieldSettings","formidable-token-input",R),(e=document.querySelectorAll(".".concat(H))).length&&e.forEach(function(e){var t=e.querySelector("[".concat(K,"]:checked"));t&&Z(t,e)}),o("change",".".concat(H," [").concat(K,"]"),Y),o("change",".frm-unit-input .frm-unit-input-control",ee),o("change",".frm-unit-input select",ee)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",J):J())})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/index.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./js/src/admin/components/dependent-updater-component.js": +/*!****************************************************************!*\ + !*** ./js/src/admin/components/dependent-updater-component.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmStyleDependentUpdaterComponent) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview. + * The names of the elements that will be updated are specified using the "will-change" attribute. + * It is primarily used in components from Style/Quick Settings. + * For instance, when the "FrmPrimaryColorStyleComponent" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds. + */ +var frmStyleDependentUpdaterComponent = /*#__PURE__*/function () { + /** + * Creates an instance of frmStyleDependentUpdaterComponent. + * + * @param {HTMLElement} component - The component element. + */ + function frmStyleDependentUpdaterComponent(component) { + _classCallCheck(this, frmStyleDependentUpdaterComponent); + this.component = component; + try { + var willChangeData = JSON.parse(this.component.dataset.willChange); + this.data = { + propagateInputs: this.initPropagationList(willChangeData), + changeEvent: new Event('change', { + bubbles: true + }) + }; + } catch (error) { + console.error('Error parsing JSON data from "will-change" attribute.', error); + } + } + + /** + * Initializes the list of inputs to propagate changes to. + * The selection is made by provided input's names list in "will-change" attribute. + * + * @param {string[]} inputNames - The names of the inputs to propagate changes to. + * @return {HTMLElement[]} - The list of inputs to propagate changes to. + */ + return _createClass(frmStyleDependentUpdaterComponent, [{ + key: "initPropagationList", + value: function initPropagationList(inputNames) { + var list = []; + inputNames.forEach(function (name) { + var input = document.querySelector("input[name=\"".concat(name, "\"]")); + if (null !== input) { + list.push(input); + } + }); + return list; + } + + /** + * Updates all dependent elements with the given value. + * + * @param {string} value - The value to update the dependent elements with. + */ + }, { + key: "updateAllDependentElements", + value: function updateAllDependentElements(value) { + this.data.propagateInputs.forEach(function (input) { + input.value = value; + }); + this.data.propagateInputs[0].dispatchEvent(this.data.changeEvent); + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/components/class-tabs-navigator.js": +/*!***************************************************!*\ + !*** ./js/src/components/class-tabs-navigator.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmTabsNavigator: () => (/* binding */ frmTabsNavigator) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmTabsNavigator = /*#__PURE__*/function () { + function frmTabsNavigator(wrapper) { + _classCallCheck(this, frmTabsNavigator); + if ('undefined' === typeof wrapper) { + return; + } + this.wrapper = wrapper instanceof Element ? wrapper : document.querySelector(wrapper); + if (null === this.wrapper) { + return; + } + this.flexboxSlidesGap = '16px'; + this.navs = this.wrapper.querySelectorAll('.frm-tabs-navs ul > li'); + this.slideTrackLine = this.wrapper.querySelector('.frm-tabs-active-underline'); + this.slideTrack = this.wrapper.querySelector('.frm-tabs-slide-track'); + this.slides = this.wrapper.querySelectorAll('.frm-tabs-slide-track > div'); + this.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl'; + this.resizeObserver = null; + this.init(); + } + return _createClass(frmTabsNavigator, [{ + key: "init", + value: function init() { + var _this = this; + if (null === this.wrapper || !this.navs.length || null === this.slideTrackLine || null === this.slideTrack || !this.slides.length) { + return; + } + this.initDefaultSlideTrackerWidth(); + this.navs.forEach(function (nav, index) { + nav.addEventListener('click', function (event) { + return _this.onNavClick(event, index); + }); + }); + this.setupScrollbarObserver(); + // Cleanup observers when page unloads to prevent memory leaks + window.addEventListener('beforeunload', this.cleanupObservers); + } + }, { + key: "onNavClick", + value: function onNavClick(event, index) { + var navItem = event.currentTarget; + event.preventDefault(); + this.removeActiveClassnameFromNavs(); + navItem.classList.add('frm-active'); + this.initSlideTrackUnderline(navItem, index); + this.changeSlide(index); + + // Handle special case for frm_insert_fields_tab + var navLink = navItem.querySelector('a'); + if (navLink && navLink.id === 'frm_insert_fields_tab' && !navLink.closest('#frm_adv_info')) { + var _window$frmAdminBuild, _window$frmAdminBuild2; + (_window$frmAdminBuild = window.frmAdminBuild) === null || _window$frmAdminBuild === void 0 || (_window$frmAdminBuild2 = _window$frmAdminBuild.clearSettingsBox) === null || _window$frmAdminBuild2 === void 0 || _window$frmAdminBuild2.call(_window$frmAdminBuild); + } + } + }, { + key: "initDefaultSlideTrackerWidth", + value: function initDefaultSlideTrackerWidth() { + if (!this.slideTrackLine.dataset.initialWidth) { + return; + } + this.slideTrackLine.style.width = "".concat(this.slideTrackLine.dataset.initialWidth, "px"); + } + }, { + key: "initSlideTrackUnderline", + value: function initSlideTrackUnderline(nav, index) { + this.slideTrackLine.classList.remove('frm-first', 'frm-last'); + var activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter(function (nav) { + return nav.classList.contains('frm-active'); + }); + this.positionUnderlineIndicator(activeNav); + } + + /** + * Sets up a ResizeObserver to watch for scrollbar changes in the parent container. + * Automatically repositions the underline indicator when layout changes occur. + */ + }, { + key: "setupScrollbarObserver", + value: function setupScrollbarObserver() { + var _this2 = this; + var scrollbarWrapper = this.wrapper.closest('.frm-scrollbar-wrapper'); + if (!scrollbarWrapper || !('ResizeObserver' in window)) { + return; + } + this.resizeObserver = new ResizeObserver(function () { + var activeNav = _this2.wrapper.querySelector('.frm-tabs-navs ul > li.frm-active'); + if (activeNav) { + _this2.positionUnderlineIndicator(activeNav); + } + }); + this.resizeObserver.observe(scrollbarWrapper); + } + + /** + * Cleans up observers to prevent memory leaks. + */ + }, { + key: "cleanupObservers", + value: function cleanupObservers() { + if (this.resizeObserver) { + this.resizeObserver.disconnect(); + this.resizeObserver = null; + } + } + + /** + * Positions the underline indicator based on the active navigation element. + * + * @param {HTMLElement} activeNav The active navigation element to position the underline under + */ + }, { + key: "positionUnderlineIndicator", + value: function positionUnderlineIndicator(activeNav) { + var _this3 = this; + requestAnimationFrame(function () { + var position = _this3.isRTL ? -(activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth) : activeNav.offsetLeft; + _this3.slideTrackLine.style.transform = "translateX(".concat(position, "px)"); + _this3.slideTrackLine.style.width = activeNav.clientWidth + 'px'; + }); + } + }, { + key: "changeSlide", + value: function changeSlide(index) { + this.removeActiveClassnameFromSlides(); + var translate = index == 0 ? '0px' : "calc( ( ".concat(index * 100, "% + ").concat(parseInt(this.flexboxSlidesGap, 10) * index, "px ) * ").concat(this.isRTL ? 1 : -1, " )"); + if ('0px' !== translate) { + this.slideTrack.style.transform = "translateX(".concat(translate, ")"); + } else { + this.slideTrack.style.removeProperty('transform'); + } + if (index in this.slides) { + this.slides[index].classList.add('frm-active'); + } + } + }, { + key: "removeActiveClassnameFromSlides", + value: function removeActiveClassnameFromSlides() { + this.slides.forEach(function (slide) { + return slide.classList.remove('frm-active'); + }); + } + }, { + key: "removeActiveClassnameFromNavs", + value: function removeActiveClassnameFromNavs() { + this.navs.forEach(function (nav) { + return nav.classList.remove('frm-active'); + }); + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/globalModules.js": +/*!********************************************!*\ + !*** ./js/src/core/utils/globalModules.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* binding */ a), +/* harmony export */ bold: () => (/* binding */ bold), +/* harmony export */ button: () => (/* binding */ button), +/* harmony export */ div: () => (/* binding */ div), +/* harmony export */ doJsonPost: () => (/* binding */ doJsonPost), +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ footerButton: () => (/* binding */ footerButton), +/* harmony export */ img: () => (/* binding */ img), +/* harmony export */ maybeCreateModal: () => (/* binding */ maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault), +/* harmony export */ p: () => (/* binding */ p), +/* harmony export */ span: () => (/* binding */ span), +/* harmony export */ svg: () => (/* binding */ svg), +/* harmony export */ tag: () => (/* binding */ tag) +/* harmony export */ }); +var _frmDom = frmDom, + div = _frmDom.div, + span = _frmDom.span, + tag = _frmDom.tag, + a = _frmDom.a, + img = _frmDom.img, + svg = _frmDom.svg; +var _frmDom$modal = frmDom.modal, + maybeCreateModal = _frmDom$modal.maybeCreateModal, + footerButton = _frmDom$modal.footerButton; +var _frmDom$util = frmDom.util, + onClickPreventDefault = _frmDom$util.onClickPreventDefault, + documentOn = _frmDom$util.documentOn; +var doJsonPost = frmDom.ajax.doJsonPost; +var p = function p(args) { + return tag('p', args); +}; +var bold = function bold(args) { + return tag('strong', args); +}; +var button = function button(args) { + return tag('button', args); +}; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.a), +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ bold: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.bold), +/* harmony export */ button: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.button), +/* harmony export */ div: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.div), +/* harmony export */ doJsonPost: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.doJsonPost), +/* harmony export */ documentOn: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ footerButton: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.footerButton), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ img: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.img), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ maybeCreateModal: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ p: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.p), +/* harmony export */ removeParamFromHistory: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError), +/* harmony export */ span: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.span), +/* harmony export */ svg: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.svg), +/* harmony export */ tag: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.tag) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _globalModules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globalModules */ "./js/src/core/utils/globalModules.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeParamFromHistory: () => (/* binding */ removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/** + * Removes a query parameter and updates history with replaceState. + * + * @param {string} paramName The query parameter to remove. + * @return {void} + */ +var removeParamFromHistory = function removeParamFromHistory(paramName) { + return history.replaceState({}, '', removeQueryParam(paramName)); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./js/src/settings-components/components/index.js": +/*!********************************************************!*\ + !*** ./js/src/settings-components/components/index.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmRadioComponent: () => (/* reexport safe */ _radio_component__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ frmSliderComponent: () => (/* reexport safe */ _slider_component__WEBPACK_IMPORTED_MODULE_1__["default"]), +/* harmony export */ frmTabsComponent: () => (/* reexport safe */ _tabs_component__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ initToggleGroupComponents: () => (/* reexport safe */ _toggle_group__WEBPACK_IMPORTED_MODULE_4__.initToggleGroupComponents), +/* harmony export */ initTokenInputFields: () => (/* reexport safe */ _token_input__WEBPACK_IMPORTED_MODULE_3__.initTokenInputFields), +/* harmony export */ setupUnitInputHandlers: () => (/* reexport safe */ _unit_input__WEBPACK_IMPORTED_MODULE_5__.setupUnitInputHandlers) +/* harmony export */ }); +/* harmony import */ var _radio_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./radio-component */ "./js/src/settings-components/components/radio-component.js"); +/* harmony import */ var _slider_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slider-component */ "./js/src/settings-components/components/slider-component.js"); +/* harmony import */ var _tabs_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tabs-component */ "./js/src/settings-components/components/tabs-component.js"); +/* harmony import */ var _token_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./token-input */ "./js/src/settings-components/components/token-input/index.js"); +/* harmony import */ var _toggle_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toggle-group */ "./js/src/settings-components/components/toggle-group/index.js"); +/* harmony import */ var _unit_input__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./unit-input */ "./js/src/settings-components/components/unit-input.js"); + + + + + + + +/***/ }), + +/***/ "./js/src/settings-components/components/radio-component.js": +/*!******************************************************************!*\ + !*** ./js/src/settings-components/components/radio-component.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmRadioComponent) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Internal dependencies + */ + + + +/** + * Represents a radio component. + * + * @class + */ +var frmRadioComponent = /*#__PURE__*/function () { + function frmRadioComponent() { + var _this = this; + _classCallCheck(this, frmRadioComponent); + this.radioElements = document.querySelectorAll('.frm-style-component.frm-radio-component'); + this.observers = new Map(); + if (0 < this.radioElements.length) { + this.init(); + } + + /** + * Handles the addition of new fields. + * + * @param {Event} event The frm_added_field event. + * @param {HTMLElement} event.frmField The added field object being destructured from the event. + */ + document.addEventListener('frm_added_field', function (_ref) { + var frmField = _ref.frmField; + return _this.discoverAndInitFieldRadios(frmField.dataset.fid); + }); + + /** + * Handles the addition of new fields via AJAX. + * + * @param {Event} event The frm_ajax_loaded_field event. + * @param {HTMLElement} event.frmFields The added field objects being destructured from the event. + */ + document.addEventListener('frm_ajax_loaded_field', function (_ref2) { + var frmFields = _ref2.frmFields; + return frmFields.forEach(function (field) { + return _this.discoverAndInitFieldRadios(field.id); + }); + }); + + // Cleanup observers when page unloads to prevent memory leaks + window.addEventListener('beforeunload', function () { + return _this.cleanupObservers(); + }); + } + + /** + * Initializes the radio component. + */ + return _createClass(frmRadioComponent, [{ + key: "init", + value: function init() { + this.initRadio(); + this.initTrackerOnAccordionClick(); + } + + /** + * Discovers and initializes radio components for a specific field. + * + * @param {string|number} fieldId The unique identifier of the field whose radio components should be discovered and initialized + * @throws {Error} Throws an error if the field container is not found in the DOM + */ + }, { + key: "discoverAndInitFieldRadios", + value: function discoverAndInitFieldRadios(fieldId) { + var fieldContainer = document.getElementById("frm-single-settings-".concat(fieldId)); + if (!fieldContainer) { + throw new Error("Field container not found for field ID: ".concat(fieldId)); + } + this.radioElements = fieldContainer.querySelectorAll('.frm-style-component.frm-radio-component'); + this.initRadio(); + } + + /** + * Initializes the radio component. + */ + }, { + key: "initRadio", + value: function initRadio() { + var _this2 = this; + this.radioElements.forEach(function (element) { + _this2.initOnRadioChange(element); + _this2.initVisibilityObserver(element); + }); + } + }, { + key: "initTrackerOnAccordionClick", + value: function initTrackerOnAccordionClick() { + var _this3 = this; + var accordionitems = document.querySelectorAll('#frm_style_sidebar .accordion-section h3'); + accordionitems.forEach(function (accordionitem) { + accordionitem.addEventListener('click', function (event) { + var wrapper = event.target.closest('.accordion-section'); + var radioButtons = wrapper.querySelectorAll('.frm-style-component.frm-radio-component input[type="radio"]:checked'); + radioButtons.forEach(function (radio) { + setTimeout(function () { + return _this3.onRadioChange(radio); + }, 200); + }); + }); + }); + } + + /** + * Initializes the onRadioChange event for the given wrapper. + * + * @param {HTMLElement} radioElement - The radio element. + */ + }, { + key: "initOnRadioChange", + value: function initOnRadioChange(radioElement) { + var _this4 = this; + radioElement.querySelectorAll('input[type="radio"]').forEach(function (radio) { + if (radio.checked) { + _this4.onRadioChange(radio); + } + radio.addEventListener('change', function (event) { + _this4.onRadioChange(event.target); + }); + }); + } + + /** + * Handles the onRadioChange event for the given wrapper. + * + * @param {HTMLElement} target - The active radio button. + */ + }, { + key: "onRadioChange", + value: function onRadioChange(target) { + var wrapper = target.closest('.frm-style-component.frm-radio-component'); + var activeItem = wrapper.querySelector('input[type="radio"]:checked + label'); + if (null === activeItem) { + return; + } + this.moveTracker(activeItem, wrapper); + this.hideExtraElements(target); + this.maybeShowExtraElements(target); + } + + /** + * Display additional elements related to the selected radio option. + * + * @param {HTMLElement} radio - The radio button element. + */ + }, { + key: "maybeShowExtraElements", + value: function maybeShowExtraElements(radio) { + var elementAttr = radio.getAttribute('data-frm-show-element'); + if (null === elementAttr) { + return; + } + var elements = document.querySelectorAll("div[data-frm-element=\"".concat(elementAttr, "\"]")); + if (0 === elements.length) { + return; + } + elements.forEach(function (element) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(element); + element.classList.add('frm-element-is-visible'); + }); + } + + /** + * Initializes visibility observer for the radio component. This handles cases when components are conditionally shown. + * + * @param {HTMLElement} element The radio component element + * @return {void} + */ + }, { + key: "initVisibilityObserver", + value: function initVisibilityObserver(element) { + var _this5 = this; + if (this.observers.has(element)) { + this.observers.get(element).disconnect(); + } + var observer = new MutationObserver(function () { + // Check if element is now visible + if ((0,core_utils__WEBPACK_IMPORTED_MODULE_1__.isVisible)(element)) { + var radio = element.querySelector('input[type="radio"]:checked'); + if (radio) { + _this5.onRadioChange(radio); + } + } + }); + this.observers.set(element, observer); + + // Observe for attribute changes on the component and its ancestors + observer.observe(element, { + attributes: true, + attributeFilter: ['class', 'style'] + }); + + // Also observe parent elements up to a reasonable depth + var parent = element.parentElement; + for (var i = 0; i < 7 && parent; i++) { + observer.observe(parent, { + attributes: true, + attributeFilter: ['class', 'style'] + }); + parent = parent.parentElement; + } + } + + /** + * Cleanup all observers to prevent memory leaks. + */ + }, { + key: "cleanupObservers", + value: function cleanupObservers() { + this.observers.forEach(function (observer) { + observer.disconnect(); + }); + this.observers.clear(); + } + + /** + * Hide the possible opepend extra elements. + */ + }, { + key: "hideExtraElements", + value: function hideExtraElements() { + var elements = document.querySelectorAll('.frm-element-is-visible'); + if (0 === elements.length) { + return; + } + elements.forEach(function (element) { + element.classList.remove('frm-element-is-visible'); + element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hide)(element); + }); + } + + /** + * Moves the tracker to the active item. + * + * @param {HTMLElement} activeItem - The active item element. + * @param {HTMLElement} wrapper - The wrapper element. + */ + }, { + key: "moveTracker", + value: function moveTracker(activeItem, wrapper) { + var offset = activeItem.offsetLeft; + var width = activeItem.offsetWidth; + var tracker = wrapper.querySelector('.frm-radio-active-tracker'); + tracker.style.left = 0; + tracker.style.width = "".concat(width, "px"); + tracker.style.transform = "translateX(".concat(offset, "px)"); + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/settings-components/components/slider-component.js": +/*!*******************************************************************!*\ + !*** ./js/src/settings-components/components/slider-component.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmSliderComponent) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _admin_components_dependent_updater_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../admin/components/dependent-updater-component */ "./js/src/admin/components/dependent-updater-component.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Internal dependencies + */ + + + +/** + * Represents a slider component. + * + * @class frmSliderComponent + */ +var frmSliderComponent = /*#__PURE__*/function () { + function frmSliderComponent() { + var _this = this; + _classCallCheck(this, frmSliderComponent); + this.sliderElements = document.querySelectorAll('.frm-slider-component'); + if (0 === this.sliderElements.length) { + return; + } + + // The slider bullet point width in pixels. Used in value calculation on drag event. + this.sliderBulletWidth = 16; + this.sliderMarginRight = 5; + this.eventsChange = []; + var debounce = frmDom.util.debounce; + this.valueChangeDebouncer = debounce(function (index) { + return _this.triggerValueChange(index); + }, 25); + this.initOptions(); + this.init(); + } + + /** + * Initializes the options for the slider component. + */ + return _createClass(frmSliderComponent, [{ + key: "initOptions", + value: function initOptions() { + var _this2 = this; + this.options = []; + this.sliderElements.forEach(function (element, index) { + var parentWrapper = element.classList.contains('frm-has-multiple-values') ? element.closest('.frm-style-component') : element; + _this2.options.push({ + dragging: false, + startX: 0, + translateX: 0, + maxValue: parseInt(element.dataset.maxValue, 10), + element: element, + index: index, + value: 0, + dependentUpdater: parentWrapper.classList.contains('frm-style-dependent-updater-component') ? new _admin_components_dependent_updater_component__WEBPACK_IMPORTED_MODULE_1__["default"](parentWrapper) : null + }); + }); + } + + /** + * Initializes the slider component. + */ + }, { + key: "init", + value: function init() { + this.initSlidersPosition(); + this.initDraggable(); + } + + /** + * Initializes the draggable functionality for the slider component. + */ + }, { + key: "initDraggable", + value: function initDraggable() { + var _this3 = this; + this.sliderElements.forEach(function (element, index) { + _this3.eventsChange[index] = new Event('change', { + bubbles: true, + cancelable: true + }); + var draggableBullet = element.querySelector('.frm-slider-bullet'); + var valueInput = element.querySelector('.frm-slider-value input[type="text"]'); + valueInput.addEventListener('change', function (event) { + var unit = element.querySelector('select').value; + if (_this3.getMaxValue(unit, index) < parseInt(event.target.value, 10)) { + return; + } + _this3.initSliderWidth(element); + _this3.options[index].fullValue = _this3.updateValue(element, valueInput.value + unit); + _this3.triggerValueChange(index); + }); + _this3.expandSliderGroup(element); + _this3.updateOnUnitChange(element, valueInput, index); + _this3.changeSliderPositionOnClick(element, valueInput, index); + draggableBullet.addEventListener('mousedown', function (event) { + event.preventDefault(); + event.stopPropagation(); + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.enableDragging(event, index); + }); + draggableBullet.addEventListener('mousemove', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.moveTracker(event, index); + }); + draggableBullet.addEventListener('mouseup', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.disableDragging(index, event); + }); + draggableBullet.addEventListener('mouseleave', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + _this3.disableDragging(index, event); + }); + }); + } + }, { + key: "expandSliderGroup", + value: function expandSliderGroup(element) { + var svgIcon = element.querySelector('.frmsvg'); + if ('undefined' === typeof element.dataset.displaySliders || null === svgIcon) { + return; + } + var sliderGroupItems = this.getSliderGroupItems(element); + svgIcon.addEventListener('click', function () { + sliderGroupItems.forEach(function (item) { + item.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); + }); + }); + } + }, { + key: "updateOnUnitChange", + value: function updateOnUnitChange(element, valueInput, index) { + var _this4 = this; + element.querySelector('select').addEventListener('change', function (event) { + var unit = event.target.value.toLowerCase(); + if ('' === unit) { + element.classList.add('frm-disabled', 'frm-empty'); + return; + } + if ('auto' === unit) { + element.classList.add('frm-disabled'); + _this4.updateValue(element, 'auto'); + _this4.triggerValueChange(index); + return; + } + element.classList.remove('frm-disabled', 'frm-empty'); + _this4.options[index].fullValue = valueInput.value + unit; + _this4.updateValue(element, _this4.options[index].fullValue); + _this4.triggerValueChange(index); + }); + } + }, { + key: "changeSliderPositionOnClick", + value: function changeSliderPositionOnClick(element, valueInput, index) { + var _this5 = this; + var frmSlider = element.querySelector('.frm-slider'); + var customEvent = new Event('change', { + bubbles: true, + cancelable: true + }); + frmSlider.addEventListener('click', function (event) { + if (element.classList.contains('frm-disabled')) { + return; + } + event.preventDefault(); + event.stopPropagation(); + if (!event.target.classList.contains('frm-slider') && !event.target.classList.contains('frm-slider-active-track')) { + return; + } + var sliderWidth = frmSlider.offsetWidth - _this5.sliderBulletWidth; + var sliderRect = frmSlider.getBoundingClientRect(); + var deltaX = event.clientX - sliderRect.left - _this5.sliderBulletWidth; + var unit = element.querySelector('select').value; + var value = _this5.calculateValue(sliderWidth, deltaX, _this5.getMaxValue(unit, index)); + if (value < 0) { + return; + } + _this5.options[index].fullValue = _this5.updateValue(element, value + unit); + _this5.initChildSlidersWidth(element, deltaX, index, value + unit); + valueInput.value = value; + valueInput.dispatchEvent(customEvent); + }); + } + + /** + * Retrieves an array of slider group items based on the provided element. + * + * @param {HTMLElement} element - The element to retrieve slider group items from. + * @return {NodeList} - An array-like object containing the slider group items. + */ + }, { + key: "getSliderGroupItems", + value: function getSliderGroupItems(element) { + if ('undefined' === typeof element.dataset.displaySliders) { + return []; + } + var slidersGroup = element.dataset.displaySliders.split(','); + var query = slidersGroup.map(function (item) { + return ".frm-slider-component[data-type=\"".concat(item, "\"]"); + }).join(', '); + return element.closest('.frm-style-component').querySelectorAll(query); + } + + /** + * Initializes the position of sliders when a accordion section is opened. + */ + }, { + key: "initSlidersPosition", + value: function initSlidersPosition() { + var _this6 = this; + var accordionitems = document.querySelectorAll('#frm_style_sidebar .accordion-section h3'); + var quickSettings = document.querySelector('.frm-quick-settings'); + var openedAccordion = document.querySelector('.accordion-section.open'); + + // Detect if upload background image upload has triggered and initialize the "Image Opacity" slider width. + wp.hooks.addAction('frm_pro_on_bg_image_upload', 'formidable', function (event) { + var imageBackgroundOpacitySlider = event.closest('.accordion-section-content').querySelector('#frm-bg-image-opacity-slider'); + _this6.initSlidersWidth(imageBackgroundOpacitySlider); + }); + + // init the sliders width from "Quick Settings" page. + if (null !== quickSettings) { + this.initSlidersWidth(quickSettings); + } + + // Init the sliders width in opened accordion section from "Advanced Settings" page. + if (null !== openedAccordion) { + this.initSlidersWidth(openedAccordion); + } + + // init the sliders width everytime when an accordion section is opened from "Advanced Settings" page. + accordionitems.forEach(function (item) { + item.addEventListener('click', function (event) { + _this6.initSlidersWidth(event.target.closest('.accordion-section')); + }); + }); + this.initSliderPositionOnFieldShapeChange(); + } + + /** + * Initializes the width of "Corner Radius" slider that is dynamically is displayed on "Field Shape" option change from "Quick Settings". + * + * @return {void} + */ + }, { + key: "initSliderPositionOnFieldShapeChange", + value: function initSliderPositionOnFieldShapeChange() { + var _this7 = this; + var fieldShapeType = document.querySelector('.frm-style-component.frm-field-shape'); + if (null === fieldShapeType) { + return; + } + var radioButtons = fieldShapeType.querySelectorAll('input[type="radio"]'); + radioButtons.forEach(function (radio) { + radio.addEventListener('change', function (event) { + if (event.target.checked && 'rounded-corner' === event.target.value) { + var slider = document.querySelector('div[data-frm-element="field-shape-corner-radius"] .frm-slider-component'); + _this7.initSliderWidth(slider); + } + }); + }); + } + + /** + * Initializes the width of sliders within a given section. + * + * @param {HTMLElement} section - The section containing the sliders. + * @return {void} + */ + }, { + key: "initSlidersWidth", + value: function initSlidersWidth(section) { + var _this8 = this; + var sliders = section.querySelectorAll('.frm-slider-component'); + sliders.forEach(function (slider) { + setTimeout(function () { + _this8.initSliderWidth(slider); + }, 100); + }); + } + + /** + * Initializes the width of a slider. + * + * @param {HTMLElement} slider - The slider element. + * @return {void} + */ + }, { + key: "initSliderWidth", + value: function initSliderWidth(slider) { + if (slider.classList.contains('frm-disabled')) { + return; + } + var index = this.getSliderIndex(slider); + var sliderWidth = slider.querySelector('.frm-slider').offsetWidth - this.sliderBulletWidth; + var value = parseInt(slider.querySelector('.frm-slider-value input[type="text"]').value, 10); + var unit = slider.querySelector('select').value; + var deltaX = '%' === unit ? Math.round(sliderWidth * value / 100) : Math.ceil(value / this.options[index].maxValue * sliderWidth); + slider.querySelector('.frm-slider-active-track').style.width = "".concat(deltaX, "px"); + this.options[index].translateX = deltaX; + this.options[index].value = value + unit; + } + + /** + * Initializes the width of child sliders. + * + * @param {HTMLElement} slider - The parent slider element. + * @param {number} width - The width to set for the child sliders. + * @param {number} index - The starting index for the child sliders. + * @param {number} value - The value to set for the child sliders. + */ + }, { + key: "initChildSlidersWidth", + value: function initChildSlidersWidth(slider, width, index, value) { + var _this9 = this; + if (!slider.classList.contains('frm-has-independent-fields') && !slider.classList.contains('frm-has-multiple-values')) { + return; + } + var childSliders = slider.classList.contains('frm-has-independent-fields') ? slider.querySelectorAll('.frm-independent-slider-field') : this.getSliderGroupItems(slider); + childSliders.forEach(function (item, childIndex) { + item.querySelector('.frm-slider-active-track').style.width = "".concat(width, "px"); + _this9.options[index + childIndex + 1].translateX = width; + _this9.options[index + childIndex + 1].value = value; + }); + } + + /** + * Returns the index of the specified slider element. + * + * @param {HTMLElement} slider - The slider element. + * @return {number} The index of the slider element. + */ + }, { + key: "getSliderIndex", + value: function getSliderIndex(slider) { + return this.options.filter(function (option) { + return option.element === slider; + })[0].index; + } + + /** + * Handles the movement of the slider tracker. + * + * @param {Event} event - The event object representing the mouse movement. + * @param {number} index - The index of the slider element. + * @return {void} + */ + }, { + key: "moveTracker", + value: function moveTracker(event, index) { + if (!this.options[index].dragging) { + return; + } + var deltaX = event.clientX - this.options[index].startX; + var element = this.sliderElements[index]; + var sliderWidth = element.querySelector('.frm-slider').offsetWidth; + + // Ensure deltaX does not go below 0 + deltaX = Math.max(deltaX, 0); + if (deltaX + this.sliderBulletWidth / 2 + this.sliderMarginRight >= sliderWidth) { + return; + } + var unit = element.querySelector('select').value; + var value = this.calculateValue(sliderWidth, deltaX, this.getMaxValue(unit, index)); + element.querySelector('.frm-slider-value input[type="text"]').value = value; + element.querySelector('.frm-slider-bullet .frm-slider-value-label').innerText = value; + element.querySelector('.frm-slider-active-track').style.width = "".concat(deltaX, "px"); + this.initChildSlidersWidth(element, deltaX, index, value + unit); + this.options[index].translateX = deltaX; + this.options[index].value = value + unit; + this.options[index].fullValue = this.updateValue(element, this.options[index].value); + this.valueChangeDebouncer(index); + } + + /** + * Get the maximum value based on the unit and index. + * + * @param {string} unit - The unit of measurement. + * @param {number} index - The index of the option. + * @return {number} The maximum value. + */ + }, { + key: "getMaxValue", + value: function getMaxValue(unit, index) { + return '%' === unit ? 100 : this.options[index].maxValue; + } + + /** + * Enables dragging for the slider component. + * + * @param {Event} event - The event object. + * @param {number} index - The index of the option being dragged. + */ + }, { + key: "enableDragging", + value: function enableDragging(event, index) { + event.target.classList.add('frm-dragging'); + this.options[index].dragging = true; + this.options[index].startX = event.clientX - this.options[index].translateX; + } + + /** + * Disables dragging for a specific index. + * + * @param {number} index - The index of the option to disable dragging for. + * @param {Event} event - The event object triggered by the dragging action. + */ + }, { + key: "disableDragging", + value: function disableDragging(index, event) { + if (false === this.options[index].dragging) { + return; + } + event.target.classList.remove('frm-dragging'); + this.options[index].dragging = false; + this.triggerValueChange(index); + } + + /** + * Triggers a value change for the specified index. + * + * @param {number} index - The index of the value to be changed. + */ + }, { + key: "triggerValueChange", + value: function triggerValueChange(index) { + var _this10 = this; + if (null !== this.options[index].dependentUpdater) { + this.options[index].dependentUpdater.updateAllDependentElements(this.options[index].fullValue); + return; + } + var input = this.sliderElements[index].classList.contains('frm-has-multiple-values') ? this.sliderElements[index].closest('.frm-style-component').querySelector('input[type="hidden"]') : this.sliderElements[index].querySelectorAll('.frm-slider-value input[type="hidden"]'); + if (input instanceof NodeList) { + input.forEach(function (item) { + item.dispatchEvent(_this10.eventsChange[index]); + }); + return; + } + input.dispatchEvent(this.eventsChange[index]); + } + + /** + * Calculates the value based on the width, deltaX, and maxValue. + * + * @param {number} width - The width of the slider. + * @param {number} deltaX - The change in x-coordinate. + * @param {number} maxValue - The maximum value. + * @return {number} - The calculated value. + */ + }, { + key: "calculateValue", + value: function calculateValue(width, deltaX, maxValue) { + // Indicates the additional value generated by the slider's drag progress (up to 100%) and the width of the slider bullet. + // Generates a more accurate value for the slider's start (0) and end (maximum value) positions, taking into account the slider's position and bullet width. + var delta = Math.ceil(this.sliderBulletWidth * (deltaX / width)); + var value = Math.ceil((deltaX + delta) / width * maxValue); + return Math.min(value, maxValue); + } + + /** + * Updates the value of a slider component. + * + * @param {HTMLElement} element - The slider component element. + * @param {string} value - The new value to be set. + * @return {string} - The updated value. + */ + }, { + key: "updateValue", + value: function updateValue(element, value) { + var _this11 = this; + // When the slider component is used for "Base Font Size", we need to update a hidden input field when change happens to indicate that the "Base Font Size" has been adjusted. + // Used to avoid conflicts with other possible font sizes adjustemnts in "Advanced Settings" when moving from "Quick Settings" when "Base Font Size" is not changed. + if (element.classList.contains('frm-base-font-size')) { + var userBaseFontSizeInput = document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]'); + if (null !== userBaseFontSizeInput) { + userBaseFontSizeInput.value = 'true'; + } + } + if (element.classList.contains('frm-has-multiple-values')) { + var input = element.closest('.frm-style-component').querySelector('input[type="hidden"]'); + var inputValue = input.value.split(' '); + var type = element.dataset.type; + if (!inputValue[2]) { + inputValue[2] = '0px'; + } + if (!inputValue[3]) { + inputValue[3] = '0px'; + } + switch (type) { + case 'vertical': + inputValue[0] = value; + inputValue[2] = value; + break; + case 'horizontal': + inputValue[1] = value; + inputValue[3] = value; + break; + case 'top': + inputValue[0] = value; + break; + case 'bottom': + inputValue[2] = value; + break; + case 'left': + inputValue[3] = value; + break; + case 'right': + inputValue[1] = value; + break; + } + var newValue = inputValue.join(' '); + input.value = newValue; + var childSlidersGroup = this.getSliderGroupItems(element); + childSlidersGroup.forEach(function (slider) { + var unitMeasure = _this11.getUnitMeasureFromValue(value); + slider.querySelector('.frm-slider-value input[type="text"]').value = parseInt(value, 10); + slider.querySelector('select').value = unitMeasure; + }); + return newValue; + } + if (element.classList.contains('frm-has-independent-fields')) { + var inputValues = element.querySelectorAll('.frm-slider-value input[type="hidden"]'); + var visibleValues = element.querySelectorAll('.frm-slider-value input[type="text"]'); + inputValues.forEach(function (input, index) { + input.value = value; + visibleValues[index + 1].value = parseInt(value, 10); + }); + return value; + } + element.querySelector('.frm-slider-value input[type="hidden"]').value = value; + return value; + } + + /** + * Returns the unit of measurement used in the given value. + * + * @param {string} value - The value to check for the unit of measurement. + * @return {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found. + */ + }, { + key: "getUnitMeasureFromValue", + value: function getUnitMeasureFromValue(value) { + return ['%', 'px', 'em'].find(function (unit) { + return value.includes(unit); + }) || ''; + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/settings-components/components/tabs-component.js": +/*!*****************************************************************!*\ + !*** ./js/src/settings-components/components/tabs-component.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmTabsComponent) +/* harmony export */ }); +/* harmony import */ var _components_class_tabs_navigator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../components/class-tabs-navigator */ "./js/src/components/class-tabs-navigator.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } + +/** + * Represents a Tabs Component. + * + * @class + */ +var frmTabsComponent = /*#__PURE__*/function () { + function frmTabsComponent() { + _classCallCheck(this, frmTabsComponent); + this.elements = document.querySelectorAll('.frm-style-tabs-wrapper'); + if (0 < this.elements.length) { + this.init(); + } + } + + /** + * Initializes the Tabs Component. + */ + return _createClass(frmTabsComponent, [{ + key: "init", + value: function init() { + this.elements.forEach(function (element) { + new _components_class_tabs_navigator__WEBPACK_IMPORTED_MODULE_0__.frmTabsNavigator(element); + }); + } + + /** + * Initializes the component on tab click. + * + * @param {Element} wrapper - The wrapper element. + */ + }, { + key: "initOnTabClick", + value: function initOnTabClick(wrapper) { + var _this = this; + this.initActiveBackgroundWidth(wrapper); + wrapper.querySelectorAll('.frm-tab-item').forEach(function (tab) { + tab.addEventListener('click', function (event) { + _this.onTabClick(event.target.closest('.frm-tabs-wrapper')); + }); + }); + } + }]); +}(); + + +/***/ }), + +/***/ "./js/src/settings-components/components/toggle-group/index.js": +/*!*********************************************************************!*\ + !*** ./js/src/settings-components/components/toggle-group/index.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initToggleGroupComponents: () => (/* reexport safe */ _toggle_group_js__WEBPACK_IMPORTED_MODULE_0__.initToggleGroupComponents) +/* harmony export */ }); +/* harmony import */ var _toggle_group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toggle-group.js */ "./js/src/settings-components/components/toggle-group/toggle-group.js"); + + +/***/ }), + +/***/ "./js/src/settings-components/components/toggle-group/toggle-group.js": +/*!****************************************************************************!*\ + !*** ./js/src/settings-components/components/toggle-group/toggle-group.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initToggleGroupComponents: () => (/* binding */ initToggleGroupComponents) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Group Toggle Component + * + * Handles toggling visibility and enabled state of related form elements + */ + +/** + * Internal dependencies + */ + + + +/** + * Class names for group toggle component + * + * @private + */ +var CLASS_NAMES = { + GROUP_TOGGLE: 'frm-toggle-group', + TOGGLE_BLOCK: 'frm_toggle_block' +}; + +/** + * Data attributes for group toggle component + * + * @private + */ +var DATA_ATTRIBUTES = { + GROUP_NAME: 'data-group-name', + SHOW: 'data-show', + DISABLE: 'data-disable', + ENABLE: 'data-enable' +}; + +/** + * Initialize all group toggle components on the page + * + * @return {void} + */ +function initToggleGroupComponents() { + applyInitialState(); + addEventListeners(); +} + +/** + * Apply the initial state for all toggle buttons on the page + * + * @private + * @return {void} + */ +function applyInitialState() { + var toggleGroups = document.querySelectorAll(".".concat(CLASS_NAMES.GROUP_TOGGLE)); + if (!toggleGroups.length) { + return; + } + toggleGroups.forEach(function (toggleGroup) { + var toggleButton = toggleGroup.querySelector("[".concat(DATA_ATTRIBUTES.GROUP_NAME, "]:checked")); + if (!toggleButton) { + return; + } + applyToggleState(toggleButton, toggleGroup); + }); +} + +/** + * Add event listeners to toggle buttons in a group toggle component + * + * @private + * @return {void} + */ +function addEventListeners() { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.documentOn)('change', ".".concat(CLASS_NAMES.GROUP_TOGGLE, " [").concat(DATA_ATTRIBUTES.GROUP_NAME, "]"), handleToggleClick); +} + +/** + * Handle click events on toggle buttons + * + * @private + * @param {Event} event The click event + * @return {void} + */ +function handleToggleClick(event) { + var toggleButton = event.target; + var toggleGroup = toggleButton.closest(".".concat(CLASS_NAMES.GROUP_TOGGLE)); + if (!toggleGroup) { + return; + } + applyToggleState(toggleButton, toggleGroup); +} + +/** + * Apply toggle state based on toggle button settings + * Shared functionality used by both click handler and initial state + * + * @private + * @param {HTMLElement} toggleButton The toggle button element + * @param {HTMLElement} toggleGroup The toggle group container element + * @return {void} + */ +function applyToggleState(toggleButton, toggleGroup) { + var _toggleGroup$closest; + var fieldId = ((_toggleGroup$closest = toggleGroup.closest(".".concat(core_constants__WEBPACK_IMPORTED_MODULE_1__.SINGLE_SETTINGS_CLASS))) === null || _toggleGroup$closest === void 0 ? void 0 : _toggleGroup$closest.dataset.fid) || toggleGroup.dataset.fid; + var isChecked = toggleButton.checked; + + // Handle show/hide elements + var showSelectors = toggleButton.getAttribute(DATA_ATTRIBUTES.SHOW); + if (showSelectors) { + document.querySelectorAll(normalizeSelector(showSelectors, fieldId)).forEach(function (element) { + return element.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.HIDDEN_CLASS, !isChecked); + }); + } + + // Handle disable elements + var disableSelectors = toggleButton.getAttribute(DATA_ATTRIBUTES.DISABLE); + if (disableSelectors) { + document.querySelectorAll(normalizeSelector(disableSelectors, fieldId)).forEach(function (element) { + element.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.DISABLED_CLASS, isChecked); + element.querySelectorAll('input, select, textarea').forEach(function (formElement) { + return formElement.disabled = isChecked; + }); + element.querySelectorAll('.frm-show-inline-modal[tabindex]').forEach(function (inlineModal) { + return inlineModal.tabIndex = isChecked ? -1 : 0; + }); + }); + } + + // Handle enable elements + var enableSelectors = toggleButton.getAttribute(DATA_ATTRIBUTES.ENABLE); + if (enableSelectors) { + document.querySelectorAll(normalizeSelector(enableSelectors, fieldId)).forEach(function (element) { + return element.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.DISABLED_CLASS, !isChecked); + }); + } + + // Toggle disabled state for all other toggle blocks within the group + var currentToggleBlock = toggleButton.closest(".".concat(CLASS_NAMES.TOGGLE_BLOCK)); + Array.from(toggleGroup.querySelectorAll(".".concat(CLASS_NAMES.TOGGLE_BLOCK))).filter(function (toggleBlock) { + return toggleBlock !== currentToggleBlock; + }).forEach(function (toggleBlock) { + toggleBlock.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_1__.DISABLED_CLASS, isChecked); + + // Disable toggle switch + var toggle = toggleBlock.querySelector('.frm_toggle'); + toggle.tabIndex = isChecked ? -1 : 0; + toggle.setAttribute('aria-disabled', isChecked); + }); +} + +/** + * Normalize a selector by replacing {id} placeholders with the actual field ID + * + * @private + * @param {string} selector The selector string with potential {id} placeholders + * @param {string} fieldId The field ID to replace placeholders with + * @return {string} The normalized selector + */ +function normalizeSelector(selector, fieldId) { + return selector.replace(/{id}/g, fieldId); +} + + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/constants.js": +/*!************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/constants.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CLASS_NAMES: () => (/* binding */ CLASS_NAMES), +/* harmony export */ KEYS: () => (/* binding */ KEYS), +/* harmony export */ PROXY_INPUT_HEIGHT: () => (/* binding */ PROXY_INPUT_HEIGHT), +/* harmony export */ TOKEN_GAP: () => (/* binding */ TOKEN_GAP) +/* harmony export */ }); +/** + * Constants for token input component + * + * Reusable constants for class names and other static values + */ + +var CLASS_NAMES = { + CONTAINER: 'frm-token-container', + TOKENS_WRAPPER: 'frm-tokens', + TOKEN: 'frm-token', + TOKEN_VALUE: 'frm-token-value', + TOKEN_REMOVE: 'frm-token-remove', + TOKEN_INPUT_FIELD: 'frm-token-input-field', + TOKEN_PROXY_INPUT: 'frm-token-proxy-input', + WITH_RIGHT_ICON: 'frm-with-right-icon' +}; +var KEYS = { + SPACE: ' ', + ENTER: 'Enter', + COMMA: ',', + TAB: 'Tab', + BACKSPACE: 'Backspace' +}; +var PROXY_INPUT_HEIGHT = 36; +var TOKEN_GAP = 4; + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/event-handlers.js": +/*!*****************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/event-handlers.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/* harmony import */ var _token_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./token-actions */ "./js/src/settings-components/components/token-input/token-actions.js"); +/* harmony import */ var _proxy_input_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./proxy-input-style */ "./js/src/settings-components/components/token-input/proxy-input-style.js"); +/** + * Event handlers + * + * Functions for handling token input events + */ + +/** + * Internal dependencies + */ + + + + +/** + * Add event listeners to token input components + * + * @param {HTMLElement} field The original hidden input field + * @param {HTMLElement} proxyInput The proxy input field for interaction + * @param {HTMLElement} tokensWrapper The wrapper for token display + * @return {void} + */ +function addEventListeners(field, proxyInput, tokensWrapper) { + // The jQuery change event is required to catch programmatic updates, as "Add Layout Classes" modifies the field value via jQuery + jQuery(field).on('change', function () { + return (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.synchronizeTokensDisplay)(field.value, proxyInput, tokensWrapper); + }); + proxyInput.addEventListener('keydown', function (event) { + return onProxyInputKeydown(event, field, proxyInput, tokensWrapper); + }); + proxyInput.addEventListener('blur', function () { + return (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.addToken)(proxyInput.value.trim(), field, proxyInput); + }); + tokensWrapper.addEventListener('click', function (event) { + return handleTokenRemoval(event, field, proxyInput); + }); +} + +/** + * Handle keydown events on the proxy input field + * + * @private + * + * @param {Event} event Keydown event + * @param {HTMLElement} field The original hidden input field + * @param {HTMLElement} proxyInput The proxy input field for interaction + * @param {HTMLElement} tokensWrapper The wrapper for token display + * @return {void} + */ +function onProxyInputKeydown(event, field, proxyInput, tokensWrapper) { + var key = event.key; + var value = proxyInput.value.trim(); + switch (key) { + // Remove the last token when backspace is pressed and input field is empty (no text being typed) + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.BACKSPACE: + if (!value) { + event.preventDefault(); + var lastToken = tokensWrapper.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN, ":last-child")); + (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.removeToken)(lastToken, field, proxyInput); + } + break; + + // Create a token from current input when delimiter keys are pressed + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.SPACE: + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.COMMA: + case _constants__WEBPACK_IMPORTED_MODULE_0__.KEYS.ENTER: + event.preventDefault(); + (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.addToken)(value, field, proxyInput); + break; + } + (0,_proxy_input_style__WEBPACK_IMPORTED_MODULE_2__.adjustProxyInputStyle)(proxyInput, tokensWrapper); +} + +/** + * Handle token removal when clicking the remove button + * + * @private + * + * @param {Event} event Click event + * @param {HTMLElement} field The original hidden input field + * @param {HTMLElement} proxyInput The proxy input field for interaction + * @return {void} + */ +function handleTokenRemoval(event, field, proxyInput) { + var removeButton = event.target.closest(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN_REMOVE)); + if (!removeButton) { + return; + } + var token = removeButton.closest(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN)); + if (!token) { + return; + } + var tokensWrapper = token.parentElement; + (0,_token_actions__WEBPACK_IMPORTED_MODULE_1__.removeToken)(token, field, proxyInput); + (0,_proxy_input_style__WEBPACK_IMPORTED_MODULE_2__.adjustProxyInputStyle)(proxyInput, tokensWrapper); +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/index.js": +/*!********************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/index.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initTokenInputFields: () => (/* reexport safe */ _token_input__WEBPACK_IMPORTED_MODULE_0__.initTokenInputFields) +/* harmony export */ }); +/* harmony import */ var _token_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./token-input */ "./js/src/settings-components/components/token-input/token-input.js"); + + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/proxy-input-style.js": +/*!********************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/proxy-input-style.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ adjustAllProxyInputStyles: () => (/* binding */ adjustAllProxyInputStyles), +/* harmony export */ adjustProxyInputStyle: () => (/* binding */ adjustProxyInputStyle) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/** + * Proxy input style + * + * Functions for adjusting proxy input styling + */ + + + +/** + * Adjust styling for all proxy inputs on the current settings + * + * @return {void} + */ +function adjustAllProxyInputStyles() { + document.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.CONTAINER)).forEach(function (container) { + return adjustProxyInputStyle(container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN_PROXY_INPUT)), container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKENS_WRAPPER))); + }); +} + +/** + * Adjust the styling of the proxy input based on tokens wrapper dimensions + * + * @param {HTMLElement} proxyInput The proxy input field + * @param {HTMLElement} tokensWrapper The wrapper for token display + * @return {void} + */ +function adjustProxyInputStyle(proxyInput, tokensWrapper) { + if (!proxyInput || !tokensWrapper) { + return; + } + var tokens = tokensWrapper.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN)); + var hasTokens = tokens.length > 0; + + // Reset all styles if no tokens + if (!hasTokens) { + proxyInput.style.paddingLeft = ''; + proxyInput.style.paddingTop = ''; + proxyInput.style.height = ''; + return; + } + var tokensWrapperHeight = tokensWrapper.offsetHeight; + + // Calculate number of rows based on wrapper height + var numRows = Math.max(1, Math.ceil(tokensWrapperHeight / _constants__WEBPACK_IMPORTED_MODULE_0__.PROXY_INPUT_HEIGHT)); + if (numRows > 1) { + // For multiple rows, calculate the width of tokens in the last row + var lastRowWidth = calculateLastRowWidth(getLastRowTokens(tokens)); + proxyInput.style.height = "".concat(tokensWrapperHeight, "px"); + proxyInput.style.paddingTop = "".concat(tokensWrapperHeight - _constants__WEBPACK_IMPORTED_MODULE_0__.PROXY_INPUT_HEIGHT + _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP, "px"); + proxyInput.style.paddingLeft = lastRowWidth ? "".concat(lastRowWidth + _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP * 2, "px") : ''; + } else { + // For single row, use the full width of tokens + proxyInput.style.height = ''; + proxyInput.style.paddingTop = ''; + proxyInput.style.paddingLeft = "".concat(tokensWrapper.offsetWidth - _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP, "px"); + } +} + +/** + * Identify tokens in the last row of a multi-row token layout + * + * @param {NodeList} tokens All token elements + * @return {Array} Array of tokens in the last row + */ +function getLastRowTokens(tokens) { + if (!tokens.length) { + return []; + } + var tokensArray = Array.from(tokens); + var lastRowY = -1; + tokensArray.forEach(function (token) { + var tokenRect = token.getBoundingClientRect(); + var tokenBottom = tokenRect.bottom; + if (tokenBottom > lastRowY) { + lastRowY = tokenBottom; + } + }); + var threshold = _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP / 2; + return tokensArray.filter(function (token) { + var tokenRect = token.getBoundingClientRect(); + return Math.abs(tokenRect.bottom - lastRowY) <= threshold; + }); +} + +/** + * Calculate the total width of tokens in the last row + * + * @param {Array} lastRowTokens Array of token elements in the last row + * @return {number} Total width of tokens in the last row + */ +function calculateLastRowWidth(lastRowTokens) { + if (!lastRowTokens.length) { + return 0; + } + var totalWidth = 0; + lastRowTokens.forEach(function (token) { + totalWidth += token.offsetWidth; + }); + totalWidth += (lastRowTokens.length - 1) * _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP; + return totalWidth + _constants__WEBPACK_IMPORTED_MODULE_0__.TOKEN_GAP; +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/token-actions.js": +/*!****************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/token-actions.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToken: () => (/* binding */ addToken), +/* harmony export */ clearProxyInput: () => (/* binding */ clearProxyInput), +/* harmony export */ parseTokens: () => (/* binding */ parseTokens), +/* harmony export */ removeToken: () => (/* binding */ removeToken), +/* harmony export */ synchronizeTokensDisplay: () => (/* binding */ synchronizeTokensDisplay), +/* harmony export */ updateFieldValue: () => (/* binding */ updateFieldValue) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/* harmony import */ var _proxy_input_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./proxy-input-style */ "./js/src/settings-components/components/token-input/proxy-input-style.js"); +/* harmony import */ var _token_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./token-elements */ "./js/src/settings-components/components/token-input/token-elements.js"); +/** + * Token actions + * + * Core functions for token operations and management + */ + +/** + * Internal dependencies + */ + + + + +/** + * Synchronize token display with the field value + * + * @param {string} value The field value + * @param {HTMLElement} proxyInput The proxy input field + * @param {HTMLElement} tokensWrapper Wrapper element for tokens + * @return {void} + */ +function synchronizeTokensDisplay(value, proxyInput, tokensWrapper) { + if (!value || !tokensWrapper || !proxyInput) { + return; + } + + // Clear existing tokens display and render new tokens + tokensWrapper.innerHTML = ''; + parseTokens(value).forEach(function (token) { + return (0,_token_elements__WEBPACK_IMPORTED_MODULE_2__.createTokenElement)(token, tokensWrapper); + }); + (0,_proxy_input_style__WEBPACK_IMPORTED_MODULE_1__.adjustProxyInputStyle)(proxyInput, tokensWrapper); + proxyInput.focus(); +} + +/** + * Add a new token to the field + * + * @param {string} tokenValue The token value to add + * @param {HTMLElement} field The original field + * @param {HTMLElement} proxyInput The proxy input + * @return {boolean} Whether a token was added + */ +function addToken(tokenValue, field, proxyInput) { + if (!tokenValue || !field || !proxyInput) { + return false; + } + + // Get current tokens from field value + var tokens = parseTokens(field.value); + + // Skip duplicate tokens + if (tokens.includes(tokenValue)) { + clearProxyInput(proxyInput); + return false; + } + + // Add new token + tokens.push(tokenValue); + updateFieldValue(field, tokens); + clearProxyInput(proxyInput); + return true; +} + +/** + * Remove a specific token from the field + * + * @param {HTMLElement} token The token element to remove + * @param {HTMLElement} field The original field + * @param {HTMLElement} proxyInput The proxy input + * @return {void} + */ +function removeToken(token, field, proxyInput) { + if (!token || !field || !proxyInput) { + return; + } + var value = token.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.CLASS_NAMES.TOKEN_VALUE)).textContent; + + // Filter out the token to remove + var tokens = parseTokens(field.value).filter(function (tokenValue) { + return tokenValue !== value; + }); + updateFieldValue(field, tokens); + + // Remove the token element from DOM + token.remove(); + proxyInput.focus(); +} + +/** + * Parse string input into an array of tokens + * + * @param {string} value Space-separated string + * @return {string[]} Array of tokens + */ +function parseTokens() { + var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + value = value.trim(); + if (!value) { + return []; + } + return value.split(/\s+/).filter(Boolean); +} + +/** + * Update field value with tokens and trigger change event + * + * @param {HTMLElement} field The field to update + * @param {string[]} tokens Array of token values + * @return {void} + */ +function updateFieldValue(field) { + var tokens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + if (!field) { + return; + } + field.value = tokens.join(' '); + jQuery(field).trigger('change'); +} + +/** + * Clear proxy input and maintain focus + * + * @param {HTMLElement} proxyInput The proxy input field + * @return {void} + */ +function clearProxyInput(proxyInput) { + if (!proxyInput) { + return; + } + proxyInput.value = ''; + proxyInput.focus(); +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/token-elements.js": +/*!*****************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/token-elements.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createTokenContainerElement: () => (/* binding */ createTokenContainerElement), +/* harmony export */ createTokenElement: () => (/* binding */ createTokenElement) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/** + * Token elements + * + * Functions for creating token DOM elements + */ + +/** + * Internal dependencies + */ + + +var _window$frmDom = window.frmDom, + span = _window$frmDom.span, + svg = _window$frmDom.svg, + tag = _window$frmDom.tag; + +/** + * Create token container and input elements + * + * @param {HTMLElement} field Input field for tokenization + * @return {HTMLElement|null} The container element or null if already initialized + */ +function createTokenContainerElement(field) { + // Get the main container (.frm-with-right-icon) to work with Formidable's modal system + var container = field.closest(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.WITH_RIGHT_ICON)); + if (container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKENS_WRAPPER))) { + return null; + } + container.classList.add(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.CONTAINER); + var tokensWrapper = span({ + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKENS_WRAPPER + }); + container.insertBefore(tokensWrapper, container.firstChild); + var proxyInput = tag('input', { + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_PROXY_INPUT, + id: "".concat(field.id, "-proxy-input") + }); + proxyInput.type = 'text'; + + // Inserting proxyInput after the field is important to maintain compatibility with Formidable's modal system + field.parentNode.insertBefore(proxyInput, field.nextSibling); + field.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); + return container; +} + +/** + * Create a single token element + * + * @param {string} value Token value + * @param {HTMLElement} tokensWrapper Wrapper element for tokens + * @return {void} + */ +function createTokenElement(value, tokensWrapper) { + var tokenElement = span({ + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN, + children: [span({ + text: value, + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_VALUE + }), span({ + className: _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_REMOVE, + child: svg({ + href: '#frm_close_icon' + }) + })] + }); + tokensWrapper.appendChild(tokenElement); +} + +/***/ }), + +/***/ "./js/src/settings-components/components/token-input/token-input.js": +/*!**************************************************************************!*\ + !*** ./js/src/settings-components/components/token-input/token-input.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initTokenInputFields: () => (/* binding */ initTokenInputFields) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./js/src/settings-components/components/token-input/constants.js"); +/* harmony import */ var _token_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./token-elements */ "./js/src/settings-components/components/token-input/token-elements.js"); +/* harmony import */ var _token_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./token-actions */ "./js/src/settings-components/components/token-input/token-actions.js"); +/* harmony import */ var _proxy_input_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./proxy-input-style */ "./js/src/settings-components/components/token-input/proxy-input-style.js"); +/* harmony import */ var _event_handlers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./event-handlers */ "./js/src/settings-components/components/token-input/event-handlers.js"); +/** + * Token Input Component + * + * Transforms space-separated values in a text input into selectable tokens + */ + +/** + * Internal dependencies + */ + + + + + + + +/** + * Initialize all token input fields on the page + * + * @return {void} + */ +function initTokenInputFields() { + findAndInitializeTokenFields(); + + /** + * Initialize for newly added fields + * + * @param {Event} event The frm_added_field event. + * @param {HTMLElement} event.frmField The added field object being destructured from the event. + */ + document.addEventListener('frm_added_field', function (_ref) { + var frmField = _ref.frmField; + return findAndInitializeTokenFields(frmField.dataset.fid); + }); + + /** + * Initialize for newly added fields via AJAX + * + * @param {Event} event The frm_ajax_loaded_field event. + * @param {HTMLElement} event.frmFields The added field objects being destructured from the event. + */ + document.addEventListener('frm_ajax_loaded_field', function (_ref2) { + var frmFields = _ref2.frmFields; + return frmFields.forEach(function (field) { + return findAndInitializeTokenFields(field.id); + }); + }); + + // Adjust styling for all token inputs when field settings are shown + wp.hooks.addAction(core_constants__WEBPACK_IMPORTED_MODULE_0__.HOOKS.SHOW_FIELD_SETTINGS, 'formidable-token-input', _proxy_input_style__WEBPACK_IMPORTED_MODULE_4__.adjustAllProxyInputStyles); +} + +/** + * Find all token input fields and initialize them + * + * @private + * @param {string|number} fieldId The ID of the field to initialize + * @return {void} + */ +function findAndInitializeTokenFields(fieldId) { + var container = fieldId ? document.getElementById("frm-single-settings-".concat(fieldId)) : document.body; + var tokenInputFields = container.querySelectorAll(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_INPUT_FIELD)); + if (!tokenInputFields.length) { + return; + } + + // Track processed fields to prevent duplicate initialization + var processedFields = new Set(); + tokenInputFields.forEach(function (field) { + if (!processedFields.has(field.id)) { + setupTokenInput(field); + processedFields.add(field.id); + } + }); +} + +/** + * Set up a token input field with token container + * + * @private + * + * @param {HTMLElement} field Input field for tokenization + */ +function setupTokenInput(field) { + var container = (0,_token_elements__WEBPACK_IMPORTED_MODULE_2__.createTokenContainerElement)(field); + if (!container) { + return; + } + var proxyInput = container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKEN_PROXY_INPUT)); + var tokensWrapper = container.querySelector(".".concat(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_NAMES.TOKENS_WRAPPER)); + (0,_token_actions__WEBPACK_IMPORTED_MODULE_3__.synchronizeTokensDisplay)(field.value, proxyInput, tokensWrapper); + (0,_event_handlers__WEBPACK_IMPORTED_MODULE_5__.addEventListeners)(field, proxyInput, tokensWrapper); +} + + +/***/ }), + +/***/ "./js/src/settings-components/components/unit-input.js": +/*!*************************************************************!*\ + !*** ./js/src/settings-components/components/unit-input.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ setupUnitInputHandlers: () => (/* binding */ setupUnitInputHandlers) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Setup unit input handlers + * + * @return {void} + */ +function setupUnitInputHandlers() { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.documentOn)('change', '.frm-unit-input .frm-unit-input-control', onUnitInputChange); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.documentOn)('change', '.frm-unit-input select', onUnitInputChange); +} + +/** + * Handle the change event for the unit input + * + * @private + * @param {Event} event The event object. + * @return {void} + */ +function onUnitInputChange(event) { + var unitInput = event.target.closest('.frm-unit-input'); + var control = unitInput.querySelector('.frm-unit-input-control'); + var unit = unitInput.querySelector('select').value; + + // Update input type when unit changes + if (event.target.matches('select')) { + control.type = '' === unit ? 'text' : 'number'; + } + + // Update the actual field value + var inputValue = control.value.trim(); + unitInput.querySelector('input[type="hidden"]').value = '' !== inputValue ? inputValue + unit : ''; +} + +/***/ }), + +/***/ "./js/src/settings-components/events/add-fields-button-handler.js": +/*!************************************************************************!*\ + !*** ./js/src/settings-components/events/add-fields-button-handler.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Redirects to "Add Fields" tab when the "Add Fields" button is clicked. + * + * When users view the Field Options tab with no fields, they see an "Add Fields" button. + * Clicking this button should take them to the "Add Fields" tab for field selection. + */ + +/** + * Initializes the Add Fields button click handler. + */ +var initAddFieldsButtonHandler = function initAddFieldsButtonHandler() { + var _document$getElementB; + (_document$getElementB = document.getElementById('frm-form-add-field')) === null || _document$getElementB === void 0 || _document$getElementB.addEventListener('click', function (event) { + var _document$querySelect; + event.preventDefault(); + (_document$querySelect = document.querySelector('.frm-settings-panel .frm-tabs-navs ul > li:first-child')) === null || _document$querySelect === void 0 || _document$querySelect.click(); + }); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initAddFieldsButtonHandler); + +/***/ }), + +/***/ "./js/src/settings-components/events/index.js": +/*!****************************************************!*\ + !*** ./js/src/settings-components/events/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initAddFieldsButtonHandler: () => (/* reexport safe */ _add_fields_button_handler__WEBPACK_IMPORTED_MODULE_0__["default"]) +/* harmony export */ }); +/* harmony import */ var _add_fields_button_handler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add-fields-button-handler */ "./js/src/settings-components/events/add-fields-button-handler.js"); + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +/*!*********************************************!*\ + !*** ./js/src/settings-components/index.js ***! + \*********************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./js/src/settings-components/events/index.js"); +/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components */ "./js/src/settings-components/components/index.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__["default"])(function () { + new _components__WEBPACK_IMPORTED_MODULE_1__.frmRadioComponent(); + new _components__WEBPACK_IMPORTED_MODULE_1__.frmSliderComponent(); + new _components__WEBPACK_IMPORTED_MODULE_1__.frmTabsComponent(); + (0,_events__WEBPACK_IMPORTED_MODULE_0__.initAddFieldsButtonHandler)(); + (0,_components__WEBPACK_IMPORTED_MODULE_1__.initTokenInputFields)(); + (0,_components__WEBPACK_IMPORTED_MODULE_1__.initToggleGroupComponents)(); + (0,_components__WEBPACK_IMPORTED_MODULE_1__.setupUnitInputHandlers)(); +}); +/******/ })() +; +//# sourceMappingURL=formidable-settings-components.js.map \ No newline at end of file diff --git a/js/formidable-settings-components.js.map b/js/formidable-settings-components.js.map index 74fff122f1..7d65d6d083 100644 --- a/js/formidable-settings-components.js.map +++ b/js/formidable-settings-components.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable-settings-components.js","mappings":"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","sources":["webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./js/src/admin/components/dependent-updater-component.js","webpack://formidable/./js/src/components/class-tabs-navigator.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/settings-components/components/index.js","webpack://formidable/./js/src/settings-components/components/radio-component.js","webpack://formidable/./js/src/settings-components/components/slider-component.js","webpack://formidable/./js/src/settings-components/components/tabs-component.js","webpack://formidable/./js/src/settings-components/components/toggle-group/index.js","webpack://formidable/./js/src/settings-components/components/toggle-group/toggle-group.js","webpack://formidable/./js/src/settings-components/components/token-input/constants.js","webpack://formidable/./js/src/settings-components/components/token-input/event-handlers.js","webpack://formidable/./js/src/settings-components/components/token-input/index.js","webpack://formidable/./js/src/settings-components/components/token-input/proxy-input-style.js","webpack://formidable/./js/src/settings-components/components/token-input/token-actions.js","webpack://formidable/./js/src/settings-components/components/token-input/token-elements.js","webpack://formidable/./js/src/settings-components/components/token-input/token-input.js","webpack://formidable/./js/src/settings-components/components/unit-input.js","webpack://formidable/./js/src/settings-components/events/add-fields-button-handler.js","webpack://formidable/./js/src/settings-components/events/index.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/settings-components/index.js"],"sourcesContent":["/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview.\n * The names of the elements that will be updated are specified using the \"will-change\" attribute.\n * It is primarily used in components from Style/Quick Settings.\n * For instance, when the \"FrmPrimaryColorStyleComponent\" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds.\n */\nexport default class frmStyleDependentUpdaterComponent {\n\t/**\n\t * Creates an instance of frmStyleDependentUpdaterComponent.\n\t *\n\t * @param {HTMLElement} component - The component element.\n\t */\n\tconstructor( component ) {\n\t\tthis.component = component;\n\t\ttry {\n\t\t\tconst willChangeData = JSON.parse( this.component.dataset.willChange );\n\t\t\tthis.data = {\n\t\t\t\tpropagateInputs: this.initPropagationList( willChangeData ),\n\t\t\t\tchangeEvent: new Event( 'change', { bubbles: true } )\n\t\t\t};\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'Error parsing JSON data from \"will-change\" attribute.', error );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the list of inputs to propagate changes to.\n\t * The selection is made by provided input's names list in \"will-change\" attribute.\n\t *\n\t * @param {string[]} inputNames - The names of the inputs to propagate changes to.\n\t * @return {HTMLElement[]} - The list of inputs to propagate changes to.\n\t */\n\tinitPropagationList( inputNames ) {\n\t\tconst list = [];\n\t\tinputNames.forEach( name => {\n\t\t\tconst input = document.querySelector( `input[name=\"${ name }\"]` );\n\t\t\tif ( null !== input ) {\n\t\t\t\tlist.push( input );\n\t\t\t}\n\t\t} );\n\t\treturn list;\n\t}\n\n\t/**\n\t * Updates all dependent elements with the given value.\n\t *\n\t * @param {string} value - The value to update the dependent elements with.\n\t */\n\tupdateAllDependentElements( value ) {\n\t\tthis.data.propagateInputs.forEach( input => {\n\t\t\tinput.value = value;\n\t\t} );\n\t\tthis.data.propagateInputs[ 0 ].dispatchEvent( this.data.changeEvent );\n\t}\n}\n","export class frmTabsNavigator {\n\tconstructor( wrapper ) {\n\t\tif ( 'undefined' === typeof wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.wrapper = wrapper instanceof Element ? wrapper : document.querySelector( wrapper );\n\n\t\tif ( null === this.wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.flexboxSlidesGap = '16px';\n\t\tthis.navs = this.wrapper.querySelectorAll( '.frm-tabs-navs ul > li' );\n\t\tthis.slideTrackLine = this.wrapper.querySelector( '.frm-tabs-active-underline' );\n\t\tthis.slideTrack = this.wrapper.querySelector( '.frm-tabs-slide-track' );\n\t\tthis.slides = this.wrapper.querySelectorAll( '.frm-tabs-slide-track > div' );\n\t\tthis.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl';\n\t\tthis.resizeObserver = null;\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif ( null === this.wrapper || ! this.navs.length || null === this.slideTrackLine || null === this.slideTrack || ! this.slides.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initDefaultSlideTrackerWidth();\n\t\tthis.navs.forEach( ( nav, index ) => {\n\t\t\tnav.addEventListener( 'click', event => this.onNavClick( event, index ) );\n\t\t} );\n\n\t\tthis.setupScrollbarObserver();\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', this.cleanupObservers );\n\t}\n\n\tonNavClick( event, index ) {\n\t\tconst navItem = event.currentTarget;\n\n\t\tevent.preventDefault();\n\n\t\tthis.removeActiveClassnameFromNavs();\n\t\tnavItem.classList.add( 'frm-active' );\n\t\tthis.initSlideTrackUnderline( navItem, index );\n\t\tthis.changeSlide( index );\n\n\t\t// Handle special case for frm_insert_fields_tab\n\t\tconst navLink = navItem.querySelector( 'a' );\n\t\tif ( navLink && navLink.id === 'frm_insert_fields_tab' && ! navLink.closest( '#frm_adv_info' ) ) {\n\t\t\twindow.frmAdminBuild?.clearSettingsBox?.();\n\t\t}\n\t}\n\n\tinitDefaultSlideTrackerWidth() {\n\t\tif ( ! this.slideTrackLine.dataset.initialWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.slideTrackLine.style.width = `${ this.slideTrackLine.dataset.initialWidth }px`;\n\t}\n\tinitSlideTrackUnderline( nav, index ) {\n\t\tthis.slideTrackLine.classList.remove( 'frm-first', 'frm-last' );\n\t\tconst activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter( nav => nav.classList.contains( 'frm-active' ) );\n\t\tthis.positionUnderlineIndicator( activeNav );\n\t}\n\n\t/**\n\t * Sets up a ResizeObserver to watch for scrollbar changes in the parent container.\n\t * Automatically repositions the underline indicator when layout changes occur.\n\t */\n\tsetupScrollbarObserver() {\n\t\tconst scrollbarWrapper = this.wrapper.closest( '.frm-scrollbar-wrapper' );\n\n\t\tif ( ! scrollbarWrapper || ! ( 'ResizeObserver' in window ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.resizeObserver = new ResizeObserver( () => {\n\t\t\tconst activeNav = this.wrapper.querySelector( '.frm-tabs-navs ul > li.frm-active' );\n\t\t\tif ( activeNav ) {\n\t\t\t\tthis.positionUnderlineIndicator( activeNav );\n\t\t\t}\n\t\t} );\n\n\t\tthis.resizeObserver.observe( scrollbarWrapper );\n\t}\n\n\t/**\n\t * Cleans up observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t\tthis.resizeObserver = null;\n\t\t}\n\t}\n\n\t/**\n\t * Positions the underline indicator based on the active navigation element.\n\t *\n\t * @param {HTMLElement} activeNav The active navigation element to position the underline under\n\t */\n\tpositionUnderlineIndicator( activeNav ) {\n\t\trequestAnimationFrame( () => {\n\t\t\tconst position = this.isRTL\n\t\t\t\t? -( activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth )\n\t\t\t\t: activeNav.offsetLeft;\n\n\t\t\tthis.slideTrackLine.style.transform = `translateX(${ position }px)`;\n\t\t\tthis.slideTrackLine.style.width = activeNav.clientWidth + 'px';\n\t\t} );\n\t}\n\n\tchangeSlide( index ) {\n\t\tthis.removeActiveClassnameFromSlides();\n\t\tconst translate = index == 0 ? '0px' : `calc( ( ${ ( index * 100 ) }% + ${ parseInt( this.flexboxSlidesGap, 10 ) * index }px ) * ${ this.isRTL ? 1 : -1 } )`;\n\t\tif ( '0px' !== translate ) {\n\t\t\tthis.slideTrack.style.transform = `translateX(${ translate })`;\n\t\t} else {\n\t\t\tthis.slideTrack.style.removeProperty( 'transform' );\n\t\t}\n\t\tif ( index in this.slides ) {\n\t\t\tthis.slides[ index ].classList.add( 'frm-active' );\n\t\t}\n\t}\n\n\tremoveActiveClassnameFromSlides() {\n\t\tthis.slides.forEach( slide => slide.classList.remove( 'frm-active' ) );\n\t}\n\n\tremoveActiveClassnameFromNavs() {\n\t\tthis.navs.forEach( nav => nav.classList.remove( 'frm-active' ) );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","export { default as frmRadioComponent } from './radio-component';\nexport { default as frmSliderComponent } from './slider-component';\nexport { default as frmTabsComponent } from './tabs-component';\nexport * from './token-input';\nexport * from './toggle-group';\nexport * from './unit-input';\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { show, hide, isVisible } from 'core/utils';\n\n/**\n * Represents a radio component.\n *\n * @class\n */\nexport default class frmRadioComponent {\n\tconstructor() {\n\t\tthis.radioElements = document.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.observers = new Map();\n\t\tif ( 0 < this.radioElements.length ) {\n\t\t\tthis.init();\n\t\t}\n\n\t\t/**\n\t\t * Handles the addition of new fields.\n\t\t *\n\t\t * @param {Event} event The frm_added_field event.\n\t\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\t\tthis.discoverAndInitFieldRadios( frmField.dataset.fid )\n\t\t);\n\n\t\t/**\n\t\t * Handles the addition of new fields via AJAX.\n\t\t *\n\t\t * @param {Event} event The frm_ajax_loaded_field event.\n\t\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\t\tfrmFields.forEach( field => this.discoverAndInitFieldRadios( field.id ) )\n\t\t);\n\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', () => this.cleanupObservers() );\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinit() {\n\t\tthis.initRadio();\n\t\tthis.initTrackerOnAccordionClick();\n\t}\n\n\t/**\n\t * Discovers and initializes radio components for a specific field.\n\t *\n\t * @param {string|number} fieldId The unique identifier of the field whose radio components should be discovered and initialized\n\t * @throws {Error} Throws an error if the field container is not found in the DOM\n\t */\n\tdiscoverAndInitFieldRadios( fieldId ) {\n\t\tconst fieldContainer = document.getElementById( `frm-single-settings-${ fieldId }` );\n\n\t\tif ( ! fieldContainer ) {\n\t\t\tthrow new Error( `Field container not found for field ID: ${ fieldId }` );\n\t\t}\n\n\t\tthis.radioElements = fieldContainer.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.initRadio();\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinitRadio() {\n\t\tthis.radioElements.forEach( element => {\n\t\t\tthis.initOnRadioChange( element );\n\t\t\tthis.initVisibilityObserver( element );\n\t\t} );\n\t}\n\n\tinitTrackerOnAccordionClick() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\n\t\taccordionitems.forEach( accordionitem => {\n\t\t\taccordionitem.addEventListener( 'click', event => {\n\t\t\t\tconst wrapper = event.target.closest( '.accordion-section' );\n\t\t\t\tconst radioButtons = wrapper.querySelectorAll( '.frm-style-component.frm-radio-component input[type=\"radio\"]:checked' );\n\n\t\t\t\tradioButtons.forEach( radio => {\n\t\t\t\t\tsetTimeout( () => this.onRadioChange( radio ), 200 );\n\t\t\t\t} );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} radioElement - The radio element.\n\t */\n\tinitOnRadioChange( radioElement ) {\n\t\tradioElement.querySelectorAll( 'input[type=\"radio\"]' ).forEach( radio => {\n\t\t\tif ( radio.checked ) {\n\t\t\t\tthis.onRadioChange( radio );\n\t\t\t}\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tthis.onRadioChange( event.target );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} target - The active radio button.\n\t */\n\tonRadioChange( target ) {\n\t\tconst wrapper = target.closest( '.frm-style-component.frm-radio-component' );\n\t\tconst activeItem = wrapper.querySelector( 'input[type=\"radio\"]:checked + label' );\n\n\t\tif ( null === activeItem ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.moveTracker( activeItem, wrapper );\n\t\tthis.hideExtraElements( target );\n\t\tthis.maybeShowExtraElements( target );\n\t}\n\n\t/**\n\t * Display additional elements related to the selected radio option.\n\t *\n\t * @param {HTMLElement} radio - The radio button element.\n\t */\n\tmaybeShowExtraElements( radio ) {\n\t\tconst elementAttr = radio.getAttribute( 'data-frm-show-element' );\n\t\tif ( null === elementAttr ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elements = document.querySelectorAll( `div[data-frm-element=\"${ elementAttr }\"]` );\n\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\telements.forEach( element => {\n\t\t\tshow( element );\n\t\t\telement.classList.add( 'frm-element-is-visible' );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes visibility observer for the radio component. This handles cases when components are conditionally shown.\n\t *\n\t * @param {HTMLElement} element The radio component element\n\t * @return {void}\n\t */\n\tinitVisibilityObserver( element ) {\n\t\tif ( this.observers.has( element ) ) {\n\t\t\tthis.observers.get( element ).disconnect();\n\t\t}\n\n\t\tconst observer = new MutationObserver( () => {\n\t\t\t// Check if element is now visible\n\t\t\tif ( isVisible( element ) ) {\n\t\t\t\tconst radio = element.querySelector( 'input[type=\"radio\"]:checked' );\n\t\t\t\tif ( radio ) {\n\t\t\t\t\tthis.onRadioChange( radio );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\tthis.observers.set( element, observer );\n\n\t\t// Observe for attribute changes on the component and its ancestors\n\t\tobserver.observe( element, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t} );\n\n\t\t// Also observe parent elements up to a reasonable depth\n\t\tlet parent = element.parentElement;\n\t\tfor ( let i = 0; i < 7 && parent; i++ ) {\n\t\t\tobserver.observe( parent, {\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t\t} );\n\t\t\tparent = parent.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Cleanup all observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tthis.observers.forEach( observer => {\n\t\t\tobserver.disconnect();\n\t\t} );\n\n\t\tthis.observers.clear();\n\t}\n\n\t/**\n\t * Hide the possible opepend extra elements.\n\t */\n\thideExtraElements() {\n\t\tconst elements = document.querySelectorAll( '.frm-element-is-visible' );\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\t\telements.forEach( element => {\n\t\t\telement.classList.remove( 'frm-element-is-visible' );\n\t\t\telement.classList.add( HIDDEN_CLASS );\n\t\t\thide( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Moves the tracker to the active item.\n\t *\n\t * @param {HTMLElement} activeItem - The active item element.\n\t * @param {HTMLElement} wrapper - The wrapper element.\n\t */\n\tmoveTracker( activeItem, wrapper ) {\n\t\tconst offset = activeItem.offsetLeft;\n\t\tconst width = activeItem.offsetWidth;\n\t\tconst tracker = wrapper.querySelector( '.frm-radio-active-tracker' );\n\n\t\ttracker.style.left = 0;\n\t\ttracker.style.width = `${ width }px`;\n\t\ttracker.style.transform = `translateX(${ offset }px)`;\n\t}\n}\n","\n/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport frmDependentUpdaterComponent from '../../admin/components/dependent-updater-component';\n\n/**\n * Represents a slider component.\n *\n * @class frmSliderComponent\n */\nexport default class frmSliderComponent {\n\tconstructor() {\n\t\tthis.sliderElements = document.querySelectorAll( '.frm-slider-component' );\n\t\tif ( 0 === this.sliderElements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The slider bullet point width in pixels. Used in value calculation on drag event.\n\t\tthis.sliderBulletWidth = 16;\n\t\tthis.sliderMarginRight = 5;\n\t\tthis.eventsChange = [];\n\n\t\tconst { debounce } = frmDom.util;\n\t\tthis.valueChangeDebouncer = debounce( index => this.triggerValueChange( index ), 25 );\n\n\t\tthis.initOptions();\n\t\tthis.init();\n\t}\n\n\t/**\n\t * Initializes the options for the slider component.\n\t */\n\tinitOptions() {\n\t\tthis.options = [];\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tconst parentWrapper = element.classList.contains( 'frm-has-multiple-values' ) ? element.closest( '.frm-style-component' ) : element;\n\t\t\tthis.options.push( {\n\t\t\t\tdragging: false,\n\t\t\t\tstartX: 0,\n\t\t\t\ttranslateX: 0,\n\t\t\t\tmaxValue: parseInt( element.dataset.maxValue, 10 ),\n\t\t\t\telement: element,\n\t\t\t\tindex: index,\n\t\t\t\tvalue: 0,\n\t\t\t\tdependentUpdater: parentWrapper.classList.contains( 'frm-style-dependent-updater-component' ) ? new frmDependentUpdaterComponent( parentWrapper ) : null\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the slider component.\n\t */\n\tinit() {\n\t\tthis.initSlidersPosition();\n\t\tthis.initDraggable();\n\t}\n\n\t/**\n\t * Initializes the draggable functionality for the slider component.\n\t */\n\tinitDraggable() {\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tthis.eventsChange[ index ] = new Event( 'change', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true\n\t\t\t} );\n\t\t\tconst draggableBullet = element.querySelector( '.frm-slider-bullet' );\n\t\t\tconst valueInput = element.querySelector( '.frm-slider-value input[type=\"text\"]' );\n\n\t\t\tvalueInput.addEventListener( 'change', event => {\n\t\t\t\tconst unit = element.querySelector( 'select' ).value;\n\n\t\t\t\tif ( this.getMaxValue( unit, index ) < parseInt( event.target.value, 10 ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.initSliderWidth( element );\n\t\t\t\tthis.options[ index ].fullValue = this.updateValue( element, valueInput.value + unit );\n\t\t\t\tthis.triggerValueChange( index );\n\t\t\t} );\n\n\t\t\tthis.expandSliderGroup( element );\n\t\t\tthis.updateOnUnitChange( element, valueInput, index );\n\t\t\tthis.changeSliderPositionOnClick( element, valueInput, index );\n\n\t\t\tdraggableBullet.addEventListener( 'mousedown', event => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.enableDragging( event, index );\n\t\t\t} );\n\n\t\t\tdraggableBullet.addEventListener( 'mousemove', event => {\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.moveTracker( event, index );\n\t\t\t} );\n\n\t\t\tdraggableBullet.addEventListener( 'mouseup', event => {\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.disableDragging( index, event );\n\t\t\t} );\n\n\t\t\tdraggableBullet.addEventListener( 'mouseleave', event => {\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.disableDragging( index, event );\n\t\t\t} );\n\t\t} );\n\t}\n\n\texpandSliderGroup( element ) {\n\t\tconst svgIcon = element.querySelector( '.frmsvg' );\n\n\t\tif ( 'undefined' === typeof element.dataset.displaySliders || null === svgIcon ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sliderGroupItems = this.getSliderGroupItems( element );\n\t\tsvgIcon.addEventListener( 'click', ( ) => {\n\t\t\tsliderGroupItems.forEach( item => {\n\t\t\t\titem.classList.toggle( HIDDEN_CLASS );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tupdateOnUnitChange( element, valueInput, index ) {\n\t\telement.querySelector( 'select' ).addEventListener( 'change', event => {\n\t\t\tconst unit = event.target.value.toLowerCase();\n\n\t\t\tif ( '' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled', 'frm-empty' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( 'auto' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled' );\n\t\t\t\tthis.updateValue( element, 'auto' );\n\t\t\t\tthis.triggerValueChange( index );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement.classList.remove( 'frm-disabled', 'frm-empty' );\n\t\t\tthis.options[ index ].fullValue = valueInput.value + unit;\n\t\t\tthis.updateValue( element, this.options[ index ].fullValue );\n\t\t\tthis.triggerValueChange( index );\n\t\t} );\n\t}\n\n\tchangeSliderPositionOnClick( element, valueInput, index ) {\n\t\tconst frmSlider = element.querySelector( '.frm-slider' );\n\t\tconst customEvent = new Event( 'change', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true\n\t\t} );\n\n\t\tfrmSlider.addEventListener( 'click', event => {\n\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tif ( ! event.target.classList.contains( 'frm-slider' ) && ! event.target.classList.contains( 'frm-slider-active-track' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst sliderWidth = frmSlider.offsetWidth - this.sliderBulletWidth;\n\t\t\tconst sliderRect = frmSlider.getBoundingClientRect();\n\t\t\tconst deltaX = event.clientX - sliderRect.left - this.sliderBulletWidth;\n\t\t\tconst unit = element.querySelector( 'select' ).value;\n\t\t\tconst value = this.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ) );\n\n\t\t\tif ( value < 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.options[ index ].fullValue = this.updateValue( element, value + unit );\n\t\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\t\tvalueInput.value = value;\n\t\t\tvalueInput.dispatchEvent( customEvent );\n\t\t} );\n\t}\n\n\t/**\n\t * Retrieves an array of slider group items based on the provided element.\n\t *\n\t * @param {HTMLElement} element - The element to retrieve slider group items from.\n\t * @return {NodeList} - An array-like object containing the slider group items.\n\t */\n\tgetSliderGroupItems( element ) {\n\t\tif ( 'undefined' === typeof element.dataset.displaySliders ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst slidersGroup = element.dataset.displaySliders.split( ',' );\n\t\tconst query = slidersGroup.map( item => {\n\t\t\treturn `.frm-slider-component[data-type=\"${ item }\"]`;\n\t\t} ).join( ', ' );\n\n\t\treturn element.closest( '.frm-style-component' ).querySelectorAll( query );\n\t}\n\n\t/**\n\t * Initializes the position of sliders when a accordion section is opened.\n\t */\n\tinitSlidersPosition() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\t\tconst quickSettings = document.querySelector( '.frm-quick-settings' );\n\t\tconst openedAccordion = document.querySelector( '.accordion-section.open' );\n\n\t\t// Detect if upload background image upload has triggered and initialize the \"Image Opacity\" slider width.\n\t\twp.hooks.addAction( 'frm_pro_on_bg_image_upload', 'formidable', event => {\n\t\t\tconst imageBackgroundOpacitySlider = event.closest( '.accordion-section-content' ).querySelector( '#frm-bg-image-opacity-slider' );\n\t\t\tthis.initSlidersWidth( imageBackgroundOpacitySlider );\n\t\t} );\n\n\t\t// init the sliders width from \"Quick Settings\" page.\n\t\tif ( null !== quickSettings ) {\n\t\t\tthis.initSlidersWidth( quickSettings );\n\t\t}\n\n\t\t// Init the sliders width in opened accordion section from \"Advanced Settings\" page.\n\t\tif ( null !== openedAccordion ) {\n\t\t\tthis.initSlidersWidth( openedAccordion );\n\t\t}\n\n\t\t// init the sliders width everytime when an accordion section is opened from \"Advanced Settings\" page.\n\t\taccordionitems.forEach( item => {\n\t\t\titem.addEventListener( 'click', event => {\n\t\t\t\tthis.initSlidersWidth( event.target.closest( '.accordion-section' ) );\n\t\t\t} );\n\t\t} );\n\n\t\tthis.initSliderPositionOnFieldShapeChange();\n\t}\n\n\t/**\n\t * Initializes the width of \"Corner Radius\" slider that is dynamically is displayed on \"Field Shape\" option change from \"Quick Settings\".\n\t *\n\t * @return {void}\n\t */\n\tinitSliderPositionOnFieldShapeChange() {\n\t\tconst fieldShapeType = document.querySelector( '.frm-style-component.frm-field-shape' );\n\n\t\tif ( null === fieldShapeType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst radioButtons = fieldShapeType.querySelectorAll( 'input[type=\"radio\"]' );\n\t\tradioButtons.forEach( radio => {\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tif ( event.target.checked && 'rounded-corner' === event.target.value ) {\n\t\t\t\t\tconst slider = document.querySelector( 'div[data-frm-element=\"field-shape-corner-radius\"] .frm-slider-component' );\n\t\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of sliders within a given section.\n\t *\n\t * @param {HTMLElement} section - The section containing the sliders.\n\t * @return {void}\n\t */\n\tinitSlidersWidth( section ) {\n\t\tconst sliders = section.querySelectorAll( '.frm-slider-component' );\n\t\tsliders.forEach( slider => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t}, 100 );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of a slider.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @return {void}\n\t */\n\tinitSliderWidth( slider ) {\n\t\tif ( slider.classList.contains( 'frm-disabled' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst index = this.getSliderIndex( slider );\n\t\tconst sliderWidth = slider.querySelector( '.frm-slider' ).offsetWidth - this.sliderBulletWidth;\n\t\tconst value = parseInt( slider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value, 10 );\n\t\tconst unit = slider.querySelector( 'select' ).value;\n\t\tconst deltaX = '%' === unit ? Math.round( sliderWidth * value / 100 ) : Math.ceil( ( value / this.options[ index ].maxValue ) * sliderWidth );\n\n\t\tslider.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t}\n\n\t/**\n\t * Initializes the width of child sliders.\n\t *\n\t * @param {HTMLElement} slider - The parent slider element.\n\t * @param {number} width - The width to set for the child sliders.\n\t * @param {number} index - The starting index for the child sliders.\n\t * @param {number} value - The value to set for the child sliders.\n\t */\n\tinitChildSlidersWidth( slider, width, index, value ) {\n\t\tif ( ! slider.classList.contains( 'frm-has-independent-fields' ) && ! slider.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst childSliders = slider.classList.contains( 'frm-has-independent-fields' ) ? slider.querySelectorAll( '.frm-independent-slider-field' ) : this.getSliderGroupItems( slider );\n\n\t\tchildSliders.forEach( ( item, childIndex ) => {\n\t\t\titem.querySelector( '.frm-slider-active-track' ).style.width = `${ width }px`;\n\t\t\tthis.options[ index + childIndex + 1 ].translateX = width;\n\t\t\tthis.options[ index + childIndex + 1 ].value = value;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns the index of the specified slider element.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @return {number} The index of the slider element.\n\t */\n\tgetSliderIndex( slider ) {\n\t\treturn this.options.filter( option => {\n\t\t\treturn option.element === slider;\n\t\t} )[ 0 ].index;\n\t}\n\n\t/**\n\t * Handles the movement of the slider tracker.\n\t *\n\t * @param {Event} event - The event object representing the mouse movement.\n\t * @param {number} index - The index of the slider element.\n\t * @return {void}\n\t */\n\tmoveTracker( event, index ) {\n\t\tif ( ! this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tlet deltaX = event.clientX - this.options[ index ].startX;\n\t\tconst element = this.sliderElements[ index ];\n\t\tconst sliderWidth = element.querySelector( '.frm-slider' ).offsetWidth;\n\n\t\t// Ensure deltaX does not go below 0\n\t\tdeltaX = Math.max( deltaX, 0 );\n\n\t\tif ( deltaX + ( this.sliderBulletWidth / 2 ) + this.sliderMarginRight >= sliderWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tconst unit = element.querySelector( 'select' ).value;\n\t\tconst value = this.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ) );\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = value;\n\t\telement.querySelector( '.frm-slider-bullet .frm-slider-value-label' ).innerText = value;\n\t\telement.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t\tthis.options[ index ].fullValue = this.updateValue( element, this.options[ index ].value );\n\t\tthis.valueChangeDebouncer( index );\n\t}\n\n\t/**\n\t * Get the maximum value based on the unit and index.\n\t *\n\t * @param {string} unit - The unit of measurement.\n\t * @param {number} index - The index of the option.\n\t * @return {number} The maximum value.\n\t */\n\tgetMaxValue( unit, index ) {\n\t\treturn '%' === unit ? 100 : this.options[ index ].maxValue;\n\t}\n\n\t/**\n\t * Enables dragging for the slider component.\n\t *\n\t * @param {Event} event - The event object.\n\t * @param {number} index - The index of the option being dragged.\n\t */\n\tenableDragging( event, index ) {\n\t\tevent.target.classList.add( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = true;\n\t\tthis.options[ index ].startX = event.clientX - this.options[ index ].translateX;\n\t}\n\n\t/**\n\t * Disables dragging for a specific index.\n\t *\n\t * @param {number} index - The index of the option to disable dragging for.\n\t * @param {Event} event - The event object triggered by the dragging action.\n\t */\n\tdisableDragging( index, event ) {\n\t\tif ( false === this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tevent.target.classList.remove( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = false;\n\t\tthis.triggerValueChange( index );\n\t}\n\n\t/**\n\t * Triggers a value change for the specified index.\n\t *\n\t * @param {number} index - The index of the value to be changed.\n\t */\n\ttriggerValueChange( index ) {\n\t\tif ( null !== this.options[ index ].dependentUpdater ) {\n\t\t\tthis.options[ index ].dependentUpdater.updateAllDependentElements( this.options[ index ].fullValue );\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.sliderElements[ index ].classList.contains( 'frm-has-multiple-values' ) ? this.sliderElements[ index ].closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' ) : this.sliderElements[ index ].querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\tif ( input instanceof NodeList ) {\n\t\t\tinput.forEach( item => {\n\t\t\t\titem.dispatchEvent( this.eventsChange[ index ] );\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tinput.dispatchEvent( this.eventsChange[ index ] );\n\t}\n\n\t/**\n\t * Calculates the value based on the width, deltaX, and maxValue.\n\t *\n\t * @param {number} width - The width of the slider.\n\t * @param {number} deltaX - The change in x-coordinate.\n\t * @param {number} maxValue - The maximum value.\n\t * @return {number} - The calculated value.\n\t */\n\tcalculateValue( width, deltaX, maxValue ) {\n\t\t// Indicates the additional value generated by the slider's drag progress (up to 100%) and the width of the slider bullet.\n\t\t// Generates a more accurate value for the slider's start (0) and end (maximum value) positions, taking into account the slider's position and bullet width.\n\t\tconst delta = Math.ceil( this.sliderBulletWidth * ( deltaX / width ) );\n\n\t\tconst value = Math.ceil( ( ( deltaX + delta ) / width ) * maxValue );\n\n\t\treturn Math.min( value, maxValue );\n\t}\n\n\t/**\n\t * Updates the value of a slider component.\n\t *\n\t * @param {HTMLElement} element - The slider component element.\n\t * @param {string} value - The new value to be set.\n\t * @return {string} - The updated value.\n\t */\n\tupdateValue( element, value ) {\n\t\t// When the slider component is used for \"Base Font Size\", we need to update a hidden input field when change happens to indicate that the \"Base Font Size\" has been adjusted.\n\t\t// Used to avoid conflicts with other possible font sizes adjustemnts in \"Advanced Settings\" when moving from \"Quick Settings\" when \"Base Font Size\" is not changed.\n\t\tif ( element.classList.contains( 'frm-base-font-size' ) ) {\n\t\t\tconst userBaseFontSizeInput = document.querySelector( 'input[name=\"frm_style_setting[post_content][use_base_font_size]\"]' );\n\t\t\tif ( null !== userBaseFontSizeInput ) {\n\t\t\t\tuserBaseFontSizeInput.value = 'true';\n\t\t\t}\n\t\t}\n\t\tif ( element.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\tconst input = element.closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' );\n\t\t\tconst inputValue = input.value.split( ' ' );\n\t\t\tconst type = element.dataset.type;\n\n\t\t\tif ( ! inputValue[ 2 ] ) {\n\t\t\t\tinputValue[ 2 ] = '0px';\n\t\t\t}\n\n\t\t\tif ( ! inputValue[ 3 ] ) {\n\t\t\t\tinputValue[ 3 ] = '0px';\n\t\t\t}\n\n\t\t\tswitch ( type ) {\n\t\t\t\tcase 'vertical':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'horizontal':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'top':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'bottom':\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'left':\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'right':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst newValue = inputValue.join( ' ' );\n\t\t\tinput.value = newValue;\n\n\t\t\tconst childSlidersGroup = this.getSliderGroupItems( element );\n\t\t\tchildSlidersGroup.forEach( slider => {\n\t\t\t\tconst unitMeasure = this.getUnitMeasureFromValue( value );\n\t\t\t\tslider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = parseInt( value, 10 );\n\t\t\t\tslider.querySelector( 'select' ).value = unitMeasure;\n\t\t\t} );\n\n\t\t\treturn newValue;\n\t\t}\n\n\t\tif ( element.classList.contains( 'frm-has-independent-fields' ) ) {\n\t\t\tconst inputValues = element.querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\t\tconst visibleValues = element.querySelectorAll( '.frm-slider-value input[type=\"text\"]' );\n\t\t\tinputValues.forEach( ( input, index ) => {\n\t\t\t\tinput.value = value;\n\t\t\t\tvisibleValues[ index + 1 ].value = parseInt( value, 10 );\n\t\t\t} );\n\n\t\t\treturn value;\n\t\t}\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"hidden\"]' ).value = value;\n\t\treturn value;\n\t}\n\n\t/**\n\t * Returns the unit of measurement used in the given value.\n\t *\n\t * @param {string} value - The value to check for the unit of measurement.\n\t * @return {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found.\n\t */\n\tgetUnitMeasureFromValue( value ) {\n\t\treturn [ '%', 'px', 'em' ].find( unit => value.includes( unit ) ) || '';\n\t}\n}\n","import { frmTabsNavigator } from '../../components/class-tabs-navigator';\n/**\n * Represents a Tabs Component.\n *\n * @class\n */\nexport default class frmTabsComponent {\n\tconstructor() {\n\t\tthis.elements = document.querySelectorAll( '.frm-style-tabs-wrapper' );\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.init();\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the Tabs Component.\n\t */\n\tinit() {\n\t\tthis.elements.forEach( element => {\n\t\t\tnew frmTabsNavigator( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the component on tab click.\n\t *\n\t * @param {Element} wrapper - The wrapper element.\n\t */\n\tinitOnTabClick( wrapper ) {\n\t\tthis.initActiveBackgroundWidth( wrapper );\n\t\twrapper.querySelectorAll( '.frm-tab-item' ).forEach( tab => {\n\t\t\ttab.addEventListener( 'click', event => {\n\t\t\t\tthis.onTabClick( event.target.closest( '.frm-tabs-wrapper' ) );\n\t\t\t} );\n\t\t} );\n\t}\n}\n","export * from './toggle-group.js';\n","/**\n * Group Toggle Component\n *\n * Handles toggling visibility and enabled state of related form elements\n */\n\n/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\nimport { HIDDEN_CLASS, DISABLED_CLASS, SINGLE_SETTINGS_CLASS } from 'core/constants';\n\n/**\n * Class names for group toggle component\n *\n * @private\n */\nconst CLASS_NAMES = {\n\tGROUP_TOGGLE: 'frm-toggle-group',\n\tTOGGLE_BLOCK: 'frm_toggle_block',\n};\n\n/**\n * Data attributes for group toggle component\n *\n * @private\n */\nconst DATA_ATTRIBUTES = {\n\tGROUP_NAME: 'data-group-name',\n\tSHOW: 'data-show',\n\tDISABLE: 'data-disable',\n\tENABLE: 'data-enable',\n};\n\n/**\n * Initialize all group toggle components on the page\n *\n * @return {void}\n */\nfunction initToggleGroupComponents() {\n\tapplyInitialState();\n\taddEventListeners();\n}\n\n/**\n * Apply the initial state for all toggle buttons on the page\n *\n * @private\n * @return {void}\n */\nfunction applyInitialState() {\n\tconst toggleGroups = document.querySelectorAll( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroups.length ) {\n\t\treturn;\n\t}\n\n\ttoggleGroups.forEach( toggleGroup => {\n\t\tconst toggleButton = toggleGroup.querySelector( `[${ DATA_ATTRIBUTES.GROUP_NAME }]:checked` );\n\t\tif ( ! toggleButton ) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyToggleState( toggleButton, toggleGroup );\n\t} );\n}\n\n/**\n * Add event listeners to toggle buttons in a group toggle component\n *\n * @private\n * @return {void}\n */\nfunction addEventListeners() {\n\tdocumentOn( 'change', `.${ CLASS_NAMES.GROUP_TOGGLE } [${ DATA_ATTRIBUTES.GROUP_NAME }]`, handleToggleClick );\n}\n\n/**\n * Handle click events on toggle buttons\n *\n * @private\n * @param {Event} event The click event\n * @return {void}\n */\nfunction handleToggleClick( event ) {\n\tconst toggleButton = event.target;\n\tconst toggleGroup = toggleButton.closest( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroup ) {\n\t\treturn;\n\t}\n\n\tapplyToggleState( toggleButton, toggleGroup );\n}\n\n/**\n * Apply toggle state based on toggle button settings\n * Shared functionality used by both click handler and initial state\n *\n * @private\n * @param {HTMLElement} toggleButton The toggle button element\n * @param {HTMLElement} toggleGroup The toggle group container element\n * @return {void}\n */\nfunction applyToggleState( toggleButton, toggleGroup ) {\n\tconst fieldId = toggleGroup.closest( `.${ SINGLE_SETTINGS_CLASS }` )?.dataset.fid ||\n\t\ttoggleGroup.dataset.fid;\n\n\tconst isChecked = toggleButton.checked;\n\n\t// Handle show/hide elements\n\tconst showSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.SHOW );\n\tif ( showSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( showSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( HIDDEN_CLASS, ! isChecked ) );\n\t}\n\n\t// Handle disable elements\n\tconst disableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.DISABLE );\n\tif ( disableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( disableSelectors, fieldId ) )\n\t\t\t.forEach( element => {\n\t\t\t\telement.classList.toggle( DISABLED_CLASS, isChecked );\n\t\t\t\telement.querySelectorAll( 'input, select, textarea' ).forEach(\n\t\t\t\t\tformElement => formElement.disabled = isChecked\n\t\t\t\t);\n\t\t\t\telement.querySelectorAll( '.frm-show-inline-modal[tabindex]' ).forEach(\n\t\t\t\t\tinlineModal => inlineModal.tabIndex = isChecked ? -1 : 0\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\t// Handle enable elements\n\tconst enableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.ENABLE );\n\tif ( enableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( enableSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( DISABLED_CLASS, ! isChecked ) );\n\t}\n\n\t// Toggle disabled state for all other toggle blocks within the group\n\tconst currentToggleBlock = toggleButton.closest( `.${ CLASS_NAMES.TOGGLE_BLOCK }` );\n\tArray.from( toggleGroup.querySelectorAll( `.${ CLASS_NAMES.TOGGLE_BLOCK }` ) )\n\t\t.filter( toggleBlock => toggleBlock !== currentToggleBlock )\n\t\t.forEach( toggleBlock => {\n\t\t\ttoggleBlock.classList.toggle( DISABLED_CLASS, isChecked );\n\n\t\t\t// Disable toggle switch\n\t\t\tconst toggle = toggleBlock.querySelector( '.frm_toggle' );\n\t\t\ttoggle.tabIndex = isChecked ? -1 : 0;\n\t\t\ttoggle.setAttribute( 'aria-disabled', isChecked );\n\t\t} );\n}\n\n/**\n * Normalize a selector by replacing {id} placeholders with the actual field ID\n *\n * @private\n * @param {string} selector The selector string with potential {id} placeholders\n * @param {string} fieldId The field ID to replace placeholders with\n * @return {string} The normalized selector\n */\nfunction normalizeSelector( selector, fieldId ) {\n\treturn selector.replace( /{id}/g, fieldId );\n}\n\nexport { initToggleGroupComponents };\n","/**\n * Constants for token input component\n *\n * Reusable constants for class names and other static values\n */\n\nexport const CLASS_NAMES = {\n\tCONTAINER: 'frm-token-container',\n\tTOKENS_WRAPPER: 'frm-tokens',\n\tTOKEN: 'frm-token',\n\tTOKEN_VALUE: 'frm-token-value',\n\tTOKEN_REMOVE: 'frm-token-remove',\n\tTOKEN_INPUT_FIELD: 'frm-token-input-field',\n\tTOKEN_PROXY_INPUT: 'frm-token-proxy-input',\n\tWITH_RIGHT_ICON: 'frm-with-right-icon'\n};\n\nexport const KEYS = {\n\tSPACE: ' ',\n\tENTER: 'Enter',\n\tCOMMA: ',',\n\tTAB: 'Tab',\n\tBACKSPACE: 'Backspace'\n};\n\nexport const PROXY_INPUT_HEIGHT = 36;\nexport const TOKEN_GAP = 4;\n","/**\n * Event handlers\n *\n * Functions for handling token input events\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES, KEYS } from './constants';\nimport { addToken, removeToken, synchronizeTokensDisplay } from './token-actions';\nimport { adjustProxyInputStyle } from './proxy-input-style';\n\n/**\n * Add event listeners to token input components\n *\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nexport function addEventListeners( field, proxyInput, tokensWrapper ) {\n\t// The jQuery change event is required to catch programmatic updates, as \"Add Layout Classes\" modifies the field value via jQuery\n\tjQuery( field ).on( 'change', () => synchronizeTokensDisplay( field.value, proxyInput, tokensWrapper ) );\n\n\tproxyInput.addEventListener( 'keydown', event => onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) );\n\tproxyInput.addEventListener( 'blur', () => addToken( proxyInput.value.trim(), field, proxyInput ) );\n\n\ttokensWrapper.addEventListener( 'click', event => handleTokenRemoval( event, field, proxyInput ) );\n}\n\n/**\n * Handle keydown events on the proxy input field\n *\n * @private\n *\n * @param {Event} event Keydown event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nfunction onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) {\n\tconst { key } = event;\n\tconst value = proxyInput.value.trim();\n\n\tswitch ( key ) {\n\t\t// Remove the last token when backspace is pressed and input field is empty (no text being typed)\n\t\tcase KEYS.BACKSPACE:\n\t\t\tif ( ! value ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst lastToken = tokensWrapper.querySelector( `.${ CLASS_NAMES.TOKEN }:last-child` );\n\t\t\t\tremoveToken( lastToken, field, proxyInput );\n\t\t\t}\n\t\t\tbreak;\n\n\t\t// Create a token from current input when delimiter keys are pressed\n\t\tcase KEYS.SPACE:\n\t\tcase KEYS.COMMA:\n\t\tcase KEYS.ENTER:\n\t\t\tevent.preventDefault();\n\t\t\taddToken( value, field, proxyInput );\n\t\t\tbreak;\n\t}\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n\n/**\n * Handle token removal when clicking the remove button\n *\n * @private\n *\n * @param {Event} event Click event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @return {void}\n */\nfunction handleTokenRemoval( event, field, proxyInput ) {\n\tconst removeButton = event.target.closest( `.${ CLASS_NAMES.TOKEN_REMOVE }` );\n\tif ( ! removeButton ) {\n\t\treturn;\n\t}\n\n\tconst token = removeButton.closest( `.${ CLASS_NAMES.TOKEN }` );\n\tif ( ! token ) {\n\t\treturn;\n\t}\n\n\tconst tokensWrapper = token.parentElement;\n\n\tremoveToken( token, field, proxyInput );\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n","export * from './token-input';\n","/**\n * Proxy input style\n *\n * Functions for adjusting proxy input styling\n */\n\nimport { CLASS_NAMES, PROXY_INPUT_HEIGHT, TOKEN_GAP } from './constants';\n\n/**\n * Adjust styling for all proxy inputs on the current settings\n *\n * @return {void}\n */\nexport function adjustAllProxyInputStyles() {\n\tdocument.querySelectorAll( `.${ CLASS_NAMES.CONTAINER }` ).forEach( container =>\n\t\tadjustProxyInputStyle(\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` ),\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` )\n\t\t)\n\t);\n}\n\n/**\n * Adjust the styling of the proxy input based on tokens wrapper dimensions\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nexport function adjustProxyInputStyle( proxyInput, tokensWrapper ) {\n\tif ( ! proxyInput || ! tokensWrapper ) {\n\t\treturn;\n\t}\n\n\tconst tokens = tokensWrapper.querySelectorAll( `.${ CLASS_NAMES.TOKEN }` );\n\tconst hasTokens = tokens.length > 0;\n\n\t// Reset all styles if no tokens\n\tif ( ! hasTokens ) {\n\t\tproxyInput.style.paddingLeft = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.height = '';\n\t\treturn;\n\t}\n\n\tconst tokensWrapperHeight = tokensWrapper.offsetHeight;\n\n\t// Calculate number of rows based on wrapper height\n\tconst numRows = Math.max( 1, Math.ceil( tokensWrapperHeight / PROXY_INPUT_HEIGHT ) );\n\n\tif ( numRows > 1 ) {\n\t\t// For multiple rows, calculate the width of tokens in the last row\n\t\tconst lastRowWidth = calculateLastRowWidth( getLastRowTokens( tokens ) );\n\n\t\tproxyInput.style.height = `${ tokensWrapperHeight }px`;\n\t\tproxyInput.style.paddingTop = `${ tokensWrapperHeight - PROXY_INPUT_HEIGHT + TOKEN_GAP }px`;\n\t\tproxyInput.style.paddingLeft = lastRowWidth ? `${ lastRowWidth + ( TOKEN_GAP * 2 ) }px` : '';\n\t} else {\n\t\t// For single row, use the full width of tokens\n\t\tproxyInput.style.height = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.paddingLeft = `${ tokensWrapper.offsetWidth - TOKEN_GAP }px`;\n\t}\n}\n\n/**\n * Identify tokens in the last row of a multi-row token layout\n *\n * @param {NodeList} tokens All token elements\n * @return {Array} Array of tokens in the last row\n */\nfunction getLastRowTokens( tokens ) {\n\tif ( ! tokens.length ) {\n\t\treturn [];\n\t}\n\n\tconst tokensArray = Array.from( tokens );\n\tlet lastRowY = -1;\n\n\ttokensArray.forEach( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenBottom = tokenRect.bottom;\n\n\t\tif ( tokenBottom > lastRowY ) {\n\t\t\tlastRowY = tokenBottom;\n\t\t}\n\t} );\n\n\tconst threshold = TOKEN_GAP / 2;\n\treturn tokensArray.filter( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\treturn Math.abs( tokenRect.bottom - lastRowY ) <= threshold;\n\t} );\n}\n\n/**\n * Calculate the total width of tokens in the last row\n *\n * @param {Array} lastRowTokens Array of token elements in the last row\n * @return {number} Total width of tokens in the last row\n */\nfunction calculateLastRowWidth( lastRowTokens ) {\n\tif ( ! lastRowTokens.length ) {\n\t\treturn 0;\n\t}\n\n\tlet totalWidth = 0;\n\n\tlastRowTokens.forEach( token => {\n\t\ttotalWidth += token.offsetWidth;\n\t} );\n\n\ttotalWidth += ( lastRowTokens.length - 1 ) * TOKEN_GAP;\n\n\treturn totalWidth + TOKEN_GAP;\n}\n","/**\n * Token actions\n *\n * Core functions for token operations and management\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES } from './constants';\nimport { adjustProxyInputStyle } from './proxy-input-style';\nimport { createTokenElement } from './token-elements';\n\n/**\n * Synchronize token display with the field value\n *\n * @param {string} value The field value\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @return {void}\n */\nexport function synchronizeTokensDisplay( value, proxyInput, tokensWrapper ) {\n\tif ( ! value || ! tokensWrapper || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\t// Clear existing tokens display and render new tokens\n\ttokensWrapper.innerHTML = '';\n\tparseTokens( value ).forEach( token => createTokenElement( token, tokensWrapper ) );\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n\n\tproxyInput.focus();\n}\n\n/**\n * Add a new token to the field\n *\n * @param {string} tokenValue The token value to add\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @return {boolean} Whether a token was added\n */\nexport function addToken( tokenValue, field, proxyInput ) {\n\tif ( ! tokenValue || ! field || ! proxyInput ) {\n\t\treturn false;\n\t}\n\n\t// Get current tokens from field value\n\tconst tokens = parseTokens( field.value );\n\n\t// Skip duplicate tokens\n\tif ( tokens.includes( tokenValue ) ) {\n\t\tclearProxyInput( proxyInput );\n\t\treturn false;\n\t}\n\n\t// Add new token\n\ttokens.push( tokenValue );\n\tupdateFieldValue( field, tokens );\n\tclearProxyInput( proxyInput );\n\treturn true;\n}\n\n/**\n * Remove a specific token from the field\n *\n * @param {HTMLElement} token The token element to remove\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @return {void}\n */\nexport function removeToken( token, field, proxyInput ) {\n\tif ( ! token || ! field || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tconst value = token.querySelector( `.${ CLASS_NAMES.TOKEN_VALUE }` ).textContent;\n\n\t// Filter out the token to remove\n\tconst tokens = parseTokens( field.value ).filter( tokenValue => tokenValue !== value );\n\tupdateFieldValue( field, tokens );\n\n\t// Remove the token element from DOM\n\ttoken.remove();\n\n\tproxyInput.focus();\n}\n\n/**\n * Parse string input into an array of tokens\n *\n * @param {string} value Space-separated string\n * @return {string[]} Array of tokens\n */\nexport function parseTokens( value = '' ) {\n\tvalue = value.trim();\n\n\tif ( ! value ) {\n\t\treturn [];\n\t}\n\n\treturn value.split( /\\s+/ ).filter( Boolean );\n}\n\n/**\n * Update field value with tokens and trigger change event\n *\n * @param {HTMLElement} field The field to update\n * @param {string[]} tokens Array of token values\n * @return {void}\n */\nexport function updateFieldValue( field, tokens = [] ) {\n\tif ( ! field ) {\n\t\treturn;\n\t}\n\n\tfield.value = tokens.join( ' ' );\n\tjQuery( field ).trigger( 'change' );\n}\n\n/**\n * Clear proxy input and maintain focus\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @return {void}\n */\nexport function clearProxyInput( proxyInput ) {\n\tif ( ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tproxyInput.value = '';\n\tproxyInput.focus();\n}\n","/**\n * Token elements\n *\n * Functions for creating token DOM elements\n */\n\n/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\n\nconst { span, svg, tag } = window.frmDom;\n\n/**\n * Create token container and input elements\n *\n * @param {HTMLElement} field Input field for tokenization\n * @return {HTMLElement|null} The container element or null if already initialized\n */\nexport function createTokenContainerElement( field ) {\n\t// Get the main container (.frm-with-right-icon) to work with Formidable's modal system\n\tconst container = field.closest( `.${ CLASS_NAMES.WITH_RIGHT_ICON }` );\n\n\tif ( container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` ) ) {\n\t\treturn null;\n\t}\n\n\tcontainer.classList.add( CLASS_NAMES.CONTAINER );\n\n\tconst tokensWrapper = span( {\n\t\tclassName: CLASS_NAMES.TOKENS_WRAPPER\n\t} );\n\n\tcontainer.insertBefore( tokensWrapper, container.firstChild );\n\n\tconst proxyInput = tag( 'input', {\n\t\tclassName: CLASS_NAMES.TOKEN_PROXY_INPUT,\n\t\tid: `${ field.id }-proxy-input`\n\t} );\n\n\tproxyInput.type = 'text';\n\n\t// Inserting proxyInput after the field is important to maintain compatibility with Formidable's modal system\n\tfield.parentNode.insertBefore( proxyInput, field.nextSibling );\n\tfield.classList.add( HIDDEN_CLASS );\n\n\treturn container;\n}\n\n/**\n * Create a single token element\n *\n * @param {string} value Token value\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @return {void}\n */\nexport function createTokenElement( value, tokensWrapper ) {\n\tconst tokenElement = span( {\n\t\tclassName: CLASS_NAMES.TOKEN,\n\t\tchildren: [\n\t\t\tspan( {\n\t\t\t\ttext: value,\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_VALUE\n\t\t\t} ),\n\t\t\tspan( {\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_REMOVE,\n\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t} )\n\t\t]\n\t} );\n\n\ttokensWrapper.appendChild( tokenElement );\n}\n","/**\n * Token Input Component\n *\n * Transforms space-separated values in a text input into selectable tokens\n */\n\n/**\n * Internal dependencies\n */\nimport { HOOKS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\nimport { createTokenContainerElement } from './token-elements';\nimport { synchronizeTokensDisplay } from './token-actions';\nimport { adjustAllProxyInputStyles } from './proxy-input-style';\nimport { addEventListeners } from './event-handlers';\n\n/**\n * Initialize all token input fields on the page\n *\n * @return {void}\n */\nfunction initTokenInputFields() {\n\tfindAndInitializeTokenFields();\n\n\t/**\n\t * Initialize for newly added fields\n\t *\n\t * @param {Event} event The frm_added_field event.\n\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\tfindAndInitializeTokenFields( frmField.dataset.fid )\n\t);\n\n\t/**\n\t * Initialize for newly added fields via AJAX\n\t *\n\t * @param {Event} event The frm_ajax_loaded_field event.\n\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\tfrmFields.forEach( field => findAndInitializeTokenFields( field.id ) )\n\t);\n\n\t// Adjust styling for all token inputs when field settings are shown\n\twp.hooks.addAction( HOOKS.SHOW_FIELD_SETTINGS, 'formidable-token-input', adjustAllProxyInputStyles );\n}\n\n/**\n * Find all token input fields and initialize them\n *\n * @private\n * @param {string|number} fieldId The ID of the field to initialize\n * @return {void}\n */\nfunction findAndInitializeTokenFields( fieldId ) {\n\tconst container = fieldId ? document.getElementById( `frm-single-settings-${ fieldId }` ) : document.body;\n\tconst tokenInputFields = container.querySelectorAll( `.${ CLASS_NAMES.TOKEN_INPUT_FIELD }` );\n\tif ( ! tokenInputFields.length ) {\n\t\treturn;\n\t}\n\n\t// Track processed fields to prevent duplicate initialization\n\tconst processedFields = new Set();\n\ttokenInputFields.forEach( field => {\n\t\tif ( ! processedFields.has( field.id ) ) {\n\t\t\tsetupTokenInput( field );\n\t\t\tprocessedFields.add( field.id );\n\t\t}\n\t} );\n}\n\n/**\n * Set up a token input field with token container\n *\n * @private\n *\n * @param {HTMLElement} field Input field for tokenization\n */\nfunction setupTokenInput( field ) {\n\tconst container = createTokenContainerElement( field );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tconst proxyInput = container.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` );\n\tconst tokensWrapper = container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` );\n\n\tsynchronizeTokensDisplay( field.value, proxyInput, tokensWrapper );\n\taddEventListeners( field, proxyInput, tokensWrapper );\n}\n\nexport { initTokenInputFields };\n","/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\n\n/**\n * Setup unit input handlers\n *\n * @return {void}\n */\nexport function setupUnitInputHandlers() {\n\tdocumentOn( 'change', '.frm-unit-input .frm-unit-input-control', onUnitInputChange );\n\tdocumentOn( 'change', '.frm-unit-input select', onUnitInputChange );\n}\n\n/**\n * Handle the change event for the unit input\n *\n * @private\n * @param {Event} event The event object.\n * @return {void}\n */\nfunction onUnitInputChange( event ) {\n\tconst unitInput = event.target.closest( '.frm-unit-input' );\n\tconst control = unitInput.querySelector( '.frm-unit-input-control' );\n\tconst unit = unitInput.querySelector( 'select' ).value;\n\n\t// Update input type when unit changes\n\tif ( event.target.matches( 'select' ) ) {\n\t\tcontrol.type = '' === unit ? 'text' : 'number';\n\t}\n\n\t// Update the actual field value\n\tconst inputValue = control.value.trim();\n\tunitInput.querySelector( 'input[type=\"hidden\"]' ).value = '' !== inputValue ? inputValue + unit : '';\n}\n\n","/**\n * Redirects to \"Add Fields\" tab when the \"Add Fields\" button is clicked.\n *\n * When users view the Field Options tab with no fields, they see an \"Add Fields\" button.\n * Clicking this button should take them to the \"Add Fields\" tab for field selection.\n */\n\n/**\n * Initializes the Add Fields button click handler.\n */\nconst initAddFieldsButtonHandler = () => {\n\tdocument.getElementById( 'frm-form-add-field' )?.addEventListener( 'click', event => {\n\t\tevent.preventDefault();\n\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t} );\n};\n\nexport default initAddFieldsButtonHandler;\n","export { default as initAddFieldsButtonHandler } from './add-fields-button-handler';\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { initAddFieldsButtonHandler } from './events';\nimport {\n\tfrmRadioComponent,\n\tfrmSliderComponent,\n\tfrmTabsComponent,\n\tinitTokenInputFields,\n\tinitToggleGroupComponents,\n\tsetupUnitInputHandlers\n} from './components';\n\ndomReady( () => {\n\tnew frmRadioComponent();\n\tnew frmSliderComponent();\n\tnew frmTabsComponent();\n\tinitAddFieldsButtonHandler();\n\tinitTokenInputFields();\n\tinitToggleGroupComponents();\n\tsetupUnitInputHandlers();\n} );\n"],"names":["frmStyleDependentUpdaterComponent","component","_classCallCheck","willChangeData","JSON","parse","dataset","willChange","data","propagateInputs","initPropagationList","changeEvent","Event","bubbles","error","console","_createClass","key","value","inputNames","list","forEach","name","input","document","querySelector","concat","push","updateAllDependentElements","dispatchEvent","default","frmTabsNavigator","wrapper","Element","flexboxSlidesGap","navs","querySelectorAll","slideTrackLine","slideTrack","slides","isRTL","documentElement","dir","body","resizeObserver","init","_this","length","initDefaultSlideTrackerWidth","nav","index","addEventListener","event","onNavClick","setupScrollbarObserver","window","cleanupObservers","navItem","currentTarget","preventDefault","removeActiveClassnameFromNavs","classList","add","initSlideTrackUnderline","changeSlide","navLink","id","closest","_window$frmAdminBuild","_window$frmAdminBuild2","frmAdminBuild","clearSettingsBox","call","initialWidth","style","width","remove","activeNav","filter","contains","positionUnderlineIndicator","_this2","scrollbarWrapper","ResizeObserver","observe","disconnect","_this3","requestAnimationFrame","position","parentElement","offsetWidth","offsetLeft","transform","clientWidth","removeActiveClassnameFromSlides","translate","parseInt","removeProperty","slide","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","frmAnimate","elements","type","arguments","undefined","prepareElements","fadeIn","applyStyleToElements","element","resetOpacity","once","cascadeFadeIn","delay","setTimeout","transitionDelay","opacity","callback","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","warn","span","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","frmRadioComponent","frmSliderComponent","frmTabsComponent","radioElements","observers","Map","_ref","frmField","discoverAndInitFieldRadios","fid","_ref2","frmFields","field","initRadio","initTrackerOnAccordionClick","fieldId","fieldContainer","getElementById","Error","initOnRadioChange","initVisibilityObserver","accordionitems","accordionitem","target","radioButtons","radio","onRadioChange","radioElement","_this4","checked","activeItem","moveTracker","hideExtraElements","maybeShowExtraElements","elementAttr","getAttribute","_this5","observer","MutationObserver","attributes","attributeFilter","parent","i","clear","offset","tracker","left","frmDependentUpdaterComponent","sliderElements","sliderBulletWidth","sliderMarginRight","eventsChange","debounce","valueChangeDebouncer","triggerValueChange","initOptions","options","parentWrapper","dragging","startX","translateX","maxValue","dependentUpdater","initSlidersPosition","initDraggable","cancelable","draggableBullet","valueInput","unit","getMaxValue","initSliderWidth","fullValue","updateValue","expandSliderGroup","updateOnUnitChange","changeSliderPositionOnClick","stopPropagation","enableDragging","disableDragging","svgIcon","displaySliders","sliderGroupItems","getSliderGroupItems","item","toggle","toLowerCase","frmSlider","customEvent","sliderWidth","sliderRect","getBoundingClientRect","deltaX","clientX","calculateValue","initChildSlidersWidth","slidersGroup","split","query","map","join","_this6","quickSettings","openedAccordion","wp","hooks","addAction","imageBackgroundOpacitySlider","initSlidersWidth","initSliderPositionOnFieldShapeChange","_this7","fieldShapeType","slider","section","_this8","sliders","getSliderIndex","Math","round","ceil","_this9","childSliders","childIndex","option","max","innerText","_this0","NodeList","delta","min","_this1","userBaseFontSizeInput","inputValue","newValue","childSlidersGroup","unitMeasure","getUnitMeasureFromValue","inputValues","visibleValues","find","initOnTabClick","initActiveBackgroundWidth","tab","onTabClick","CLASS_NAMES","GROUP_TOGGLE","TOGGLE_BLOCK","DATA_ATTRIBUTES","GROUP_NAME","SHOW","DISABLE","ENABLE","initToggleGroupComponents","applyInitialState","addEventListeners","toggleGroups","toggleGroup","toggleButton","applyToggleState","handleToggleClick","_toggleGroup$closest","isChecked","showSelectors","normalizeSelector","disableSelectors","formElement","disabled","inlineModal","tabIndex","enableSelectors","currentToggleBlock","toggleBlock","selector","replace","CONTAINER","TOKENS_WRAPPER","TOKEN","TOKEN_VALUE","TOKEN_REMOVE","TOKEN_INPUT_FIELD","TOKEN_PROXY_INPUT","WITH_RIGHT_ICON","KEYS","SPACE","ENTER","COMMA","TAB","BACKSPACE","PROXY_INPUT_HEIGHT","TOKEN_GAP","addToken","removeToken","synchronizeTokensDisplay","adjustProxyInputStyle","proxyInput","tokensWrapper","jQuery","on","onProxyInputKeydown","trim","handleTokenRemoval","lastToken","removeButton","token","adjustAllProxyInputStyles","container","tokens","hasTokens","paddingLeft","paddingTop","height","tokensWrapperHeight","offsetHeight","numRows","lastRowWidth","calculateLastRowWidth","getLastRowTokens","tokensArray","lastRowY","tokenRect","tokenBottom","bottom","threshold","abs","lastRowTokens","totalWidth","createTokenElement","innerHTML","parseTokens","focus","tokenValue","clearProxyInput","updateFieldValue","Boolean","trigger","_window$frmDom","createTokenContainerElement","className","insertBefore","firstChild","parentNode","nextSibling","tokenElement","children","text","child","appendChild","initTokenInputFields","findAndInitializeTokenFields","tokenInputFields","processedFields","Set","setupTokenInput","setupUnitInputHandlers","onUnitInputChange","unitInput","control","matches","initAddFieldsButtonHandler","_document$getElementB","_document$querySelect","click","domReady"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"formidable-settings-components.js","mappings":"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","sources":["webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./js/src/admin/components/dependent-updater-component.js","webpack://formidable/./js/src/components/class-tabs-navigator.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/settings-components/components/index.js","webpack://formidable/./js/src/settings-components/components/radio-component.js","webpack://formidable/./js/src/settings-components/components/slider-component.js","webpack://formidable/./js/src/settings-components/components/tabs-component.js","webpack://formidable/./js/src/settings-components/components/toggle-group/index.js","webpack://formidable/./js/src/settings-components/components/toggle-group/toggle-group.js","webpack://formidable/./js/src/settings-components/components/token-input/constants.js","webpack://formidable/./js/src/settings-components/components/token-input/event-handlers.js","webpack://formidable/./js/src/settings-components/components/token-input/index.js","webpack://formidable/./js/src/settings-components/components/token-input/proxy-input-style.js","webpack://formidable/./js/src/settings-components/components/token-input/token-actions.js","webpack://formidable/./js/src/settings-components/components/token-input/token-elements.js","webpack://formidable/./js/src/settings-components/components/token-input/token-input.js","webpack://formidable/./js/src/settings-components/components/unit-input.js","webpack://formidable/./js/src/settings-components/events/add-fields-button-handler.js","webpack://formidable/./js/src/settings-components/events/index.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/settings-components/index.js"],"sourcesContent":["/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview.\n * The names of the elements that will be updated are specified using the \"will-change\" attribute.\n * It is primarily used in components from Style/Quick Settings.\n * For instance, when the \"FrmPrimaryColorStyleComponent\" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds.\n */\nexport default class frmStyleDependentUpdaterComponent {\n\t/**\n\t * Creates an instance of frmStyleDependentUpdaterComponent.\n\t *\n\t * @param {HTMLElement} component - The component element.\n\t */\n\tconstructor( component ) {\n\t\tthis.component = component;\n\t\ttry {\n\t\t\tconst willChangeData = JSON.parse( this.component.dataset.willChange );\n\t\t\tthis.data = {\n\t\t\t\tpropagateInputs: this.initPropagationList( willChangeData ),\n\t\t\t\tchangeEvent: new Event( 'change', { bubbles: true } )\n\t\t\t};\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'Error parsing JSON data from \"will-change\" attribute.', error );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the list of inputs to propagate changes to.\n\t * The selection is made by provided input's names list in \"will-change\" attribute.\n\t *\n\t * @param {string[]} inputNames - The names of the inputs to propagate changes to.\n\t * @return {HTMLElement[]} - The list of inputs to propagate changes to.\n\t */\n\tinitPropagationList( inputNames ) {\n\t\tconst list = [];\n\t\tinputNames.forEach( name => {\n\t\t\tconst input = document.querySelector( `input[name=\"${ name }\"]` );\n\t\t\tif ( null !== input ) {\n\t\t\t\tlist.push( input );\n\t\t\t}\n\t\t} );\n\t\treturn list;\n\t}\n\n\t/**\n\t * Updates all dependent elements with the given value.\n\t *\n\t * @param {string} value - The value to update the dependent elements with.\n\t */\n\tupdateAllDependentElements( value ) {\n\t\tthis.data.propagateInputs.forEach( input => {\n\t\t\tinput.value = value;\n\t\t} );\n\t\tthis.data.propagateInputs[ 0 ].dispatchEvent( this.data.changeEvent );\n\t}\n}\n","export class frmTabsNavigator {\n\tconstructor( wrapper ) {\n\t\tif ( 'undefined' === typeof wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.wrapper = wrapper instanceof Element ? wrapper : document.querySelector( wrapper );\n\n\t\tif ( null === this.wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.flexboxSlidesGap = '16px';\n\t\tthis.navs = this.wrapper.querySelectorAll( '.frm-tabs-navs ul > li' );\n\t\tthis.slideTrackLine = this.wrapper.querySelector( '.frm-tabs-active-underline' );\n\t\tthis.slideTrack = this.wrapper.querySelector( '.frm-tabs-slide-track' );\n\t\tthis.slides = this.wrapper.querySelectorAll( '.frm-tabs-slide-track > div' );\n\t\tthis.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl';\n\t\tthis.resizeObserver = null;\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif ( null === this.wrapper || ! this.navs.length || null === this.slideTrackLine || null === this.slideTrack || ! this.slides.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initDefaultSlideTrackerWidth();\n\t\tthis.navs.forEach( ( nav, index ) => {\n\t\t\tnav.addEventListener( 'click', event => this.onNavClick( event, index ) );\n\t\t} );\n\n\t\tthis.setupScrollbarObserver();\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', this.cleanupObservers );\n\t}\n\n\tonNavClick( event, index ) {\n\t\tconst navItem = event.currentTarget;\n\n\t\tevent.preventDefault();\n\n\t\tthis.removeActiveClassnameFromNavs();\n\t\tnavItem.classList.add( 'frm-active' );\n\t\tthis.initSlideTrackUnderline( navItem, index );\n\t\tthis.changeSlide( index );\n\n\t\t// Handle special case for frm_insert_fields_tab\n\t\tconst navLink = navItem.querySelector( 'a' );\n\t\tif ( navLink && navLink.id === 'frm_insert_fields_tab' && ! navLink.closest( '#frm_adv_info' ) ) {\n\t\t\twindow.frmAdminBuild?.clearSettingsBox?.();\n\t\t}\n\t}\n\n\tinitDefaultSlideTrackerWidth() {\n\t\tif ( ! this.slideTrackLine.dataset.initialWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.slideTrackLine.style.width = `${ this.slideTrackLine.dataset.initialWidth }px`;\n\t}\n\tinitSlideTrackUnderline( nav, index ) {\n\t\tthis.slideTrackLine.classList.remove( 'frm-first', 'frm-last' );\n\t\tconst activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter( nav => nav.classList.contains( 'frm-active' ) );\n\t\tthis.positionUnderlineIndicator( activeNav );\n\t}\n\n\t/**\n\t * Sets up a ResizeObserver to watch for scrollbar changes in the parent container.\n\t * Automatically repositions the underline indicator when layout changes occur.\n\t */\n\tsetupScrollbarObserver() {\n\t\tconst scrollbarWrapper = this.wrapper.closest( '.frm-scrollbar-wrapper' );\n\n\t\tif ( ! scrollbarWrapper || ! ( 'ResizeObserver' in window ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.resizeObserver = new ResizeObserver( () => {\n\t\t\tconst activeNav = this.wrapper.querySelector( '.frm-tabs-navs ul > li.frm-active' );\n\t\t\tif ( activeNav ) {\n\t\t\t\tthis.positionUnderlineIndicator( activeNav );\n\t\t\t}\n\t\t} );\n\n\t\tthis.resizeObserver.observe( scrollbarWrapper );\n\t}\n\n\t/**\n\t * Cleans up observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t\tthis.resizeObserver = null;\n\t\t}\n\t}\n\n\t/**\n\t * Positions the underline indicator based on the active navigation element.\n\t *\n\t * @param {HTMLElement} activeNav The active navigation element to position the underline under\n\t */\n\tpositionUnderlineIndicator( activeNav ) {\n\t\trequestAnimationFrame( () => {\n\t\t\tconst position = this.isRTL\n\t\t\t\t? -( activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth )\n\t\t\t\t: activeNav.offsetLeft;\n\n\t\t\tthis.slideTrackLine.style.transform = `translateX(${ position }px)`;\n\t\t\tthis.slideTrackLine.style.width = activeNav.clientWidth + 'px';\n\t\t} );\n\t}\n\n\tchangeSlide( index ) {\n\t\tthis.removeActiveClassnameFromSlides();\n\t\tconst translate = index == 0 ? '0px' : `calc( ( ${ ( index * 100 ) }% + ${ parseInt( this.flexboxSlidesGap, 10 ) * index }px ) * ${ this.isRTL ? 1 : -1 } )`;\n\t\tif ( '0px' !== translate ) {\n\t\t\tthis.slideTrack.style.transform = `translateX(${ translate })`;\n\t\t} else {\n\t\t\tthis.slideTrack.style.removeProperty( 'transform' );\n\t\t}\n\t\tif ( index in this.slides ) {\n\t\t\tthis.slides[ index ].classList.add( 'frm-active' );\n\t\t}\n\t}\n\n\tremoveActiveClassnameFromSlides() {\n\t\tthis.slides.forEach( slide => slide.classList.remove( 'frm-active' ) );\n\t}\n\n\tremoveActiveClassnameFromNavs() {\n\t\tthis.navs.forEach( nav => nav.classList.remove( 'frm-active' ) );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","export { default as frmRadioComponent } from './radio-component';\nexport { default as frmSliderComponent } from './slider-component';\nexport { default as frmTabsComponent } from './tabs-component';\nexport * from './token-input';\nexport * from './toggle-group';\nexport * from './unit-input';\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { show, hide, isVisible } from 'core/utils';\n\n/**\n * Represents a radio component.\n *\n * @class\n */\nexport default class frmRadioComponent {\n\tconstructor() {\n\t\tthis.radioElements = document.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.observers = new Map();\n\t\tif ( 0 < this.radioElements.length ) {\n\t\t\tthis.init();\n\t\t}\n\n\t\t/**\n\t\t * Handles the addition of new fields.\n\t\t *\n\t\t * @param {Event} event The frm_added_field event.\n\t\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\t\tthis.discoverAndInitFieldRadios( frmField.dataset.fid )\n\t\t);\n\n\t\t/**\n\t\t * Handles the addition of new fields via AJAX.\n\t\t *\n\t\t * @param {Event} event The frm_ajax_loaded_field event.\n\t\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\t\tfrmFields.forEach( field => this.discoverAndInitFieldRadios( field.id ) )\n\t\t);\n\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', () => this.cleanupObservers() );\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinit() {\n\t\tthis.initRadio();\n\t\tthis.initTrackerOnAccordionClick();\n\t}\n\n\t/**\n\t * Discovers and initializes radio components for a specific field.\n\t *\n\t * @param {string|number} fieldId The unique identifier of the field whose radio components should be discovered and initialized\n\t * @throws {Error} Throws an error if the field container is not found in the DOM\n\t */\n\tdiscoverAndInitFieldRadios( fieldId ) {\n\t\tconst fieldContainer = document.getElementById( `frm-single-settings-${ fieldId }` );\n\n\t\tif ( ! fieldContainer ) {\n\t\t\tthrow new Error( `Field container not found for field ID: ${ fieldId }` );\n\t\t}\n\n\t\tthis.radioElements = fieldContainer.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.initRadio();\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinitRadio() {\n\t\tthis.radioElements.forEach( element => {\n\t\t\tthis.initOnRadioChange( element );\n\t\t\tthis.initVisibilityObserver( element );\n\t\t} );\n\t}\n\n\tinitTrackerOnAccordionClick() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\n\t\taccordionitems.forEach( accordionitem => {\n\t\t\taccordionitem.addEventListener( 'click', event => {\n\t\t\t\tconst wrapper = event.target.closest( '.accordion-section' );\n\t\t\t\tconst radioButtons = wrapper.querySelectorAll( '.frm-style-component.frm-radio-component input[type=\"radio\"]:checked' );\n\n\t\t\t\tradioButtons.forEach( radio => {\n\t\t\t\t\tsetTimeout( () => this.onRadioChange( radio ), 200 );\n\t\t\t\t} );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} radioElement - The radio element.\n\t */\n\tinitOnRadioChange( radioElement ) {\n\t\tradioElement.querySelectorAll( 'input[type=\"radio\"]' ).forEach( radio => {\n\t\t\tif ( radio.checked ) {\n\t\t\t\tthis.onRadioChange( radio );\n\t\t\t}\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tthis.onRadioChange( event.target );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} target - The active radio button.\n\t */\n\tonRadioChange( target ) {\n\t\tconst wrapper = target.closest( '.frm-style-component.frm-radio-component' );\n\t\tconst activeItem = wrapper.querySelector( 'input[type=\"radio\"]:checked + label' );\n\n\t\tif ( null === activeItem ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.moveTracker( activeItem, wrapper );\n\t\tthis.hideExtraElements( target );\n\t\tthis.maybeShowExtraElements( target );\n\t}\n\n\t/**\n\t * Display additional elements related to the selected radio option.\n\t *\n\t * @param {HTMLElement} radio - The radio button element.\n\t */\n\tmaybeShowExtraElements( radio ) {\n\t\tconst elementAttr = radio.getAttribute( 'data-frm-show-element' );\n\t\tif ( null === elementAttr ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elements = document.querySelectorAll( `div[data-frm-element=\"${ elementAttr }\"]` );\n\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\telements.forEach( element => {\n\t\t\tshow( element );\n\t\t\telement.classList.add( 'frm-element-is-visible' );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes visibility observer for the radio component. This handles cases when components are conditionally shown.\n\t *\n\t * @param {HTMLElement} element The radio component element\n\t * @return {void}\n\t */\n\tinitVisibilityObserver( element ) {\n\t\tif ( this.observers.has( element ) ) {\n\t\t\tthis.observers.get( element ).disconnect();\n\t\t}\n\n\t\tconst observer = new MutationObserver( () => {\n\t\t\t// Check if element is now visible\n\t\t\tif ( isVisible( element ) ) {\n\t\t\t\tconst radio = element.querySelector( 'input[type=\"radio\"]:checked' );\n\t\t\t\tif ( radio ) {\n\t\t\t\t\tthis.onRadioChange( radio );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\tthis.observers.set( element, observer );\n\n\t\t// Observe for attribute changes on the component and its ancestors\n\t\tobserver.observe( element, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t} );\n\n\t\t// Also observe parent elements up to a reasonable depth\n\t\tlet parent = element.parentElement;\n\t\tfor ( let i = 0; i < 7 && parent; i++ ) {\n\t\t\tobserver.observe( parent, {\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t\t} );\n\t\t\tparent = parent.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Cleanup all observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tthis.observers.forEach( observer => {\n\t\t\tobserver.disconnect();\n\t\t} );\n\n\t\tthis.observers.clear();\n\t}\n\n\t/**\n\t * Hide the possible opepend extra elements.\n\t */\n\thideExtraElements() {\n\t\tconst elements = document.querySelectorAll( '.frm-element-is-visible' );\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\t\telements.forEach( element => {\n\t\t\telement.classList.remove( 'frm-element-is-visible' );\n\t\t\telement.classList.add( HIDDEN_CLASS );\n\t\t\thide( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Moves the tracker to the active item.\n\t *\n\t * @param {HTMLElement} activeItem - The active item element.\n\t * @param {HTMLElement} wrapper - The wrapper element.\n\t */\n\tmoveTracker( activeItem, wrapper ) {\n\t\tconst offset = activeItem.offsetLeft;\n\t\tconst width = activeItem.offsetWidth;\n\t\tconst tracker = wrapper.querySelector( '.frm-radio-active-tracker' );\n\n\t\ttracker.style.left = 0;\n\t\ttracker.style.width = `${ width }px`;\n\t\ttracker.style.transform = `translateX(${ offset }px)`;\n\t}\n}\n","\n/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport frmDependentUpdaterComponent from '../../admin/components/dependent-updater-component';\n\n/**\n * Represents a slider component.\n *\n * @class frmSliderComponent\n */\nexport default class frmSliderComponent {\n\tconstructor() {\n\t\tthis.sliderElements = document.querySelectorAll( '.frm-slider-component' );\n\t\tif ( 0 === this.sliderElements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The slider bullet point width in pixels. Used in value calculation on drag event.\n\t\tthis.sliderBulletWidth = 16;\n\t\tthis.sliderMarginRight = 5;\n\t\tthis.eventsChange = [];\n\n\t\tconst { debounce } = frmDom.util;\n\t\tthis.valueChangeDebouncer = debounce( index => this.triggerValueChange( index ), 25 );\n\n\t\tthis.initOptions();\n\t\tthis.init();\n\t}\n\n\t/**\n\t * Initializes the options for the slider component.\n\t */\n\tinitOptions() {\n\t\tthis.options = [];\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tconst parentWrapper = element.classList.contains( 'frm-has-multiple-values' ) ? element.closest( '.frm-style-component' ) : element;\n\t\t\tthis.options.push( {\n\t\t\t\tdragging: false,\n\t\t\t\tstartX: 0,\n\t\t\t\ttranslateX: 0,\n\t\t\t\tmaxValue: parseInt( element.dataset.maxValue, 10 ),\n\t\t\t\telement: element,\n\t\t\t\tindex: index,\n\t\t\t\tvalue: 0,\n\t\t\t\tdependentUpdater: parentWrapper.classList.contains( 'frm-style-dependent-updater-component' ) ? new frmDependentUpdaterComponent( parentWrapper ) : null\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the slider component.\n\t */\n\tinit() {\n\t\tthis.initSlidersPosition();\n\t\tthis.initDraggable();\n\t}\n\n\t/**\n\t * Initializes the draggable functionality for the slider component.\n\t */\n\tinitDraggable() {\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tthis.eventsChange[ index ] = new Event( 'change', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true\n\t\t\t} );\n\t\t\tconst draggableBullet = element.querySelector( '.frm-slider-bullet' );\n\t\t\tconst valueInput = element.querySelector( '.frm-slider-value input[type=\"text\"]' );\n\n\t\t\tvalueInput.addEventListener( 'change', event => {\n\t\t\t\tconst unit = element.querySelector( 'select' ).value;\n\n\t\t\t\tif ( this.getMaxValue( unit, index ) < parseInt( event.target.value, 10 ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.initSliderWidth( element );\n\t\t\t\tthis.options[ index ].fullValue = this.updateValue( element, valueInput.value + unit );\n\t\t\t\tthis.triggerValueChange( index );\n\t\t\t} );\n\n\t\t\tthis.expandSliderGroup( element );\n\t\t\tthis.updateOnUnitChange( element, valueInput, index );\n\t\t\tthis.changeSliderPositionOnClick( element, valueInput, index );\n\n\t\t\tdraggableBullet.addEventListener( 'mousedown', event => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.enableDragging( event, index );\n\t\t\t} );\n\n\t\t\tdraggableBullet.addEventListener( 'mousemove', event => {\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.moveTracker( event, index );\n\t\t\t} );\n\n\t\t\tdraggableBullet.addEventListener( 'mouseup', event => {\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.disableDragging( index, event );\n\t\t\t} );\n\n\t\t\tdraggableBullet.addEventListener( 'mouseleave', event => {\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.disableDragging( index, event );\n\t\t\t} );\n\t\t} );\n\t}\n\n\texpandSliderGroup( element ) {\n\t\tconst svgIcon = element.querySelector( '.frmsvg' );\n\n\t\tif ( 'undefined' === typeof element.dataset.displaySliders || null === svgIcon ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sliderGroupItems = this.getSliderGroupItems( element );\n\t\tsvgIcon.addEventListener( 'click', ( ) => {\n\t\t\tsliderGroupItems.forEach( item => {\n\t\t\t\titem.classList.toggle( HIDDEN_CLASS );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tupdateOnUnitChange( element, valueInput, index ) {\n\t\telement.querySelector( 'select' ).addEventListener( 'change', event => {\n\t\t\tconst unit = event.target.value.toLowerCase();\n\n\t\t\tif ( '' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled', 'frm-empty' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( 'auto' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled' );\n\t\t\t\tthis.updateValue( element, 'auto' );\n\t\t\t\tthis.triggerValueChange( index );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement.classList.remove( 'frm-disabled', 'frm-empty' );\n\t\t\tthis.options[ index ].fullValue = valueInput.value + unit;\n\t\t\tthis.updateValue( element, this.options[ index ].fullValue );\n\t\t\tthis.triggerValueChange( index );\n\t\t} );\n\t}\n\n\tchangeSliderPositionOnClick( element, valueInput, index ) {\n\t\tconst frmSlider = element.querySelector( '.frm-slider' );\n\t\tconst customEvent = new Event( 'change', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true\n\t\t} );\n\n\t\tfrmSlider.addEventListener( 'click', event => {\n\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tif ( ! event.target.classList.contains( 'frm-slider' ) && ! event.target.classList.contains( 'frm-slider-active-track' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst sliderWidth = frmSlider.offsetWidth - this.sliderBulletWidth;\n\t\t\tconst sliderRect = frmSlider.getBoundingClientRect();\n\t\t\tconst deltaX = event.clientX - sliderRect.left - this.sliderBulletWidth;\n\t\t\tconst unit = element.querySelector( 'select' ).value;\n\t\t\tconst value = this.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ) );\n\n\t\t\tif ( value < 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.options[ index ].fullValue = this.updateValue( element, value + unit );\n\t\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\t\tvalueInput.value = value;\n\t\t\tvalueInput.dispatchEvent( customEvent );\n\t\t} );\n\t}\n\n\t/**\n\t * Retrieves an array of slider group items based on the provided element.\n\t *\n\t * @param {HTMLElement} element - The element to retrieve slider group items from.\n\t * @return {NodeList} - An array-like object containing the slider group items.\n\t */\n\tgetSliderGroupItems( element ) {\n\t\tif ( 'undefined' === typeof element.dataset.displaySliders ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst slidersGroup = element.dataset.displaySliders.split( ',' );\n\t\tconst query = slidersGroup.map( item => {\n\t\t\treturn `.frm-slider-component[data-type=\"${ item }\"]`;\n\t\t} ).join( ', ' );\n\n\t\treturn element.closest( '.frm-style-component' ).querySelectorAll( query );\n\t}\n\n\t/**\n\t * Initializes the position of sliders when a accordion section is opened.\n\t */\n\tinitSlidersPosition() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\t\tconst quickSettings = document.querySelector( '.frm-quick-settings' );\n\t\tconst openedAccordion = document.querySelector( '.accordion-section.open' );\n\n\t\t// Detect if upload background image upload has triggered and initialize the \"Image Opacity\" slider width.\n\t\twp.hooks.addAction( 'frm_pro_on_bg_image_upload', 'formidable', event => {\n\t\t\tconst imageBackgroundOpacitySlider = event.closest( '.accordion-section-content' ).querySelector( '#frm-bg-image-opacity-slider' );\n\t\t\tthis.initSlidersWidth( imageBackgroundOpacitySlider );\n\t\t} );\n\n\t\t// init the sliders width from \"Quick Settings\" page.\n\t\tif ( null !== quickSettings ) {\n\t\t\tthis.initSlidersWidth( quickSettings );\n\t\t}\n\n\t\t// Init the sliders width in opened accordion section from \"Advanced Settings\" page.\n\t\tif ( null !== openedAccordion ) {\n\t\t\tthis.initSlidersWidth( openedAccordion );\n\t\t}\n\n\t\t// init the sliders width everytime when an accordion section is opened from \"Advanced Settings\" page.\n\t\taccordionitems.forEach( item => {\n\t\t\titem.addEventListener( 'click', event => {\n\t\t\t\tthis.initSlidersWidth( event.target.closest( '.accordion-section' ) );\n\t\t\t} );\n\t\t} );\n\n\t\tthis.initSliderPositionOnFieldShapeChange();\n\t}\n\n\t/**\n\t * Initializes the width of \"Corner Radius\" slider that is dynamically is displayed on \"Field Shape\" option change from \"Quick Settings\".\n\t *\n\t * @return {void}\n\t */\n\tinitSliderPositionOnFieldShapeChange() {\n\t\tconst fieldShapeType = document.querySelector( '.frm-style-component.frm-field-shape' );\n\n\t\tif ( null === fieldShapeType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst radioButtons = fieldShapeType.querySelectorAll( 'input[type=\"radio\"]' );\n\t\tradioButtons.forEach( radio => {\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tif ( event.target.checked && 'rounded-corner' === event.target.value ) {\n\t\t\t\t\tconst slider = document.querySelector( 'div[data-frm-element=\"field-shape-corner-radius\"] .frm-slider-component' );\n\t\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of sliders within a given section.\n\t *\n\t * @param {HTMLElement} section - The section containing the sliders.\n\t * @return {void}\n\t */\n\tinitSlidersWidth( section ) {\n\t\tconst sliders = section.querySelectorAll( '.frm-slider-component' );\n\t\tsliders.forEach( slider => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t}, 100 );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of a slider.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @return {void}\n\t */\n\tinitSliderWidth( slider ) {\n\t\tif ( slider.classList.contains( 'frm-disabled' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst index = this.getSliderIndex( slider );\n\t\tconst sliderWidth = slider.querySelector( '.frm-slider' ).offsetWidth - this.sliderBulletWidth;\n\t\tconst value = parseInt( slider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value, 10 );\n\t\tconst unit = slider.querySelector( 'select' ).value;\n\t\tconst deltaX = '%' === unit ? Math.round( sliderWidth * value / 100 ) : Math.ceil( ( value / this.options[ index ].maxValue ) * sliderWidth );\n\n\t\tslider.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t}\n\n\t/**\n\t * Initializes the width of child sliders.\n\t *\n\t * @param {HTMLElement} slider - The parent slider element.\n\t * @param {number} width - The width to set for the child sliders.\n\t * @param {number} index - The starting index for the child sliders.\n\t * @param {number} value - The value to set for the child sliders.\n\t */\n\tinitChildSlidersWidth( slider, width, index, value ) {\n\t\tif ( ! slider.classList.contains( 'frm-has-independent-fields' ) && ! slider.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst childSliders = slider.classList.contains( 'frm-has-independent-fields' ) ? slider.querySelectorAll( '.frm-independent-slider-field' ) : this.getSliderGroupItems( slider );\n\n\t\tchildSliders.forEach( ( item, childIndex ) => {\n\t\t\titem.querySelector( '.frm-slider-active-track' ).style.width = `${ width }px`;\n\t\t\tthis.options[ index + childIndex + 1 ].translateX = width;\n\t\t\tthis.options[ index + childIndex + 1 ].value = value;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns the index of the specified slider element.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @return {number} The index of the slider element.\n\t */\n\tgetSliderIndex( slider ) {\n\t\treturn this.options.filter( option => {\n\t\t\treturn option.element === slider;\n\t\t} )[ 0 ].index;\n\t}\n\n\t/**\n\t * Handles the movement of the slider tracker.\n\t *\n\t * @param {Event} event - The event object representing the mouse movement.\n\t * @param {number} index - The index of the slider element.\n\t * @return {void}\n\t */\n\tmoveTracker( event, index ) {\n\t\tif ( ! this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tlet deltaX = event.clientX - this.options[ index ].startX;\n\t\tconst element = this.sliderElements[ index ];\n\t\tconst sliderWidth = element.querySelector( '.frm-slider' ).offsetWidth;\n\n\t\t// Ensure deltaX does not go below 0\n\t\tdeltaX = Math.max( deltaX, 0 );\n\n\t\tif ( deltaX + ( this.sliderBulletWidth / 2 ) + this.sliderMarginRight >= sliderWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tconst unit = element.querySelector( 'select' ).value;\n\t\tconst value = this.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ) );\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = value;\n\t\telement.querySelector( '.frm-slider-bullet .frm-slider-value-label' ).innerText = value;\n\t\telement.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t\tthis.options[ index ].fullValue = this.updateValue( element, this.options[ index ].value );\n\t\tthis.valueChangeDebouncer( index );\n\t}\n\n\t/**\n\t * Get the maximum value based on the unit and index.\n\t *\n\t * @param {string} unit - The unit of measurement.\n\t * @param {number} index - The index of the option.\n\t * @return {number} The maximum value.\n\t */\n\tgetMaxValue( unit, index ) {\n\t\treturn '%' === unit ? 100 : this.options[ index ].maxValue;\n\t}\n\n\t/**\n\t * Enables dragging for the slider component.\n\t *\n\t * @param {Event} event - The event object.\n\t * @param {number} index - The index of the option being dragged.\n\t */\n\tenableDragging( event, index ) {\n\t\tevent.target.classList.add( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = true;\n\t\tthis.options[ index ].startX = event.clientX - this.options[ index ].translateX;\n\t}\n\n\t/**\n\t * Disables dragging for a specific index.\n\t *\n\t * @param {number} index - The index of the option to disable dragging for.\n\t * @param {Event} event - The event object triggered by the dragging action.\n\t */\n\tdisableDragging( index, event ) {\n\t\tif ( false === this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tevent.target.classList.remove( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = false;\n\t\tthis.triggerValueChange( index );\n\t}\n\n\t/**\n\t * Triggers a value change for the specified index.\n\t *\n\t * @param {number} index - The index of the value to be changed.\n\t */\n\ttriggerValueChange( index ) {\n\t\tif ( null !== this.options[ index ].dependentUpdater ) {\n\t\t\tthis.options[ index ].dependentUpdater.updateAllDependentElements( this.options[ index ].fullValue );\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.sliderElements[ index ].classList.contains( 'frm-has-multiple-values' ) ? this.sliderElements[ index ].closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' ) : this.sliderElements[ index ].querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\tif ( input instanceof NodeList ) {\n\t\t\tinput.forEach( item => {\n\t\t\t\titem.dispatchEvent( this.eventsChange[ index ] );\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tinput.dispatchEvent( this.eventsChange[ index ] );\n\t}\n\n\t/**\n\t * Calculates the value based on the width, deltaX, and maxValue.\n\t *\n\t * @param {number} width - The width of the slider.\n\t * @param {number} deltaX - The change in x-coordinate.\n\t * @param {number} maxValue - The maximum value.\n\t * @return {number} - The calculated value.\n\t */\n\tcalculateValue( width, deltaX, maxValue ) {\n\t\t// Indicates the additional value generated by the slider's drag progress (up to 100%) and the width of the slider bullet.\n\t\t// Generates a more accurate value for the slider's start (0) and end (maximum value) positions, taking into account the slider's position and bullet width.\n\t\tconst delta = Math.ceil( this.sliderBulletWidth * ( deltaX / width ) );\n\n\t\tconst value = Math.ceil( ( ( deltaX + delta ) / width ) * maxValue );\n\n\t\treturn Math.min( value, maxValue );\n\t}\n\n\t/**\n\t * Updates the value of a slider component.\n\t *\n\t * @param {HTMLElement} element - The slider component element.\n\t * @param {string} value - The new value to be set.\n\t * @return {string} - The updated value.\n\t */\n\tupdateValue( element, value ) {\n\t\t// When the slider component is used for \"Base Font Size\", we need to update a hidden input field when change happens to indicate that the \"Base Font Size\" has been adjusted.\n\t\t// Used to avoid conflicts with other possible font sizes adjustemnts in \"Advanced Settings\" when moving from \"Quick Settings\" when \"Base Font Size\" is not changed.\n\t\tif ( element.classList.contains( 'frm-base-font-size' ) ) {\n\t\t\tconst userBaseFontSizeInput = document.querySelector( 'input[name=\"frm_style_setting[post_content][use_base_font_size]\"]' );\n\t\t\tif ( null !== userBaseFontSizeInput ) {\n\t\t\t\tuserBaseFontSizeInput.value = 'true';\n\t\t\t}\n\t\t}\n\t\tif ( element.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\tconst input = element.closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' );\n\t\t\tconst inputValue = input.value.split( ' ' );\n\t\t\tconst type = element.dataset.type;\n\n\t\t\tif ( ! inputValue[ 2 ] ) {\n\t\t\t\tinputValue[ 2 ] = '0px';\n\t\t\t}\n\n\t\t\tif ( ! inputValue[ 3 ] ) {\n\t\t\t\tinputValue[ 3 ] = '0px';\n\t\t\t}\n\n\t\t\tswitch ( type ) {\n\t\t\t\tcase 'vertical':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'horizontal':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'top':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'bottom':\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'left':\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'right':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst newValue = inputValue.join( ' ' );\n\t\t\tinput.value = newValue;\n\n\t\t\tconst childSlidersGroup = this.getSliderGroupItems( element );\n\t\t\tchildSlidersGroup.forEach( slider => {\n\t\t\t\tconst unitMeasure = this.getUnitMeasureFromValue( value );\n\t\t\t\tslider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = parseInt( value, 10 );\n\t\t\t\tslider.querySelector( 'select' ).value = unitMeasure;\n\t\t\t} );\n\n\t\t\treturn newValue;\n\t\t}\n\n\t\tif ( element.classList.contains( 'frm-has-independent-fields' ) ) {\n\t\t\tconst inputValues = element.querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\t\tconst visibleValues = element.querySelectorAll( '.frm-slider-value input[type=\"text\"]' );\n\t\t\tinputValues.forEach( ( input, index ) => {\n\t\t\t\tinput.value = value;\n\t\t\t\tvisibleValues[ index + 1 ].value = parseInt( value, 10 );\n\t\t\t} );\n\n\t\t\treturn value;\n\t\t}\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"hidden\"]' ).value = value;\n\t\treturn value;\n\t}\n\n\t/**\n\t * Returns the unit of measurement used in the given value.\n\t *\n\t * @param {string} value - The value to check for the unit of measurement.\n\t * @return {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found.\n\t */\n\tgetUnitMeasureFromValue( value ) {\n\t\treturn [ '%', 'px', 'em' ].find( unit => value.includes( unit ) ) || '';\n\t}\n}\n","import { frmTabsNavigator } from '../../components/class-tabs-navigator';\n/**\n * Represents a Tabs Component.\n *\n * @class\n */\nexport default class frmTabsComponent {\n\tconstructor() {\n\t\tthis.elements = document.querySelectorAll( '.frm-style-tabs-wrapper' );\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.init();\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the Tabs Component.\n\t */\n\tinit() {\n\t\tthis.elements.forEach( element => {\n\t\t\tnew frmTabsNavigator( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the component on tab click.\n\t *\n\t * @param {Element} wrapper - The wrapper element.\n\t */\n\tinitOnTabClick( wrapper ) {\n\t\tthis.initActiveBackgroundWidth( wrapper );\n\t\twrapper.querySelectorAll( '.frm-tab-item' ).forEach( tab => {\n\t\t\ttab.addEventListener( 'click', event => {\n\t\t\t\tthis.onTabClick( event.target.closest( '.frm-tabs-wrapper' ) );\n\t\t\t} );\n\t\t} );\n\t}\n}\n","export * from './toggle-group.js';\n","/**\n * Group Toggle Component\n *\n * Handles toggling visibility and enabled state of related form elements\n */\n\n/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\nimport { HIDDEN_CLASS, DISABLED_CLASS, SINGLE_SETTINGS_CLASS } from 'core/constants';\n\n/**\n * Class names for group toggle component\n *\n * @private\n */\nconst CLASS_NAMES = {\n\tGROUP_TOGGLE: 'frm-toggle-group',\n\tTOGGLE_BLOCK: 'frm_toggle_block',\n};\n\n/**\n * Data attributes for group toggle component\n *\n * @private\n */\nconst DATA_ATTRIBUTES = {\n\tGROUP_NAME: 'data-group-name',\n\tSHOW: 'data-show',\n\tDISABLE: 'data-disable',\n\tENABLE: 'data-enable',\n};\n\n/**\n * Initialize all group toggle components on the page\n *\n * @return {void}\n */\nfunction initToggleGroupComponents() {\n\tapplyInitialState();\n\taddEventListeners();\n}\n\n/**\n * Apply the initial state for all toggle buttons on the page\n *\n * @private\n * @return {void}\n */\nfunction applyInitialState() {\n\tconst toggleGroups = document.querySelectorAll( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroups.length ) {\n\t\treturn;\n\t}\n\n\ttoggleGroups.forEach( toggleGroup => {\n\t\tconst toggleButton = toggleGroup.querySelector( `[${ DATA_ATTRIBUTES.GROUP_NAME }]:checked` );\n\t\tif ( ! toggleButton ) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyToggleState( toggleButton, toggleGroup );\n\t} );\n}\n\n/**\n * Add event listeners to toggle buttons in a group toggle component\n *\n * @private\n * @return {void}\n */\nfunction addEventListeners() {\n\tdocumentOn( 'change', `.${ CLASS_NAMES.GROUP_TOGGLE } [${ DATA_ATTRIBUTES.GROUP_NAME }]`, handleToggleClick );\n}\n\n/**\n * Handle click events on toggle buttons\n *\n * @private\n * @param {Event} event The click event\n * @return {void}\n */\nfunction handleToggleClick( event ) {\n\tconst toggleButton = event.target;\n\tconst toggleGroup = toggleButton.closest( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroup ) {\n\t\treturn;\n\t}\n\n\tapplyToggleState( toggleButton, toggleGroup );\n}\n\n/**\n * Apply toggle state based on toggle button settings\n * Shared functionality used by both click handler and initial state\n *\n * @private\n * @param {HTMLElement} toggleButton The toggle button element\n * @param {HTMLElement} toggleGroup The toggle group container element\n * @return {void}\n */\nfunction applyToggleState( toggleButton, toggleGroup ) {\n\tconst fieldId = toggleGroup.closest( `.${ SINGLE_SETTINGS_CLASS }` )?.dataset.fid ||\n\t\ttoggleGroup.dataset.fid;\n\n\tconst isChecked = toggleButton.checked;\n\n\t// Handle show/hide elements\n\tconst showSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.SHOW );\n\tif ( showSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( showSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( HIDDEN_CLASS, ! isChecked ) );\n\t}\n\n\t// Handle disable elements\n\tconst disableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.DISABLE );\n\tif ( disableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( disableSelectors, fieldId ) )\n\t\t\t.forEach( element => {\n\t\t\t\telement.classList.toggle( DISABLED_CLASS, isChecked );\n\t\t\t\telement.querySelectorAll( 'input, select, textarea' ).forEach(\n\t\t\t\t\tformElement => formElement.disabled = isChecked\n\t\t\t\t);\n\t\t\t\telement.querySelectorAll( '.frm-show-inline-modal[tabindex]' ).forEach(\n\t\t\t\t\tinlineModal => inlineModal.tabIndex = isChecked ? -1 : 0\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\t// Handle enable elements\n\tconst enableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.ENABLE );\n\tif ( enableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( enableSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( DISABLED_CLASS, ! isChecked ) );\n\t}\n\n\t// Toggle disabled state for all other toggle blocks within the group\n\tconst currentToggleBlock = toggleButton.closest( `.${ CLASS_NAMES.TOGGLE_BLOCK }` );\n\tArray.from( toggleGroup.querySelectorAll( `.${ CLASS_NAMES.TOGGLE_BLOCK }` ) )\n\t\t.filter( toggleBlock => toggleBlock !== currentToggleBlock )\n\t\t.forEach( toggleBlock => {\n\t\t\ttoggleBlock.classList.toggle( DISABLED_CLASS, isChecked );\n\n\t\t\t// Disable toggle switch\n\t\t\tconst toggle = toggleBlock.querySelector( '.frm_toggle' );\n\t\t\ttoggle.tabIndex = isChecked ? -1 : 0;\n\t\t\ttoggle.setAttribute( 'aria-disabled', isChecked );\n\t\t} );\n}\n\n/**\n * Normalize a selector by replacing {id} placeholders with the actual field ID\n *\n * @private\n * @param {string} selector The selector string with potential {id} placeholders\n * @param {string} fieldId The field ID to replace placeholders with\n * @return {string} The normalized selector\n */\nfunction normalizeSelector( selector, fieldId ) {\n\treturn selector.replace( /{id}/g, fieldId );\n}\n\nexport { initToggleGroupComponents };\n","/**\n * Constants for token input component\n *\n * Reusable constants for class names and other static values\n */\n\nexport const CLASS_NAMES = {\n\tCONTAINER: 'frm-token-container',\n\tTOKENS_WRAPPER: 'frm-tokens',\n\tTOKEN: 'frm-token',\n\tTOKEN_VALUE: 'frm-token-value',\n\tTOKEN_REMOVE: 'frm-token-remove',\n\tTOKEN_INPUT_FIELD: 'frm-token-input-field',\n\tTOKEN_PROXY_INPUT: 'frm-token-proxy-input',\n\tWITH_RIGHT_ICON: 'frm-with-right-icon'\n};\n\nexport const KEYS = {\n\tSPACE: ' ',\n\tENTER: 'Enter',\n\tCOMMA: ',',\n\tTAB: 'Tab',\n\tBACKSPACE: 'Backspace'\n};\n\nexport const PROXY_INPUT_HEIGHT = 36;\nexport const TOKEN_GAP = 4;\n","/**\n * Event handlers\n *\n * Functions for handling token input events\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES, KEYS } from './constants';\nimport { addToken, removeToken, synchronizeTokensDisplay } from './token-actions';\nimport { adjustProxyInputStyle } from './proxy-input-style';\n\n/**\n * Add event listeners to token input components\n *\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nexport function addEventListeners( field, proxyInput, tokensWrapper ) {\n\t// The jQuery change event is required to catch programmatic updates, as \"Add Layout Classes\" modifies the field value via jQuery\n\tjQuery( field ).on( 'change', () => synchronizeTokensDisplay( field.value, proxyInput, tokensWrapper ) );\n\n\tproxyInput.addEventListener( 'keydown', event => onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) );\n\tproxyInput.addEventListener( 'blur', () => addToken( proxyInput.value.trim(), field, proxyInput ) );\n\n\ttokensWrapper.addEventListener( 'click', event => handleTokenRemoval( event, field, proxyInput ) );\n}\n\n/**\n * Handle keydown events on the proxy input field\n *\n * @private\n *\n * @param {Event} event Keydown event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nfunction onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) {\n\tconst { key } = event;\n\tconst value = proxyInput.value.trim();\n\n\tswitch ( key ) {\n\t\t// Remove the last token when backspace is pressed and input field is empty (no text being typed)\n\t\tcase KEYS.BACKSPACE:\n\t\t\tif ( ! value ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst lastToken = tokensWrapper.querySelector( `.${ CLASS_NAMES.TOKEN }:last-child` );\n\t\t\t\tremoveToken( lastToken, field, proxyInput );\n\t\t\t}\n\t\t\tbreak;\n\n\t\t// Create a token from current input when delimiter keys are pressed\n\t\tcase KEYS.SPACE:\n\t\tcase KEYS.COMMA:\n\t\tcase KEYS.ENTER:\n\t\t\tevent.preventDefault();\n\t\t\taddToken( value, field, proxyInput );\n\t\t\tbreak;\n\t}\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n\n/**\n * Handle token removal when clicking the remove button\n *\n * @private\n *\n * @param {Event} event Click event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @return {void}\n */\nfunction handleTokenRemoval( event, field, proxyInput ) {\n\tconst removeButton = event.target.closest( `.${ CLASS_NAMES.TOKEN_REMOVE }` );\n\tif ( ! removeButton ) {\n\t\treturn;\n\t}\n\n\tconst token = removeButton.closest( `.${ CLASS_NAMES.TOKEN }` );\n\tif ( ! token ) {\n\t\treturn;\n\t}\n\n\tconst tokensWrapper = token.parentElement;\n\n\tremoveToken( token, field, proxyInput );\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n","export * from './token-input';\n","/**\n * Proxy input style\n *\n * Functions for adjusting proxy input styling\n */\n\nimport { CLASS_NAMES, PROXY_INPUT_HEIGHT, TOKEN_GAP } from './constants';\n\n/**\n * Adjust styling for all proxy inputs on the current settings\n *\n * @return {void}\n */\nexport function adjustAllProxyInputStyles() {\n\tdocument.querySelectorAll( `.${ CLASS_NAMES.CONTAINER }` ).forEach( container =>\n\t\tadjustProxyInputStyle(\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` ),\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` )\n\t\t)\n\t);\n}\n\n/**\n * Adjust the styling of the proxy input based on tokens wrapper dimensions\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nexport function adjustProxyInputStyle( proxyInput, tokensWrapper ) {\n\tif ( ! proxyInput || ! tokensWrapper ) {\n\t\treturn;\n\t}\n\n\tconst tokens = tokensWrapper.querySelectorAll( `.${ CLASS_NAMES.TOKEN }` );\n\tconst hasTokens = tokens.length > 0;\n\n\t// Reset all styles if no tokens\n\tif ( ! hasTokens ) {\n\t\tproxyInput.style.paddingLeft = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.height = '';\n\t\treturn;\n\t}\n\n\tconst tokensWrapperHeight = tokensWrapper.offsetHeight;\n\n\t// Calculate number of rows based on wrapper height\n\tconst numRows = Math.max( 1, Math.ceil( tokensWrapperHeight / PROXY_INPUT_HEIGHT ) );\n\n\tif ( numRows > 1 ) {\n\t\t// For multiple rows, calculate the width of tokens in the last row\n\t\tconst lastRowWidth = calculateLastRowWidth( getLastRowTokens( tokens ) );\n\n\t\tproxyInput.style.height = `${ tokensWrapperHeight }px`;\n\t\tproxyInput.style.paddingTop = `${ tokensWrapperHeight - PROXY_INPUT_HEIGHT + TOKEN_GAP }px`;\n\t\tproxyInput.style.paddingLeft = lastRowWidth ? `${ lastRowWidth + ( TOKEN_GAP * 2 ) }px` : '';\n\t} else {\n\t\t// For single row, use the full width of tokens\n\t\tproxyInput.style.height = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.paddingLeft = `${ tokensWrapper.offsetWidth - TOKEN_GAP }px`;\n\t}\n}\n\n/**\n * Identify tokens in the last row of a multi-row token layout\n *\n * @param {NodeList} tokens All token elements\n * @return {Array} Array of tokens in the last row\n */\nfunction getLastRowTokens( tokens ) {\n\tif ( ! tokens.length ) {\n\t\treturn [];\n\t}\n\n\tconst tokensArray = Array.from( tokens );\n\tlet lastRowY = -1;\n\n\ttokensArray.forEach( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenBottom = tokenRect.bottom;\n\n\t\tif ( tokenBottom > lastRowY ) {\n\t\t\tlastRowY = tokenBottom;\n\t\t}\n\t} );\n\n\tconst threshold = TOKEN_GAP / 2;\n\treturn tokensArray.filter( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\treturn Math.abs( tokenRect.bottom - lastRowY ) <= threshold;\n\t} );\n}\n\n/**\n * Calculate the total width of tokens in the last row\n *\n * @param {Array} lastRowTokens Array of token elements in the last row\n * @return {number} Total width of tokens in the last row\n */\nfunction calculateLastRowWidth( lastRowTokens ) {\n\tif ( ! lastRowTokens.length ) {\n\t\treturn 0;\n\t}\n\n\tlet totalWidth = 0;\n\n\tlastRowTokens.forEach( token => {\n\t\ttotalWidth += token.offsetWidth;\n\t} );\n\n\ttotalWidth += ( lastRowTokens.length - 1 ) * TOKEN_GAP;\n\n\treturn totalWidth + TOKEN_GAP;\n}\n","/**\n * Token actions\n *\n * Core functions for token operations and management\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES } from './constants';\nimport { adjustProxyInputStyle } from './proxy-input-style';\nimport { createTokenElement } from './token-elements';\n\n/**\n * Synchronize token display with the field value\n *\n * @param {string} value The field value\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @return {void}\n */\nexport function synchronizeTokensDisplay( value, proxyInput, tokensWrapper ) {\n\tif ( ! value || ! tokensWrapper || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\t// Clear existing tokens display and render new tokens\n\ttokensWrapper.innerHTML = '';\n\tparseTokens( value ).forEach( token => createTokenElement( token, tokensWrapper ) );\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n\n\tproxyInput.focus();\n}\n\n/**\n * Add a new token to the field\n *\n * @param {string} tokenValue The token value to add\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @return {boolean} Whether a token was added\n */\nexport function addToken( tokenValue, field, proxyInput ) {\n\tif ( ! tokenValue || ! field || ! proxyInput ) {\n\t\treturn false;\n\t}\n\n\t// Get current tokens from field value\n\tconst tokens = parseTokens( field.value );\n\n\t// Skip duplicate tokens\n\tif ( tokens.includes( tokenValue ) ) {\n\t\tclearProxyInput( proxyInput );\n\t\treturn false;\n\t}\n\n\t// Add new token\n\ttokens.push( tokenValue );\n\tupdateFieldValue( field, tokens );\n\tclearProxyInput( proxyInput );\n\treturn true;\n}\n\n/**\n * Remove a specific token from the field\n *\n * @param {HTMLElement} token The token element to remove\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @return {void}\n */\nexport function removeToken( token, field, proxyInput ) {\n\tif ( ! token || ! field || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tconst value = token.querySelector( `.${ CLASS_NAMES.TOKEN_VALUE }` ).textContent;\n\n\t// Filter out the token to remove\n\tconst tokens = parseTokens( field.value ).filter( tokenValue => tokenValue !== value );\n\tupdateFieldValue( field, tokens );\n\n\t// Remove the token element from DOM\n\ttoken.remove();\n\n\tproxyInput.focus();\n}\n\n/**\n * Parse string input into an array of tokens\n *\n * @param {string} value Space-separated string\n * @return {string[]} Array of tokens\n */\nexport function parseTokens( value = '' ) {\n\tvalue = value.trim();\n\n\tif ( ! value ) {\n\t\treturn [];\n\t}\n\n\treturn value.split( /\\s+/ ).filter( Boolean );\n}\n\n/**\n * Update field value with tokens and trigger change event\n *\n * @param {HTMLElement} field The field to update\n * @param {string[]} tokens Array of token values\n * @return {void}\n */\nexport function updateFieldValue( field, tokens = [] ) {\n\tif ( ! field ) {\n\t\treturn;\n\t}\n\n\tfield.value = tokens.join( ' ' );\n\tjQuery( field ).trigger( 'change' );\n}\n\n/**\n * Clear proxy input and maintain focus\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @return {void}\n */\nexport function clearProxyInput( proxyInput ) {\n\tif ( ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tproxyInput.value = '';\n\tproxyInput.focus();\n}\n","/**\n * Token elements\n *\n * Functions for creating token DOM elements\n */\n\n/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\n\nconst { span, svg, tag } = window.frmDom;\n\n/**\n * Create token container and input elements\n *\n * @param {HTMLElement} field Input field for tokenization\n * @return {HTMLElement|null} The container element or null if already initialized\n */\nexport function createTokenContainerElement( field ) {\n\t// Get the main container (.frm-with-right-icon) to work with Formidable's modal system\n\tconst container = field.closest( `.${ CLASS_NAMES.WITH_RIGHT_ICON }` );\n\n\tif ( container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` ) ) {\n\t\treturn null;\n\t}\n\n\tcontainer.classList.add( CLASS_NAMES.CONTAINER );\n\n\tconst tokensWrapper = span( {\n\t\tclassName: CLASS_NAMES.TOKENS_WRAPPER\n\t} );\n\n\tcontainer.insertBefore( tokensWrapper, container.firstChild );\n\n\tconst proxyInput = tag( 'input', {\n\t\tclassName: CLASS_NAMES.TOKEN_PROXY_INPUT,\n\t\tid: `${ field.id }-proxy-input`\n\t} );\n\n\tproxyInput.type = 'text';\n\n\t// Inserting proxyInput after the field is important to maintain compatibility with Formidable's modal system\n\tfield.parentNode.insertBefore( proxyInput, field.nextSibling );\n\tfield.classList.add( HIDDEN_CLASS );\n\n\treturn container;\n}\n\n/**\n * Create a single token element\n *\n * @param {string} value Token value\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @return {void}\n */\nexport function createTokenElement( value, tokensWrapper ) {\n\tconst tokenElement = span( {\n\t\tclassName: CLASS_NAMES.TOKEN,\n\t\tchildren: [\n\t\t\tspan( {\n\t\t\t\ttext: value,\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_VALUE\n\t\t\t} ),\n\t\t\tspan( {\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_REMOVE,\n\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t} )\n\t\t]\n\t} );\n\n\ttokensWrapper.appendChild( tokenElement );\n}\n","/**\n * Token Input Component\n *\n * Transforms space-separated values in a text input into selectable tokens\n */\n\n/**\n * Internal dependencies\n */\nimport { HOOKS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\nimport { createTokenContainerElement } from './token-elements';\nimport { synchronizeTokensDisplay } from './token-actions';\nimport { adjustAllProxyInputStyles } from './proxy-input-style';\nimport { addEventListeners } from './event-handlers';\n\n/**\n * Initialize all token input fields on the page\n *\n * @return {void}\n */\nfunction initTokenInputFields() {\n\tfindAndInitializeTokenFields();\n\n\t/**\n\t * Initialize for newly added fields\n\t *\n\t * @param {Event} event The frm_added_field event.\n\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\tfindAndInitializeTokenFields( frmField.dataset.fid )\n\t);\n\n\t/**\n\t * Initialize for newly added fields via AJAX\n\t *\n\t * @param {Event} event The frm_ajax_loaded_field event.\n\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\tfrmFields.forEach( field => findAndInitializeTokenFields( field.id ) )\n\t);\n\n\t// Adjust styling for all token inputs when field settings are shown\n\twp.hooks.addAction( HOOKS.SHOW_FIELD_SETTINGS, 'formidable-token-input', adjustAllProxyInputStyles );\n}\n\n/**\n * Find all token input fields and initialize them\n *\n * @private\n * @param {string|number} fieldId The ID of the field to initialize\n * @return {void}\n */\nfunction findAndInitializeTokenFields( fieldId ) {\n\tconst container = fieldId ? document.getElementById( `frm-single-settings-${ fieldId }` ) : document.body;\n\tconst tokenInputFields = container.querySelectorAll( `.${ CLASS_NAMES.TOKEN_INPUT_FIELD }` );\n\tif ( ! tokenInputFields.length ) {\n\t\treturn;\n\t}\n\n\t// Track processed fields to prevent duplicate initialization\n\tconst processedFields = new Set();\n\ttokenInputFields.forEach( field => {\n\t\tif ( ! processedFields.has( field.id ) ) {\n\t\t\tsetupTokenInput( field );\n\t\t\tprocessedFields.add( field.id );\n\t\t}\n\t} );\n}\n\n/**\n * Set up a token input field with token container\n *\n * @private\n *\n * @param {HTMLElement} field Input field for tokenization\n */\nfunction setupTokenInput( field ) {\n\tconst container = createTokenContainerElement( field );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tconst proxyInput = container.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` );\n\tconst tokensWrapper = container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` );\n\n\tsynchronizeTokensDisplay( field.value, proxyInput, tokensWrapper );\n\taddEventListeners( field, proxyInput, tokensWrapper );\n}\n\nexport { initTokenInputFields };\n","/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\n\n/**\n * Setup unit input handlers\n *\n * @return {void}\n */\nexport function setupUnitInputHandlers() {\n\tdocumentOn( 'change', '.frm-unit-input .frm-unit-input-control', onUnitInputChange );\n\tdocumentOn( 'change', '.frm-unit-input select', onUnitInputChange );\n}\n\n/**\n * Handle the change event for the unit input\n *\n * @private\n * @param {Event} event The event object.\n * @return {void}\n */\nfunction onUnitInputChange( event ) {\n\tconst unitInput = event.target.closest( '.frm-unit-input' );\n\tconst control = unitInput.querySelector( '.frm-unit-input-control' );\n\tconst unit = unitInput.querySelector( 'select' ).value;\n\n\t// Update input type when unit changes\n\tif ( event.target.matches( 'select' ) ) {\n\t\tcontrol.type = '' === unit ? 'text' : 'number';\n\t}\n\n\t// Update the actual field value\n\tconst inputValue = control.value.trim();\n\tunitInput.querySelector( 'input[type=\"hidden\"]' ).value = '' !== inputValue ? inputValue + unit : '';\n}\n\n","/**\n * Redirects to \"Add Fields\" tab when the \"Add Fields\" button is clicked.\n *\n * When users view the Field Options tab with no fields, they see an \"Add Fields\" button.\n * Clicking this button should take them to the \"Add Fields\" tab for field selection.\n */\n\n/**\n * Initializes the Add Fields button click handler.\n */\nconst initAddFieldsButtonHandler = () => {\n\tdocument.getElementById( 'frm-form-add-field' )?.addEventListener( 'click', event => {\n\t\tevent.preventDefault();\n\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t} );\n};\n\nexport default initAddFieldsButtonHandler;\n","export { default as initAddFieldsButtonHandler } from './add-fields-button-handler';\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { initAddFieldsButtonHandler } from './events';\nimport {\n\tfrmRadioComponent,\n\tfrmSliderComponent,\n\tfrmTabsComponent,\n\tinitTokenInputFields,\n\tinitToggleGroupComponents,\n\tsetupUnitInputHandlers\n} from './components';\n\ndomReady( () => {\n\tnew frmRadioComponent();\n\tnew frmSliderComponent();\n\tnew frmTabsComponent();\n\tinitAddFieldsButtonHandler();\n\tinitTokenInputFields();\n\tinitToggleGroupComponents();\n\tsetupUnitInputHandlers();\n} );\n"],"names":["frmStyleDependentUpdaterComponent","component","_classCallCheck","willChangeData","JSON","parse","dataset","willChange","data","propagateInputs","initPropagationList","changeEvent","Event","bubbles","error","console","_createClass","key","value","inputNames","list","forEach","name","input","document","querySelector","concat","push","updateAllDependentElements","dispatchEvent","default","frmTabsNavigator","wrapper","Element","flexboxSlidesGap","navs","querySelectorAll","slideTrackLine","slideTrack","slides","isRTL","documentElement","dir","body","resizeObserver","init","_this","length","initDefaultSlideTrackerWidth","nav","index","addEventListener","event","onNavClick","setupScrollbarObserver","window","cleanupObservers","navItem","currentTarget","preventDefault","removeActiveClassnameFromNavs","classList","add","initSlideTrackUnderline","changeSlide","navLink","id","closest","_window$frmAdminBuild","_window$frmAdminBuild2","frmAdminBuild","clearSettingsBox","call","initialWidth","style","width","remove","activeNav","filter","contains","positionUnderlineIndicator","_this2","scrollbarWrapper","ResizeObserver","observe","disconnect","_this3","requestAnimationFrame","position","parentElement","offsetWidth","offsetLeft","transform","clientWidth","removeActiveClassnameFromSlides","translate","parseInt","removeProperty","slide","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","frmAnimate","elements","type","arguments","undefined","prepareElements","fadeIn","applyStyleToElements","element","resetOpacity","once","cascadeFadeIn","delay","setTimeout","transitionDelay","opacity","callback","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","warn","span","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","frmRadioComponent","frmSliderComponent","frmTabsComponent","radioElements","observers","Map","_ref","frmField","discoverAndInitFieldRadios","fid","_ref2","frmFields","field","initRadio","initTrackerOnAccordionClick","fieldId","fieldContainer","getElementById","Error","initOnRadioChange","initVisibilityObserver","accordionitems","accordionitem","target","radioButtons","radio","onRadioChange","radioElement","_this4","checked","activeItem","moveTracker","hideExtraElements","maybeShowExtraElements","elementAttr","getAttribute","_this5","observer","MutationObserver","attributes","attributeFilter","parent","i","clear","offset","tracker","left","frmDependentUpdaterComponent","sliderElements","sliderBulletWidth","sliderMarginRight","eventsChange","debounce","valueChangeDebouncer","triggerValueChange","initOptions","options","parentWrapper","dragging","startX","translateX","maxValue","dependentUpdater","initSlidersPosition","initDraggable","cancelable","draggableBullet","valueInput","unit","getMaxValue","initSliderWidth","fullValue","updateValue","expandSliderGroup","updateOnUnitChange","changeSliderPositionOnClick","stopPropagation","enableDragging","disableDragging","svgIcon","displaySliders","sliderGroupItems","getSliderGroupItems","item","toggle","toLowerCase","frmSlider","customEvent","sliderWidth","sliderRect","getBoundingClientRect","deltaX","clientX","calculateValue","initChildSlidersWidth","slidersGroup","split","query","map","join","_this6","quickSettings","openedAccordion","wp","hooks","addAction","imageBackgroundOpacitySlider","initSlidersWidth","initSliderPositionOnFieldShapeChange","_this7","fieldShapeType","slider","section","_this8","sliders","getSliderIndex","Math","round","ceil","_this9","childSliders","childIndex","option","max","innerText","_this10","NodeList","delta","min","_this11","userBaseFontSizeInput","inputValue","newValue","childSlidersGroup","unitMeasure","getUnitMeasureFromValue","inputValues","visibleValues","find","initOnTabClick","initActiveBackgroundWidth","tab","onTabClick","CLASS_NAMES","GROUP_TOGGLE","TOGGLE_BLOCK","DATA_ATTRIBUTES","GROUP_NAME","SHOW","DISABLE","ENABLE","initToggleGroupComponents","applyInitialState","addEventListeners","toggleGroups","toggleGroup","toggleButton","applyToggleState","handleToggleClick","_toggleGroup$closest","isChecked","showSelectors","normalizeSelector","disableSelectors","formElement","disabled","inlineModal","tabIndex","enableSelectors","currentToggleBlock","toggleBlock","selector","replace","CONTAINER","TOKENS_WRAPPER","TOKEN","TOKEN_VALUE","TOKEN_REMOVE","TOKEN_INPUT_FIELD","TOKEN_PROXY_INPUT","WITH_RIGHT_ICON","KEYS","SPACE","ENTER","COMMA","TAB","BACKSPACE","PROXY_INPUT_HEIGHT","TOKEN_GAP","addToken","removeToken","synchronizeTokensDisplay","adjustProxyInputStyle","proxyInput","tokensWrapper","jQuery","on","onProxyInputKeydown","trim","handleTokenRemoval","lastToken","removeButton","token","adjustAllProxyInputStyles","container","tokens","hasTokens","paddingLeft","paddingTop","height","tokensWrapperHeight","offsetHeight","numRows","lastRowWidth","calculateLastRowWidth","getLastRowTokens","tokensArray","lastRowY","tokenRect","tokenBottom","bottom","threshold","abs","lastRowTokens","totalWidth","createTokenElement","innerHTML","parseTokens","focus","tokenValue","clearProxyInput","updateFieldValue","Boolean","trigger","_window$frmDom","createTokenContainerElement","className","insertBefore","firstChild","parentNode","nextSibling","tokenElement","children","text","child","appendChild","initTokenInputFields","findAndInitializeTokenFields","tokenInputFields","processedFields","Set","setupTokenInput","setupUnitInputHandlers","onUnitInputChange","unitInput","control","matches","initAddFieldsButtonHandler","_document$getElementB","_document$querySelect","click","domReady"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable.js b/js/formidable.js index e2d841d987..cf7e5baa0c 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1207,7 +1207,7 @@ function frmFrontFormJS() { function getErrorElementId( key, input ) { if ( isNaN( key ) || ! input || ! input.id ) { // If key isn't a number, assume it's already in the right format. - return 'frm_error_field_' + key.split( '-' )[ 0 ]; + return 'frm_error_field_' + key; } return 'frm_error_' + input.id.split( '-' )[ 0 ]; } @@ -1269,7 +1269,10 @@ function frmFrontFormJS() { function updateInputElementsAriaDescribedBy( el ) { document.querySelectorAll( `[aria-describedby*="${ el.id }"]` ).forEach( input => { let ariaDescribedBy = input.getAttribute( 'aria-describedby' ).split( ' ' ); - ariaDescribedBy = ariaDescribedBy.filter( value => value.trim() && value !== el.id ); + ariaDescribedBy = ariaDescribedBy.filter( value => { + const trimmedValue = value.trim(); + return trimmedValue && trimmedValue !== el.id; + }); if ( ariaDescribedBy.length ) { input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) ); diff --git a/js/formidable_admin.js b/js/formidable_admin.js index 515e03a2da..3854f2ddcc 100644 --- a/js/formidable_admin.js +++ b/js/formidable_admin.js @@ -1 +1,13233 @@ -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))})}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                                                                '+e.message+"

                                                                                "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",h=o.querySelector(".frm-circled-icon");h&&(h.classList.remove("frm-circled-icon-green"),null===(a=h.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var y=o.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==l&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==h||h.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l.style.display=g,c.style.display="block"===g?"inline-block":g,s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&(u&&(u.style.display="none"),u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,a=frm_admin_js,s=frmDom,d=s.tag,c=s.div,u=s.span,f=s.a,m=s.svg,_=s.img,p=frmDom.util.onClickPreventDefault,g=frmDom.ajax,h=(g.doJsonFetch,g.doJsonPost);a.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var y,v,b,j={save:m({href:"#frm_save_icon"}),drag:m({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},w=jQuery(document.getElementById("frm-show-fields")),x=document.getElementById("new_fields"),Q=document.getElementById("form_id"),k=!1,E=0,A=0,S=0,L={},I=0,B=wp.i18n,q=B.__,C=B.sprintf,N={dragging:!1};null!==Q&&(A=Q.value);var O,T=new URL(window.location.href),F=T.searchParams,D=document.getElementById("frm_builder_page");function M(e){e.stopPropagation(),e.preventDefault(),P(this)}function P(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;for(n in o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&l.classList.add(o)),removeAtts=l.dataset,i)l.removeAttribute("data-"+n);for(n in i=e.dataset)"frmverify"!==n&&l.setAttribute("data-"+n,i[n]);return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function H(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function z(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function R(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){di(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function W(e,t){void 0===t&&(t=this),et(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.indexOf("frm_email_icons")>-1||i.indexOf("frm_toggle")>-1))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Yn("#"+r.attr("id")),ho(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&-1!==t.className.indexOf("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function U(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||Ke(),!1}function V(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Ui(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function K(e){var t,r;document.querySelectorAll(e).forEach(function(e){J(e),Array.from(e.children).forEach(function(e){return Z(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&J(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return k=t.clone().insertAfter(t),t.clone()},stop:function(e,t){k&&k.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function J(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:ie,over:X,out:Y,tolerance:"pointer"})}function X(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!xe(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function Y(e){e.target.classList.remove("frm-over-droppable")}function Z(e,t){var r={helper:ee,revert:"invalid",delay:10,start:te,stop:re,drag:ne,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function ee(e){var t,r=e.delegateTarget;if(ke(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=q("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if((t=(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i)).cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t)return t.cloneNode(!0)}return c({className:"frmbutton"})}function te(e,t){N.dragging=!0;var r,n=v;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),De(),Oe(),G()}function re(){v.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function ne(e,t){!function(e){b.scrollTop(function(t,r){var n=e.clientY,i=v.offsetHeight,o=e.clientY-v.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(xe(r,n,e)){i||(i=d("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,v.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable);if($children=i.children().not(".edit_field_type_end_divider"),0===$children.length)i.prepend(n),t=0;else{var o=oe(i,r);if(o===$children.length){var a=jQuery($children.get(o-1));t=a.offset().top+a.outerHeight(),i.append(n);var l=i.children(".edit_field_type_end_divider");l.length&&i.append(l)}else t=jQuery($children.get(o)).offset().top,jQuery($children.get(o)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=le(i);if(o.length){var a=function(e,t){var r,n,i,o,a=le(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function ie(e,t){if(N.dragging){N.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void y();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(he(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+we(),n=d("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=fe(jQuery(t)),a=me(o),l=_e(o);t.parentNode.insertBefore(n,t),t.remove(),se(i);var s=0;"summary"===e&&(s=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:ge(e,l,a,s),success:function(t){ye(t,i);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:je})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&Z(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,s=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?le(i):[];!function(e,t){var r;e.length&&(t.length?se(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===le(jQuery(e.parentNode)).length||se(jQuery(e))}(r,c),l!==s&&pe(jQuery(r),o),y()}}function oe(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ae(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))})}),An(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.appendChild(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function le(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function se(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(ue(i,Kt(n))):"clear"===t?r.each(ue(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(t[e])},r.each(ue(i,o))),de(e.parent(),r.length)}function de(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=c()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=q("Set Row Layout","formidable");ce(t,n),Rt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=q("Move Field Group","formidable");ce(r,i),Rt(r,i),e.innerHTML="",e.appendChild(t),e.appendChild(r),e.appendChild(function(){var e=u({className:"dropdown"}),t=f({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[u({child:m({href:"#frm_thick_more_vert_icon"})}),u({className:"screen-reader-text",text:q("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:q("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),Rt(t,q("More Options","formidable")),e.appendChild(t);var r=c({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.appendChild(r),e}())}(n),D.appendChild(n)}e.append(n),n.style.display=r?"block":"none"}}function ce(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function ue(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:s<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(a)return!(t.classList.contains("start_divider")||!Qe(t.parentElement)&&(!Qe(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));if(t.classList.contains("start_divider")&&(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)&&t.closest(".repeat_section"))return!1;if(!t.classList.contains("start_divider")){if(n=le(jQuery(t)),i=jQuery(e),!(n.length<12)&&(n.length>12||(o=i.attr("data-fid"),1!==jQuery(n).filter('[data-fid="'+o+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(Ee(t)||i||n||l)}(e,t):function(e,t){if(ke(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(Ee(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function Qe(e){return e&&e.matches("#frm-show-fields > li:last-child")}function ke(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function Ee(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ae(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)},o=t;i(o);for(var a=Se(o);a&&n.length<15;)i(a),o=a,a=Se(a);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:A,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e))jQuery("#frm_field_id_"+n).replaceWith(e[n]),K("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),Z(document.getElementById("frm_field_id_"+n));((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ae(i.attr("id")),so(),Fr(),Be();var o=new Event("frm_ajax_loaded_field",{bubbles:!1});o.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(o)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function Se(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Le(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton").attr("id");if(!he(t)){var r=0;"summary"===t&&(r=w.children('li[data-type="break"]').length>0?1:0);var n=A;return jQuery.ajax({type:"POST",url:ajaxurl,data:ge(t,0,n,r),success:function(e){Ie(e);var r=ve(e);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:r,fieldType:t,form_id:n})},error:je}),!1}}function Ie(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=$e(e),r=w[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):w.append(t),Ue(e,!0),t.each(function(){J(this.querySelector("ul.frm_sorting")),Z(this.querySelector(".form-field"),".frm-move")})}function Be(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");w.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.appendChild(document.createTextNode(" ")),i.appendChild(o),n.appendChild(i),e.appendChild(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}},0)}function He(){Pe(!0)}function ze(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function Re(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=q(e?"Delete Group":"Delete","formidable"),t}function Ge(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=q(e?"Duplicate Group":"Duplicate","formidable"),t}function $e(e){var t=c();"string"==typeof e?t.innerHTML=e:t.appendChild(e);var r=jQuery();return Array.from(t.children).forEach(function(e){r=r.add(jQuery("
                                                                              • ").addClass("frm_field_box").html(jQuery("
                                                                                  ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function We(e){var t=d("ul",{className:"frm_grid_container frm_sorting"}),r=d("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),J(t),Z(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),a="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(a),d=o.getAttribute("data-type");r=e,(n=c()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),K(a),"quantity"===d&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(nt(r),oi(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==d&&"quantity"!==d||Be(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(Sn(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===l(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var h=o.getBoundingClientRect(),y=document.getElementById("post-body-content");h.top>=0&&h.left>=0&&h.right<=(window.innerWidth||document.documentElement.clientWidth)&&h.bottom<=(window.innerHeight||document.documentElement.clientHeight)||y.scroll({top:y.scrollHeight,left:0,behavior:"smooth"}),!1===m&&Sn(s)}Je(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=a,v.frmType=d,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function Ke(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Je(e)}function Je(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Xe(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,o=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?a.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=a.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=a.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&H(e+"\n\n"+t)}function Ye(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function it(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(n.innerHTML=pn(r),"TEXTAREA"===n.nodeName&&n.classList.contains("wp-editor-area")&&jQuery(n).trigger("change"),n.classList.contains("frm_primary_label")&&"break"===n.nextElementSibling.getAttribute("data-ftype")&&(n.nextElementSibling.querySelector(".frm_button_submit").textContent=r)))}function lt(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function st(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&ct(""!==r,".frm_invalid_msg"+t)}function dt(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(ct(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function ct(e,t){if($msg=jQuery(t),e)$msg.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var r=$msg.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not("+t+"):visible").length;r.css("display",""),0===n&&$msg.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked)t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast"),$unqDetail=jQuery(".frm_unique_details"+e+" input"),""===$unqDetail.val()&&$unqDetail.val(a.default_unique);else{var r=t.fadeOut("fast").closest(".frm_validation_box"),n=r.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;r.css("display",""),0===n&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ft(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(ct(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(a.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;mt(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",a["enter_"+t]),mt(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",a["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function mt(e,t,r){e.innerHTML===a.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function _t(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function pt(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function gt(){ht(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function ht(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");qo(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function vt(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);xt(jQuery(this)),qo(jQuery(".field_"+n+"_image_id")),qo(jQuery(".frm_toggle_image_options_"+n)),qo(jQuery(".frm_image_size_"+n)),qo(jQuery(".frm_alignment_"+n)),qo(jQuery(".frm-add-other#frm_add_field_"+n)),(e=vn(n))?(jt(n,"inline"),bt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),bt(i),jt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function bt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function jt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function wt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function xt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){xt(jQuery(this))}function kt(e){var t,r=e.target.closest(".frm_image_preview_wrapper");if(null!==(t=wp)&&void 0!==t&&t.media&&(null==r||!r.dataset.upgrade)){e.preventDefault(),wp.media.model.settings.post.id=0;var n=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});n.on("select",function(){var e=n.state().get("selection").first().toJSON(),t=r.querySelector("img");t.setAttribute("src",e.url),t.classList.remove("frm_hidden"),t.removeAttribute("srcset"),r.querySelector(".frm_image_preview_frame").style.display="block",r.querySelector(".frm_image_preview_title").textContent=e.filename,r.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(r);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),n.open()}}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function At(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function St(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function Lt(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;h(n,i)}function It(e){e.preventDefault()}function Bt(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function qt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function Ct(){this.value===a.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Nt(e){return C(q("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Ot(){var e=a.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var o=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;o.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Nt(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=a.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Oe(),P(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ft(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.appendChild(t),t.click())}function Dt(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+we(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=le(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=le(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.appendChild($t(e,"even")),t):(5!==e&&t.appendChild($t(e,"even")),e%2==1&&t.appendChild($t(e,"middle")),e<6?(t.appendChild($t(e,"left")),t.appendChild($t(e,"right"))):((r=c()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.appendChild(function(e,t){var r,n,i;for(r=Yt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?sr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Jt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Xt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Yt(){var e=c();return e.classList.add("frm_grid_container"),e}function Zt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");se(le(jQuery(e)).first(),t),fr()}}function er(){var e,t;e=tr(),t=this.getAttribute("layout-type"),se(le(e).first(),t),yr()}function tr(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){le(jQuery(this)).each(function(){var e=this.parentNode;le(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),se(le(t).first()),t}function rr(){null===this.closest(".frm-merge-fields-into-row")&&nr(le(jQuery(".frm-field-group-hover-target")))}function nr(e){var t,r,n,i,o,a,l,s,d,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=c()).style.padding="0 24px",i=Kt(5===t?6:t),(o=c()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.appendChild(a)),!1!==(l=wr()>0&&ar(Kt(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){pr(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=gr();if(t){var r=t.closest("ul");if(r&&1===le(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=gr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void hr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&le(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!br()),e;(e=c()).id="frm_field_multiselect_popup",br()||e.classList.add("frm-unmergable"),(t=c()).classList.add("frm-merge-fields-into-row"),t.textContent=q("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.appendChild(r),e.appendChild(t),(n=c()).classList.add("frm-multiselect-popup-separator"),e.appendChild(n),(i=c()).classList.add("frm-delete-field-groups"),i.appendChild(Gt("frm_trash_svg")),e.appendChild(i),document.getElementById("post-body-content").appendChild(e),jQuery(e).hide().fadeIn()}():vr(),De()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),vr()}function vr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function br(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function jr(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=zt(wr(),document.querySelector(".frm-selected-field-group").firstChild),this.appendChild(t)))}function wr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=le(jQuery(this)).length}),e}function xr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){kr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Nt(e.length)),P(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){kr(this.getAttribute("data-deletefield"))}function kr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),An()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r=jQuery(document.getElementById("frm_field_id_"+e)),n=jQuery("#frm-single-settings-"+e);n.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").appendChild(e)})}(n),n.remove(),r.fadeOut("slow",function(){var e,t=r.closest(".start_divider"),n=r.data("type"),i=r.siblings("li.form-field");if(i.length||(r.is(".edit_field_type_end_divider")?i.length=r.closest("li.form-field").siblings():e=r.closest("ul.frm_sorting").parent()),r.remove(),"break"===n?Fr():"product"===n&&(Be(),it()),i.length?se(i.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(w.get(0).childElementCount>1)return!1;var e=w.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&Sn(t);G()}),r.length&&wp.hooks.doAction("frm_after_delete_field",r[0])}})}function Ar(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_logic_row_"+e).querySelectorAll(".frm_logic_row");return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_logic_row",form_id:t,field_id:e,nonce:frmGlobal.nonce,meta_name:Sr(r,"frm_logic_"+e+"_"),fields:rt()},success:function(t){jQuery(document.getElementById("logic_"+e)).fadeOut("fast",function(){var r=document.getElementById("frm_logic_row_"+e);r.insertAdjacentHTML("beforeend",t);var n=r.querySelector(".frm_logic_row:last-child .frm-logic-rule-text");n&&(n.textContent=r.dataset.ruleText);var i=r.closest(".frm_logic_rows");i.style.height="auto",jQuery(i).fadeIn("fast")})}}),!1}function Sr(e,t,r){return e.length?parseInt(e[e.length-1].id.replace(t,""),10)+1:void 0!==r?r:0}function Lr(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=A,r=document.getElementById("frm_watch_lookup_block_"+e).children;return jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_watch_lookup_row",form_id:t,field_id:e,row_key:Sr(r,"frm_watch_lookup_"+e+"_"),nonce:frmGlobal.nonce},success:function(t){var r,n=jQuery(document.getElementById("frm_watch_lookup_block_"+e));n.append(t),n.fadeIn("slow"),null===(r=document.getElementById("frm_watch_lookup_label_".concat(e)))||void 0===r||r.classList.remove("frm-force-hidden")}}),!1}function Ir(e){var t,r,n=jQuery(e).closest(".frm-single-settings").attr("data-fid"),i=jQuery(e).closest("ul").get(0).querySelectorAll(".field_"+n+"_option");for(t in i)if((r=i[t]).id!==e.id&&r.value===e.value&&"true"!==r.getAttribute("data-duplicate"))return!0;return!1}function Br(){var e,t;null===this.getAttribute("data-value-on-load")&&(this.setAttribute("data-value-on-load",this.value),t=jQuery(this).closest(".frm-single-settings").attr("data-fid"),(e=document.createElement("input")).value=this.value,e.setAttribute("type","hidden"),e.setAttribute("name","optionmap["+t+"]["+this.value+"]"),this.parentNode.appendChild(e),void 0===L[t]&&(L[t]={}),L[t][this.value]=e),"true"===this.getAttribute("data-duplicate")&&(this.removeAttribute("data-duplicate"),Ir(this))?this.setAttribute("data-value-on-focus",this.getAttribute("data-value-on-load")):""===this.value&&a.new_option===this.getAttribute("data-value-on-focus")||this.setAttribute("data-value-on-focus",this.value)}function qr(e){var t,r=e.closest(".frm_single_option");return e.parentElement.classList.contains("frm_single_option")?{newValue:r.querySelector('.frm_option_key input[type="text"]').value,newLabel:t=e.value}:(t=r.querySelector('input[type="text"]').value,{newValue:e.value,newLabel:t})}function Cr(){var e,t,r,n,i,o,a,l,s,d,c,u,f=function(e){var t=function(e){var t,r,n=null!==(t=null===(r=e.closest(".frm-single-settings").querySelector(".frm_toggle_sep_values"))||void 0===r?void 0:r.checked)&&void 0!==t&&t,i=e.closest(".frm_single_option");return n&&e.parentElement.classList.contains("frm_single_option")?{oldValue:i.querySelector('.frm_option_key input[type="text"]').getAttribute("data-value-on-focus"),oldLabel:e.getAttribute("data-value-on-focus")}:{oldValue:e.getAttribute("data-value-on-focus"),oldLabel:i.querySelector('input[type="text"]').getAttribute("data-value-on-focus")}}(e),r=t.oldValue,n=t.oldLabel,i=qr(e);return{oldValue:r,oldLabel:n,newValue:i.newValue,newLabel:i.newLabel}}(this),m=f.oldValue,_=f.oldLabel,p=f.newValue,g=f.newLabel;if(m!==p||_!==g){var h=this.closest(".frm-single-settings");if(t=h.getAttribute("data-fid"),e=this.getAttribute("data-value-on-load"),Ir(this))return this.setAttribute("data-duplicate","true"),void(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=e));for(void 0!==L[t]&&void 0!==L[t][e]&&(L[t][e].value=p),s=[],rows=D.querySelectorAll(".frm_logic_row"),o=rows.length,a=0;a1)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(H(a.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(H(a.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}(r)):(r.style.display="none",n.style.display="none",kn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,d=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+d+'"]'),m="field_options[options_"+e+"]["+d+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,vn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=bn(t),mn(t),gn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=c({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else f[0].removeChild(t)})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null!==(i=document.getElementById("frm_placeholder_"+e))&&""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=vn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=To(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var f;l=d[a];var m=null===(f=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===f?void 0:f.value;m||(m=l),s=i.querySelector('option[value="'+m+'"]');var _=an(e,l),p=_.newValue,g=_.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),y=Array.from(h).find(function(e){return e.value===l});if(y){var v=y.dataset.valueOnFocus;if(v&&i.querySelector('option[value="'+v+'"]'))continue}sn(i,s,p,g)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=-1!==t.key.indexOf("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
                                                                                  "+(s?a:"")+"
                                                                                  "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=To(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name$="[label]"], [name*="[other_"]'),c=To(e),u=bn(e),f=vn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=gn(i,u,_n(d[t]),mn(e))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:hn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t=document.getElementById("frm-single-settings-"+e);return null===t?"radio":t.classList.contains("frm-type-checkbox")?"checkbox":"radio"}function _n(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function pn(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?pn(t):t}function gn(e,t,r,n){var i,o,l,s=e;return s=pn(s),r?o=_({src:r,alt:s}):(o=c({className:"frm_empty_url"})).innerHTML=a.image_placeholder_icon,i=t?" frm_label_with_image":"",(l=d("span",{className:"frm_text_label_for_image_inner"})).innerHTML=s,d("span",{className:"frm_image_option_container"+i,children:[o,d("span",{className:"frm_text_label_for_image",child:l})]})}function hn(e){return field=jQuery("#"+e),0!==field.length&&(checkbox=field.siblings("input[type=checkbox]"),checkbox.length&&checkbox.prop("checked"))}function yn(e){return jn("separate_value_"+e)}function vn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function qn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function Cn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Nn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=$i(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&et(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function On(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function Fn(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Zn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function ei(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(h=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),h.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ti(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),d=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(d,'"'+o+'"');var f=c({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").appendChild(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&ho(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,h}function ti(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ti(++t)),t}function ri(){var e,t=jQuery(this).data("actiontype");if(!ci(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),I>=e&&(e=I+1),I=e,e),n=A,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.appendChild(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=c();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.appendChild(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),di(t),Yn("#frm_form_action_"+r),so(),ho(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ni(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",Eo(t,"input")}function ii(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function oi(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===oi.prototype.endMarker&&(oi.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.appendChild(e)},this.moveFields=function(){x.insertBefore(t.fragment,oi.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function ai(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function si(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function di(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");ci(e)?(t=n,r=ui(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function ci(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ui(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ui(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function fi(){var e=a.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+a.edit_action_text),H(e)}function mi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=c({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.appendChild(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function _i(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),H(a.field_already_used),!1})}function pi(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function gi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function hi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),o=document.querySelector(".frm_post_menu_order_field"),a=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:a,nonce:frmGlobal.nonce},success:function(n){for(i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function xi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function ki(){Wn()||(Kn(this),Rn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),Ai(jQuery(this),this.getAttribute("data-code")),!1}function Ai(e,t){var r=!1,n=e;if("object"===l(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var a=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==a&&"no"===a||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Si(o,e)}})}else t=function(e,t,r){return"object"===l(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Si(o,t);return!1}function Si(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{obj=e[0];var r=obj.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,obj.selectionStart,r),obj.value=obj.value.substr(0,obj.selectionStart)+t+obj.value.substr(obj.selectionEnd,obj.value.length);var n=r+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Li(t)){var r=e.value.split(" ").filter(Li);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(obj,t),obj.focus(),obj.setSelectionRange(n,n)}Gn(e)}function Li(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Ii(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),Eo(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),Eo(e,"change"))}function Bi(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,o=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',o.setAttribute("data-code",t+a.conditional_text+"[/if "+e),o.innerHTML="["+t+"[/if "+e+"]"}function qi(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Ui(),"use"===(t=Wi(e)).tagName?-1===(t=t.firstElementChild).getAttributeNS("http://www.w3.org/1999/xlink","href").indexOf("frm_close_icon")&&Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function Ci(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Oi()}}(e.target)}function Oi(e){var t;void 0===e&&(e=q("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:q("Save and Reload?","formidable"),content:(t=c(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:q("Save and Reload","formidable"),buttonType:"primary"});p(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:q("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Ti(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=$i(e),n=document.getElementById("frm_adv_info"),i=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&null===(i=e.getAttributeNS("http://www.w3.org/1999/xlink","href"))&&(i=e.getAttribute("href")),-1!==i.indexOf("frm_close_icon"))Ui(n);else{if(Ti(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=i.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=a.contextualShortcodes[t+"Selector"],n=a.contextualShortcodes[t];var i,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw i}}}}(n);try{for(s.s();!(i=s.n()).done;){var d,c=i.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===a.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return a.contextualShortcodes.address.includes(r)||a.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=a.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){E||(E=1,window.addEventListener("beforeunload",Ri))}function Pi(){E=0}function Hi(){E=0}function zi(){E=0}function Ri(e){E&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function $i(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=$i(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Wi(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Wi(r);return r}function Ui(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

                                                                                  ":'

                                                                                  Imported '+r.data.name+"

                                                                                  ",e.find(".status").prepend(n),e.find(".status").show(),O.importQueue=jQuery.grep(O.importQueue,function(e){return e!=t}),O.imported++,0===O.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(O.imported),e.find(".process-completed").show()):(e.find(".form-current").text(O.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.indexOf(this.value)>=0?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),xo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function ho(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function yo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r=0||Qo(l,n)?(s&&Di(o[e])&&o[e].classList.remove("frm_hidden"),o[e].classList.add("frm-search-result")):(o[e].classList.add("frm_hidden"),o[e].classList.remove("frm-search-result"))}(t=document.querySelector("#frm-insert-fields"))&&t.querySelectorAll(":scope > .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function Qo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").indexOf(t)>=0}function ko(e){e.stopPropagation()}function Eo(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function qo(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Co(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function Oo(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function To(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=n.getAttributeNS("http://www.w3.org/1999/xlink","href")||n.getAttribute("href"))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(j.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(j.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=u({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(-1!==jQuery(e).find(".frm_message").text().trim().indexOf("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(u(q("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(D||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Ui(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.appendChild(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){G()}),O={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",St),void 0===A&&(A=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){p(e,Lt)}),frmAdminBuild.inboxBannerInit(),w.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=c({className:"frm_warning_style",text:q("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),ho(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",$),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",$),o.on("click","a[data-frmverify]",M),o.on("click","a[data-frmtoggle]",z),o.on("click","a[data-frmhide], a[data-frmshow]",R),o.on("change","input[data-frmhide], input[data-frmshow]",R),o.on("click",".widget-top,a.widget-action",W),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(G(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),P(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Jn);var d=jQuery(document.getElementById("frm_shortcodediv"));d.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return d.is(":hidden")&&(d.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return d.slideUp("fast"),d.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",U),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Xn(this),V(this),!1}),V(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),Rn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",xo),jQuery(document).on("focusin click",".frm-auto-search",ko);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",Co),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&p(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),h("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),_=null==m?void 0:m.querySelector(".dismiss");m&&(p(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),_&&p(_,function(){m.remove();var e=new FormData;h("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ae,10),v=document.getElementById("post-body-content"),b=jQuery(v),jQuery(".frm_field_loading").length&&Ae(jQuery(".frm_field_loading").first().attr("id")),K("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(Z),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",zn),jQuery(".frm_submit_no_ajax").on("click",$n),Un(),jQuery("a.edit-form-status").on("click",Ln),jQuery(".cancel-form-status").on("click",In),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(x),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Or),e.on("change",".frm_logic_field_opts",xn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',Bn),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Le),w.on("click",".frm_clone_field",qe),e.on("blur",'input[id^="frm_calc"]',Xe),e.on("change","input.frm_format_opt, input.frm_max_length_opt",st),e.on("change click","[data-changeme]",at),e.on("click","input.frm_req_field",dt),e.on("click",".frm_mark_unique",ut),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Tr),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",ze),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",vt),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",kt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",wt),e.on("click",".frm_multiselect_opt",At),w.on("mousedown","input, textarea, select",It),w.on("click","input[type=radio], input[type=checkbox]",It),w.on("click",".frm_delete_field",Ot),w.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ft),jQuery(document).on("click",".frm_clone_field_group",Dt),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Mt),jQuery(document).on("click",".frm-row-layout-option",Zt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",er),jQuery(document).on("click",".frm-custom-field-group-layout",rr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",ir),jQuery(document).on("click",".frm-break-field-group",dr),w.on("click","#frm_field_group_popup .frm_grid_container input",cr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",ur),jQuery(document).on("click",".frm-save-custom-field-group-layout",mr),w.on("click","ul.frm_sorting",_r),jQuery(document).on("click",".frm-merge-fields-into-row",jr),jQuery(document).on("click",".frm-delete-field-groups",xr),w.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),w.on("mousemove","ul.frm_sorting",Fe),w.on("show.bs.dropdown",".frm-field-action-icons",Pe),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",He),e.on("click",".frm_single_option a[data-removeid]",Bt),e.on("mousedown",".frm_single_option input[type=radio]",qt),e.on("focusin",".frm_single_option input[type=text]",Ct),e.on("click",".frm_add_opt",pt),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",gt),w.on("click",".frm_primary_label",Gr),w.on("click",".frm_description",$r),w.on("click","li.ui-state-default:not(.frm_noallow)",Ur),w.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ft),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Nn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Nn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",On),jQuery(document).on("change","[data-frmchange]",Fn),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",tt),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),it(),jQuery(document).on("change",".frmjs_prod_data_type_opt",Oo),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Cr),frmDom.util.documentOn("click",".frm-show-field-settings",Ur),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",Vr),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",_t),jQuery(x).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=To(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),Cn(),document.addEventListener("frm_added_field",Cn),Be(),Fo(),An(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Ti,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",ai),i.on("click",".frm_remove_field",li),i.on("change",".frm_to_row, .frm_from_row",si),i.on("change",".frm_tax_selector",wi),i.on("change","select.frm_single_post_field",_i),i.on("change","select.frm_toggle_post_content",pi),i.on("change","select.frm_dyncontent_opt",gi),i.on("change",".frm_post_type",hi),i.on("click",".frm_add_postmeta_row",bi),i.on("click",".frm_add_posttax_row",vi),i.on("click",".frm_toggle_cf_opts",xi),i.on("click",".frm_duplicate_form_action",ei),jQuery(".frm_actions_list").on("click",".frm_active_action",ri),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ni),so(),jQuery("ul.frm_actions_list li").each(function(){di(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",ki),Un(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",mi),e.on("click",".frm_already_used",fi),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?kt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(a.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Zn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var o=document.getElementById("single_entry");jQuery(o).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Gn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Gn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",Bn),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),ho(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){Ai(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Ii),jQuery(document).on("keyup change",".frm-build-logic",Bi),Yn(),jQuery(document).on("frmElementAdded",function(e,t){Yn(t)}),jQuery(document).on("mousedown",".frm-show-box",Ci),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||D)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),qi(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||D)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0!==(l=this.id)&&-1===l.indexOf("-search-input")&&(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){Vi("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){Vi("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault(),data={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce};var a="frm_inbox_slide_in"===t.id;a&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(data,function(){if(!a)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.parentNode.removeChild(t)})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",kt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",yo),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return E=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=To(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=A,i=0;"summary"===e&&(i=w.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(ge(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),Ue(t,!0);var r=ve(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:je})})},confirmLinkClick:P,handleInsertFieldByDraggingResponse:ye,handleAddFieldClickResponse:Ie,syncLayoutClasses:se,moveFieldSettings:oi}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
                                                                                    ","")).replaceAll("
                                                                                  • ",'
                                                                                  • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // ⇒ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/index.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // ⇒ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // ⇒ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/admin/addon-state.js": +/*!*************************************!*\ + !*** ./js/src/admin/addon-state.js ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addonError: () => (/* binding */ addonError), +/* harmony export */ afterAddonInstall: () => (/* binding */ afterAddonInstall), +/* harmony export */ extractErrorFromAddOnResponse: () => (/* binding */ extractErrorFromAddOnResponse), +/* harmony export */ toggleAddonState: () => (/* binding */ toggleAddonState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); + +var _frmDom = frmDom, + div = _frmDom.div, + svg = _frmDom.svg; + +/** + * Toggles the state of an add-on (ie. enable or disable an add-on). + * + * @param {Element} clicked + * @param {string} action + */ +function toggleAddonState(clicked, action) { + var _window$ajaxurl; + var ajaxurl = (_window$ajaxurl = window.ajaxurl) !== null && _window$ajaxurl !== void 0 ? _window$ajaxurl : frm_js.ajax_url; // eslint-disable-line camelcase + + // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated. + jQuery('.frm-addon-error').remove(); + var button = jQuery(clicked); + var plugin = button.attr('rel'); + var el = button.parent(); + var message = el.parent().find('.addon-status-label'); + button.addClass('frm_loading_button'); + + // Process the Ajax to perform the activation. + jQuery.ajax({ + url: ajaxurl, + type: 'POST', + async: true, + cache: false, + dataType: 'json', + data: { + action: action, + nonce: frmGlobal.nonce, + plugin: plugin + }, + success: function success(response) { + var _response$data, _response; + response = (_response$data = (_response = response) === null || _response === void 0 ? void 0 : _response.data) !== null && _response$data !== void 0 ? _response$data : response; + var saveAndReload; + if ('string' !== typeof response && 'string' === typeof response.message) { + if ('undefined' !== typeof response.saveAndReload) { + saveAndReload = response.saveAndReload; + } + response = response.message; + } + var error = extractErrorFromAddOnResponse(response); + if (error) { + addonError(error, el, button); + return; + } + afterAddonInstall(response, button, message, el, saveAndReload, action); + + /** + * Trigger an action after successfully toggling the addon state. + * + * @param {Object} response + */ + wp.hooks.doAction('frm_update_addon_state', response); + }, + error: function error() { + button.removeClass('frm_loading_button'); + } + }); +} +function extractErrorFromAddOnResponse(response) { + if (typeof response !== 'string') { + if (typeof response.success !== 'undefined' && response.success) { + return false; + } + if (response.form) { + if (jQuery(response.form).is('#message')) { + return { + message: jQuery(response.form).find('p').html() + }; + } + } + return response; + } + return false; +} +function afterAddonInstall(response, button, message, el, saveAndReload) { + var action = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'frm_activate_addon'; + var frmAdminJs = frm_admin_js; // eslint-disable-line camelcase + + var addonStatuses = document.querySelectorAll('.frm-addon-status'); + addonStatuses.forEach(function (addonStatus) { + addonStatus.textContent = response; + addonStatus.style.display = 'block'; + }); + + // The Ajax request was successful, so let's update the output. + button.css({ + opacity: '0' + }); + document.querySelectorAll('.frm-oneclick').forEach(function (oneClick) { + oneClick.style.display = 'none'; + }); + showUpgradeModalSuccess(); + + // Proceed with CSS changes + var actionMap = { + frm_activate_addon: { + class: 'frm-addon-active', + message: frmAdminJs.active + }, + frm_deactivate_addon: { + class: 'frm-addon-installed', + message: frmAdminJs.installed + }, + frm_uninstall_addon: { + class: 'frm-addon-not-installed', + message: frmAdminJs.not_installed + } + }; + actionMap.frm_install_addon = actionMap.frm_activate_addon; + var messageElement = message[0]; + if (messageElement) { + messageElement.textContent = actionMap[action].message; + } + var parentElement = el[0].parentElement; + parentElement.classList.remove('frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active'); + parentElement.classList.add(actionMap[action].class); + var buttonElement = button[0]; + buttonElement.classList.remove('frm_loading_button'); + + // Maybe refresh import and SMTP pages + var refreshPage = document.querySelectorAll('.frm-admin-page-import, #frm-admin-smtp, #frm-welcome'); + if (refreshPage.length > 0) { + window.location.reload(); + return; + } + if (['settings', 'form_builder'].includes(saveAndReload)) { + addonStatuses.forEach(function (addonStatus) { + var inModal = null !== addonStatus.closest('#frm_upgrade_modal'); + addonStatus.appendChild(getSaveAndReloadSettingsOptions(saveAndReload, inModal)); + }); + } +} +function addonError(response, el, button) { + if (response.form) { + jQuery('.frm-inline-error').remove(); + button.closest('.frm-card').html(response.form).css({ + padding: 5 + }).find('#upgrade').attr('rel', button.attr('rel')).on('click', installAddonWithCreds); + } else { + el.append('

                                                                                    ' + response.message + '

                                                                                    '); + button.removeClass('frm_loading_button'); + jQuery('.frm-addon-error').delay(4000).fadeOut(); + } +} +function getSaveAndReloadSettingsOptions(saveAndReload, inModal) { + var className = 'frm-save-and-reload-options'; + var children = [saveAndReloadSettingsButton(saveAndReload)]; + if (inModal) { + children.push(closePopupButton()); + } + return div({ + className: className, + children: children + }); +} +function saveAndReloadSettingsButton(saveAndReload) { + var button = document.createElement('button'); + button.classList.add('frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary'); + button.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Save and Reload', 'formidable'); + button.addEventListener('click', function () { + if (saveAndReload === 'form_builder') { + saveAndReloadFormBuilder(); + } else if (saveAndReload === 'settings') { + saveAndReloadSettings(); + } + }); + return button; +} +function saveAndReloadSettings() { + var page = document.getElementById('form_settings_page'); + if (null !== page) { + var form = page.querySelector('form.frm_form_settings'); + if (null !== form) { + wp.hooks.doAction('frm_reset_fields_updated'); + form.submit(); + } + } +} +function closePopupButton() { + var a = document.createElement('a'); + a.setAttribute('href', '#'); + a.classList.add('button', 'button-secondary', 'frm-button-secondary', 'dismiss'); + a.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Not Now', 'formidable'); + return a; +} +function saveAndReloadFormBuilder() { + var submitButton = document.getElementById('frm_submit_side_top'); + if (submitButton.classList.contains('frm_submit_ajax')) { + submitButton.setAttribute('data-new-addon-installed', true); + } + submitButton.click(); +} + +/** + * Updates the upgrade modal to show successful addon installation state. + * + * @private + * @return {void} + */ +function showUpgradeModalSuccess() { + var upgradeModal = document.getElementById('frm_upgrade_modal'); + if (!upgradeModal) { + return; + } + upgradeModal.classList.add('frm-success'); + var upgradeMessage = upgradeModal.querySelector('.frm-upgrade-message'); + if (upgradeMessage) { + var image = upgradeMessage.querySelector('img'); + upgradeMessage.replaceChildren((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Great! Everything\'s ready to go!', 'formidable'), document.createElement('br'), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You just need to refresh the builder so the new field becomes available.', 'formidable')); + if (image) { + upgradeMessage.append(image); + } + } + var frmAddonStatus = document.querySelector('.frm-addon-status'); + if (frmAddonStatus) { + frmAddonStatus.textContent = ''; + } + var circledIcon = upgradeModal.querySelector('.frm-circled-icon'); + if (circledIcon) { + var _circledIcon$querySel; + circledIcon.classList.add('frm-circled-icon-green'); + (_circledIcon$querySel = circledIcon.querySelector('svg')) === null || _circledIcon$querySel === void 0 || _circledIcon$querySel.replaceWith(svg({ + href: '#frm_checkmark_icon' + })); + } +} + +/***/ }), + +/***/ "./js/src/admin/upgrade-popup.js": +/*!***************************************!*\ + !*** ./js/src/admin/upgrade-popup.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addOneClick: () => (/* binding */ addOneClick), +/* harmony export */ initModal: () => (/* binding */ initModal), +/* harmony export */ initUpgradeModal: () => (/* binding */ initUpgradeModal) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); + +var _frmDom = frmDom, + svg = _frmDom.svg; +function getShowLinkHrefValue(link, showLink) { + var customLink = link.getAttribute('data-link'); + if (customLink === null || typeof customLink === 'undefined' || customLink === '') { + customLink = showLink.getAttribute('data-default'); + } + return customLink; +} + +/** + * Allow addons to be installed from the upgrade modal. + * + * @param {Element} link + * @param {string} context Either 'modal' or 'tab'. + * @param {string|undefined} upgradeLabel + */ +function addOneClick(link, context, upgradeLabel) { + var container; + if ('modal' === context) { + container = document.getElementById('frm_upgrade_modal'); + } else if ('tab' === context) { + container = document.getElementById(link.getAttribute('href').substr(1)); + } else { + return; + } + var oneclickMessage = container.querySelector('.frm-oneclick'); + var upgradeMessage = container.querySelector('.frm-upgrade-message'); + var showLink = container.querySelector('.frm-upgrade-link'); + var button = container.querySelector('.frm-oneclick-button'); + var addonStatus = container.querySelector('.frm-addon-status'); + var oneclick = link.getAttribute('data-oneclick'); + var newMessage = link.getAttribute('data-message'); + var showIt = 'block'; + var showMsg = 'block'; + var hideIt = 'none'; + var modalIconWrapper = container.querySelector('.frm-circled-icon'); + if (modalIconWrapper) { + var _modalIconWrapper$que; + modalIconWrapper.classList.remove('frm-circled-icon-green'); + (_modalIconWrapper$que = modalIconWrapper.querySelector('svg')) === null || _modalIconWrapper$que === void 0 || _modalIconWrapper$que.replaceWith(svg({ + href: '#frm_filled_lock_icon' + })); + } + var learnMoreLink = container.querySelector('.frm-learn-more'); + if (learnMoreLink) { + learnMoreLink.href = link.dataset.learnMore; + } + + // If one click upgrade, hide other content. + if (oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick) { + if (newMessage === null) { + showMsg = 'none'; + } + showIt = 'none'; + hideIt = 'block'; + oneclick = JSON.parse(oneclick); + button.className = button.className.replace(' frm-install-addon', '').replace(' frm-activate-addon', ''); + button.className = button.className + ' ' + oneclick.class; + button.rel = oneclick.url; + oneclickMessage.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('This plugin is not activated. Would you like to activate it now?', 'formidable'); + button.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Activate', 'formidable'); + var linkIcon = link.querySelector('use'); + if (linkIcon) { + modalIconWrapper === null || modalIconWrapper === void 0 || modalIconWrapper.querySelector('svg').replaceWith(svg({ + href: linkIcon.getAttribute('href') || linkIcon.getAttribute('xlink:href'), + // Get the icon from xlink:href if it has not been updated to use href + classList: ['frm_svg32'] + })); + } + } + if (!newMessage) { + newMessage = upgradeMessage.getAttribute('data-default'); + } + if (undefined !== upgradeLabel) { + newMessage = newMessage.replace('', upgradeLabel); + } + upgradeMessage.innerHTML = newMessage; + if (link.dataset.upsellImage) { + upgradeMessage.appendChild(frmDom.img({ + src: link.dataset.upsellImage, + alt: link.dataset.upgrade + })); + } + + // Either set the link or use the default. + showLink.href = getShowLinkHrefValue(link, showLink); + addonStatus.style.display = 'none'; + oneclickMessage.style.display = hideIt; + button.style.display = hideIt === 'block' ? 'inline-block' : hideIt; + upgradeMessage.style.display = showMsg; + showLink.style.display = showIt === 'block' ? 'inline-block' : showIt; + var showLinkParent = showLink.closest('.frm-upgrade-modal-actions'); + if (showLinkParent) { + showLinkParent.style.display = showIt === 'block' ? 'flex' : showIt; + } +} +function initModal(id, width) { + var $info = jQuery(id); + if (!$info.length) { + return false; + } + if (typeof width === 'undefined') { + width = '552px'; + } + var dialogArgs = { + dialogClass: 'frm-dialog', + modal: true, + autoOpen: false, + closeOnEscape: true, + width: width, + resizable: false, + draggable: false, + open: function open() { + jQuery('.ui-dialog-titlebar').addClass('frm_hidden').removeClass('ui-helper-clearfix'); + jQuery('#wpwrap').addClass('frm_overlay'); + jQuery('.frm-dialog').removeClass('ui-widget ui-widget-content ui-corner-all'); + $info.removeClass('ui-dialog-content ui-widget-content'); + bindClickForDialogClose($info); + }, + close: function close() { + jQuery('#wpwrap').removeClass('frm_overlay'); + jQuery('.spinner').css('visibility', 'hidden'); + this.removeAttribute('data-option-type'); + var optionType = document.getElementById('bulk-option-type'); + if (optionType) { + optionType.value = ''; + } + } + }; + $info.dialog(dialogArgs); + return $info; +} +function bindClickForDialogClose($modal) { + var closeModal = function closeModal() { + $modal.dialog('close'); + }; + jQuery('.ui-widget-overlay').on('click', closeModal); + $modal.on('click', 'a.dismiss', closeModal); +} +function initUpgradeModal() { + var $info = initModal('#frm_upgrade_modal'); + if ($info === false) { + return; + } + document.addEventListener('click', handleUpgradeClick); + frmDom.util.documentOn('change', 'select.frm_select_with_upgrade', handleUpgradeClick); + function handleUpgradeClick(event) { + var element, link, content; + element = event.target; + if (!element.classList) { + return; + } + var showExpiredModal = element.classList.contains('frm_show_expired_modal') || null !== element.querySelector('.frm_show_expired_modal') || element.closest('.frm_show_expired_modal'); + + // If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute + if (event.type === 'change' && element.classList.contains('frm_select_with_upgrade')) { + var selectedOption = element.options[element.selectedIndex]; + if (selectedOption && selectedOption.dataset.upgrade) { + element = selectedOption; + } + } + if (!element.dataset.upgrade) { + var parent = element.closest('[data-upgrade]'); + if (!parent) { + parent = element.closest('.frm_field_box'); + if (!parent) { + return; + } + // Fake it if it's missing to avoid error. + element.dataset.upgrade = ''; + } + element = parent; + } + if (showExpiredModal) { + var hookName = 'frm_show_expired_modal'; + wp.hooks.doAction(hookName, element); + return; + } + var upgradeLabel = element.dataset.upgrade; + if (!upgradeLabel || element.classList.contains('frm_show_upgrade_tab')) { + return; + } + event.preventDefault(); + var modal = $info.get(0); + var lockIcon = modal.querySelector('.frm_lock_icon'); + if (lockIcon) { + lockIcon.style.display = 'block'; + lockIcon.classList.remove('frm_lock_open_icon'); + lockIcon.querySelector('use').setAttribute('href', '#frm_lock_icon'); + } + var upgradeImageId = 'frm_upgrade_modal_image'; + var oldImage = document.getElementById(upgradeImageId); + if (oldImage) { + oldImage.remove(); + } + if (element.dataset.image) { + if (lockIcon) { + lockIcon.style.display = 'none'; + } + lockIcon.parentNode.insertBefore(frmDom.img({ + id: upgradeImageId, + src: frmGlobal.url + '/images/' + element.dataset.image + }), lockIcon); + } + var level = modal.querySelector('.license-level'); + if (level) { + level.textContent = getRequiredLicenseFromTrigger(element); + } + + // If one click upgrade, hide other content + addOneClick(element, 'modal', upgradeLabel); + modal.querySelector('.frm_are_not_installed').style.display = element.dataset.image || element.dataset.oneclick ? 'none' : 'inline-block'; + modal.querySelector('.frm-upgrade-modal-title-prefix').style.display = element.dataset.oneclick ? 'inline' : 'none'; + modal.querySelector('.frm_feature_label').textContent = upgradeLabel; + modal.querySelector('.frm-upgrade-modal-title-suffix').style.display = 'none'; + modal.querySelector('h2').style.display = 'block'; + $info.dialog('open'); + + // set the utm medium + var button = modal.querySelector('.button-primary:not(.frm-oneclick-button)'); + link = button.getAttribute('href').replace(/(medium=)[a-z_-]+/ig, '$1' + element.getAttribute('data-medium')); + content = element.getAttribute('data-content'); + if (content === null) { + content = ''; + } + link = link.replace(/(content=)[a-z_-]+/ig, '$1' + content); + button.setAttribute('href', link); + } +} +function getRequiredLicenseFromTrigger(element) { + if (element.dataset.requires) { + return element.dataset.requires; + } + return 'Pro'; +} + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _defineProperty) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPrimitive) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); + +function toPrimitive(t, r) { + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPropertyKey) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); + + +function toPropertyKey(t) { + var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); + return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _typeof) +/* harmony export */ }); +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +/*!*******************************!*\ + !*** ./js/src/admin/admin.js ***! + \*******************************/ +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */ +/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */ + +window.FrmFormsConnect = window.FrmFormsConnect || function (document, window, $) { + /*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */ + + var el = { + messageBox: null, + reset: null, + setElements: function setElements() { + el.messageBox = document.querySelector('.frm_pro_license_msg'); + el.reset = document.getElementById('frm_reconnect_link'); + } + }; + + /** + * Public functions and properties. + * + * @since 4.03 + * + * @type {Object} + */ + var app = { + /** + * Register connect button event. + * + * @since 4.03 + */ + init: function init() { + el.setElements(); + $(document.getElementById('frm_deauthorize_link')).on('click', app.deauthorize); + $('.frm_authorize_link').on('click', app.authorize); + // Handles FF dashboard Authorize & Reauthorize events. + // Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js + $('.frm-dashboard-license-options').on('click', '#frm_deauthorize_link', app.deauthorize); + $('.frm-dashboard-license-options').on('click', '#frm_reconnect_link', app.reauthorize); + if (el.reset !== null) { + $(el.reset).on('click', app.reauthorize); + } + }, + /* Manual license authorization */ + authorize: function authorize() { + /*jshint validthis:true */ + var button = this; + var pluginSlug = this.getAttribute('data-plugin'); + var input = document.getElementById('edd_' + pluginSlug + '_license_key'); + var license = input.value; + var wpmu = document.getElementById('proplug-wpmu'); + this.classList.add('frm_loading_button'); + if (wpmu === null) { + wpmu = 0; + } else if (wpmu.checked) { + wpmu = 1; + } else { + wpmu = 0; + } + $.ajax({ + type: 'POST', + url: ajaxurl, + dataType: 'json', + data: { + action: 'frm_addon_activate', + license: license, + plugin: pluginSlug, + wpmu: wpmu, + nonce: frmGlobal.nonce + }, + success: function success(msg) { + app.afterAuthorize(msg, input); + button.classList.remove('frm_loading_button'); + } + }); + }, + afterAuthorize: function afterAuthorize(msg, input) { + if (msg.success === true) { + input.value = '•••••••••••••••••••'; + } + wp.hooks.doAction('frm_after_authorize', msg); + app.showMessage(msg); + }, + showProgress: function showProgress(msg) { + if (el.messageBox === null) { + // In case the message box was added after page load. + el.setElements(); + } + var messageBox = el.messageBox; + if (messageBox === null) { + return; + } + if (msg.success === true) { + messageBox.classList.remove('frm_error_style'); + messageBox.classList.add('frm_message', 'frm_updated_message'); + } else { + messageBox.classList.add('frm_error_style'); + messageBox.classList.remove('frm_message', 'frm_updated_message'); + } + messageBox.classList.remove('frm_hidden'); + messageBox.innerHTML = msg.message; + }, + showMessage: function showMessage(msg) { + if (el.messageBox === null) { + // In case the message box was added after page load. + el.setElements(); + } + var messageBox = el.messageBox; + if (msg.success === true) { + app.showAuthorized(true); + app.showInlineSuccess(); + + /** + * Triggers the after license is authorized action for a confirmation/success modal. + * + * @param {Object} msg An object containing message data received from Authorize request. + */ + wp.hooks.doAction('frmAdmin.afterLicenseAuthorizeSuccess', { + msg: msg + }); + } + app.showProgress(msg); + if (msg.message !== '') { + setTimeout(function () { + messageBox.innerHTML = ''; + messageBox.classList.add('frm_hidden'); + messageBox.classList.remove('frm_error_style', 'frm_message', 'frm_updated_message'); + }, 10000); + var refreshPage = document.querySelector('.frm-admin-page-dashboard'); + if (refreshPage) { + setTimeout(function () { + window.location.reload(); + }, 1000); + } + } + }, + showAuthorized: function showAuthorized(show) { + var from = show ? 'unauthorized' : 'authorized'; + var to = show ? 'authorized' : 'unauthorized'; + var container = document.querySelectorAll('.frm_' + from + '_box'); + if (container.length) { + // Replace all authorized boxes with unauthorized boxes. + container.forEach(function (box) { + box.className = box.className.replace('frm_' + from + '_box', 'frm_' + to + '_box'); + }); + } + }, + /** + * Use the data-success element to replace the element content. + */ + showInlineSuccess: function showInlineSuccess() { + var successElement = document.querySelectorAll('.frm-confirm-msg [data-success]'); + if (successElement.length) { + successElement.forEach(function (element) { + element.innerHTML = frmAdminBuild.purifyHtml(element.getAttribute('data-success')); + }); + } + }, + /* Clear the site license cache */ + reauthorize: function reauthorize() { + /*jshint validthis:true */ + this.innerHTML = ''; + $.ajax({ + type: 'POST', + url: ajaxurl, + dataType: 'json', + data: { + action: 'frm_reset_cache', + plugin: 'formidable_pro', + nonce: frmGlobal.nonce + }, + success: function success(msg) { + el.reset.textContent = msg.message; + if (el.reset.getAttribute('data-refresh') === '1') { + window.location.reload(); + } + } + }); + return false; + }, + deauthorize: function deauthorize() { + /*jshint validthis:true */ + if (!confirm(frmGlobal.deauthorize)) { + return false; + } + var pluginSlug = this.getAttribute('data-plugin'), + input = document.getElementById('edd_' + pluginSlug + '_license_key'), + license = input.value, + link = this; + this.innerHTML = ''; + $.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_addon_deactivate', + license: license, + plugin: pluginSlug, + nonce: frmGlobal.nonce + }, + success: function success() { + app.showAuthorized(false); + input.value = ''; + link.replaceWith('Disconnected'); + + /** + * Triggers the after license is deauthorized sruccess action. + */ + wp.hooks.doAction('frmAdmin.afterLicenseDeauthorizeSuccess', {}); + } + }); + return false; + } + }; + + // Provide access to public functions/properties. + return app; +}(document, window, jQuery); +window.frmAdminBuildJS = function () { + //'use strict'; + + /*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */ + + var MAX_FIELD_GROUP_SIZE = 12; + var frmAdminJs = frm_admin_js; // eslint-disable-line camelcase + var _frmDom = frmDom, + tag = _frmDom.tag, + div = _frmDom.div, + span = _frmDom.span, + a = _frmDom.a, + svg = _frmDom.svg, + img = _frmDom.img; + var onClickPreventDefault = frmDom.util.onClickPreventDefault; + var _frmDom$ajax = frmDom.ajax, + doJsonFetch = _frmDom$ajax.doJsonFetch, + doJsonPost = _frmDom$ajax.doJsonPost; + frmAdminJs.contextualShortcodes = getContextualShortcodes(); + var icons = { + save: svg({ + href: '#frm_save_icon' + }), + drag: svg({ + href: '#frm_drag_icon', + classList: ['frm_drag_icon', 'frm-drag'] + }) + }; + var $newFields = jQuery(document.getElementById('frm-show-fields')), + builderForm = document.getElementById('new_fields'), + thisForm = document.getElementById('form_id'), + copyHelper = false, + fieldsUpdated = 0, + thisFormId = 0, + autoId = 0, + optionMap = {}, + lastNewActionIdReturned = 0; + var _wp$i18n = wp.i18n, + __ = _wp$i18n.__, + sprintf = _wp$i18n.sprintf; + var debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent; + var dragState = { + dragging: false + }; + if (thisForm !== null) { + thisFormId = thisForm.value; + } + var currentURL = new URL(window.location.href); + var urlParams = currentURL.searchParams; + var builderPage = document.getElementById('frm_builder_page'); + + // Global settings + var s; + function showElement(element) { + if (!element[0]) { + return; + } + element[0].style.display = ''; + } + function empty($obj) { + if ($obj !== null) { + while ($obj.firstChild) { + $obj.removeChild($obj.firstChild); + } + } + } + function addClass($obj, className) { + if ($obj.classList) { + $obj.classList.add(className); + } else { + $obj.className += ' ' + className; + } + } + function confirmClick(e) { + /*jshint validthis:true */ + e.stopPropagation(); + e.preventDefault(); + confirmLinkClick(this); + } + function confirmLinkClick(link) { + var message = link.getAttribute('data-frmverify'), + loadedFrom = link.getAttribute('data-loaded-from'); + if (message === null || link.id === 'frm-confirmed-click') { + return true; + } + if ('entries-list' === loadedFrom) { + return wp.hooks.applyFilters('frm_on_multiple_entries_delete', { + link: link, + initModal: initModal + }); + } + return confirmModal(link); + } + function confirmModal(link) { + var verify, + $confirmMessage, + i, + dataAtts, + btnClass, + $info = initModal('#frm_confirm_modal', '400px'), + continueButton = document.getElementById('frm-confirmed-click'); + if ($info === false) { + return false; + } + verify = link.getAttribute('data-frmverify'); + btnClass = verify ? link.getAttribute('data-frmverify-btn') : ''; + $confirmMessage = jQuery('.frm-confirm-msg'); + $confirmMessage.empty(); + if (verify) { + $confirmMessage.append(document.createTextNode(verify)); + if (btnClass) { + continueButton.classList.add(btnClass); + } + } + removeAtts = continueButton.dataset; + for (i in dataAtts) { + continueButton.removeAttribute('data-' + i); + } + dataAtts = link.dataset; + for (i in dataAtts) { + if (i !== 'frmverify') { + continueButton.setAttribute('data-' + i, dataAtts[i]); + } + } + + /** + * Triggers the pre-open action for a confirmation modal. This action passes + * relevant modal information and associated link to any listening hooks. + * + * @param {Object} options An object containing modal elements and data. + * @param {HTMLElement} options.$info The HTML element containing modal information. + * @param {string} options.link The link associated with the modal action. + */ + wp.hooks.doAction('frmAdmin.beforeOpenConfirmModal', { + $info: $info, + link: link + }); + $info.dialog('open'); + continueButton.setAttribute('href', link.getAttribute('href') || link.getAttribute('data-href')); + return false; + } + function infoModal(msg) { + var $info = initModal('#frm_info_modal', '400px'); + if ($info === false) { + return false; + } + jQuery('.frm-info-msg').html(msg); + $info.dialog('open'); + return false; + } + function toggleItem(e) { + /*jshint validthis:true */ + var toggle = this.getAttribute('data-frmtoggle'); + var text = this.getAttribute('data-toggletext'); + var $items = jQuery(toggle); + e.preventDefault(); + $items.toggle(); + if (text !== null && text !== '') { + this.setAttribute('data-toggletext', this.innerHTML); + this.textContent = text; + } + return false; + } + + /** + * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected. + * + * @param {Event} e Event with either the change or click type. + * @return {false} + */ + function hideShowItem(e) { + /*jshint validthis:true */ + var hide = this.getAttribute('data-frmhide'); + var show = this.getAttribute('data-frmshow'); + var uncheckList = this.getAttribute('data-frmuncheck'); + var uncheckListArray = uncheckList ? uncheckList.split(',') : []; + + // Flip unchecked checkboxes so an off value undoes the on value. + if (isUncheckedCheckbox(this)) { + if (hide !== null) { + show = hide; + hide = null; + } else if (show !== null) { + hide = show; + show = null; + } + } + e.preventDefault(); + var toggleClass = this.getAttribute('data-toggleclass') || 'frm_hidden'; + if (hide !== null) { + jQuery(hide).addClass(toggleClass); + } + if (show !== null) { + jQuery(show).removeClass(toggleClass); + } + var current = this.parentNode.querySelectorAll('a.current'); + if (current !== null) { + for (var _i = 0; _i < current.length; _i++) { + current[_i].classList.remove('current'); + } + this.classList.add('current'); + } + if (uncheckListArray.length) { + uncheckListArray.forEach(function (uncheckItem) { + var uncheckItemElement = document.querySelector(uncheckItem); + if (uncheckItemElement) { + uncheckItemElement.checked = false; + } + }); + } + return false; + } + function isUncheckedCheckbox(element) { + return 'INPUT' === element.nodeName && 'checkbox' === element.type && !element.checked; + } + + /** + * Load a tooltip for a single element. + * + * @since x.x + * + * @param {HTMLElement} element + * @param {boolean} show + */ + function loadTooltip(element) { + var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var tooltipTarget = element; + + // Bootstrap 5 does not allow tooltips on dropdown triggers, so move the tooltip to the parent element. + if (tooltipTarget.hasAttribute('data-toggle') || tooltipTarget.hasAttribute('data-bs-toggle')) { + tooltipTarget.parentElement.setAttribute('title', tooltipTarget.getAttribute('title')); + tooltipTarget.removeAttribute('title'); + tooltipTarget.classList.remove('frm_bstooltip'); + tooltipTarget.parentElement.classList.add('frm_bstooltip'); + tooltipTarget = tooltipTarget.parentElement; + } + jQuery(tooltipTarget).tooltip(); + if (show) { + deleteTooltips(); + jQuery(tooltipTarget).tooltip('show'); + } + } + function loadTooltips() { + var wrapClass = jQuery('.wrap, .frm_wrap'), + confirmModal = document.getElementById('frm_confirm_modal'), + doAction = false, + confirmedBulkDelete = false; + jQuery(confirmModal).on('click', '[data-deletefield]', deleteFieldConfirmed); + jQuery(confirmModal).on('click', '[data-removeid]', removeThisTag); + jQuery(confirmModal).on('click', '[data-trashtemplate]', trashTemplate); + wrapClass.on('click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag); + wrapClass.on('click', 'a[data-frmverify]', confirmClick); + wrapClass.on('click', 'a[data-frmtoggle]', toggleItem); + wrapClass.on('click', 'a[data-frmhide], a[data-frmshow]', hideShowItem); + wrapClass.on('change', 'input[data-frmhide], input[data-frmshow]', hideShowItem); + wrapClass.on('click', '.widget-top,a.widget-action', clickWidget); + wrapClass.on('mouseenter.frm', '.frm_bstooltip, .frm_help', function () { + jQuery(this).off('mouseenter.frm'); + loadTooltip(this, true); + }); + jQuery(document).on('click', '#doaction, #doaction2', function (event) { + var isTop = this.id === 'doaction', + suffix = isTop ? 'top' : 'bottom', + bulkActionSelector = document.getElementById('bulk-action-selector-' + suffix), + confirmBulkDelete = document.getElementById('confirm-bulk-delete-' + suffix); + if (bulkActionSelector !== null && confirmBulkDelete !== null) { + doAction = this; + if (!confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete') { + event.preventDefault(); + confirmLinkClick(confirmBulkDelete); + return false; + } + } else { + doAction = false; + } + }); + jQuery(document).on('click', '#frm-confirmed-click', function (event) { + if (doAction === false || event.target.classList.contains('frm-btn-inactive')) { + return; + } + if (this.getAttribute('href') === 'confirm-bulk-delete') { + event.preventDefault(); + confirmedBulkDelete = true; + doAction.click(); + return false; + } + }); + } + function deleteTooltips() { + document.querySelectorAll('.tooltip').forEach(function (tooltip) { + tooltip.remove(); + }); + } + function removeThisTag() { + /*jshint validthis:true */ + var show, hide, removeMore; + if (parseInt(this.getAttribute('data-skip-frm-js')) || confirmLinkClick(this) === false) { + return; + } + var deleteButton = jQuery(this); + var id = deleteButton.attr('data-removeid'); + show = deleteButton.attr('data-showlast'); + if (typeof show === 'undefined') { + show = ''; + } + hide = deleteButton.attr('data-hidelast'); + if (typeof hide === 'undefined') { + hide = ''; + } + removeMore = deleteButton.attr('data-removemore'); + if (show !== '') { + if (deleteButton.closest('.frm_add_remove').find('.frm_remove_tag:visible').length > 1) { + show = ''; + hide = ''; + } + } else if (id.indexOf('frm_postmeta_') === 0) { + if (jQuery('#frm_postmeta_rows .frm_postmeta_row').length < 2) { + show = '.frm_add_postmeta_row.button'; + } + if (jQuery('.frm_toggle_cf_opts').length && jQuery('#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')').last().length) { + if (show !== '') { + show += ','; + } + show += '#' + jQuery('#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')').last().attr('id') + ' .frm_toggle_cf_opts'; + } + } + var fadeEle = document.getElementById(id); + var $fadeEle = jQuery(fadeEle); + $fadeEle.fadeOut(300, function () { + var _document$querySelect; + $fadeEle.remove(); + fieldUpdated(); + if (hide !== '') { + jQuery(hide).hide(); + } + if (show !== '') { + jQuery(show + ' a,' + show).removeClass('frm_hidden').fadeIn('slow'); + } + if (this.closest('.frm_form_action_settings')) { + var type = this.closest('.frm_form_action_settings').querySelector('.frm_action_name').value; + afterActionRemoved(type); + } + (_document$querySelect = document.querySelector('.tooltip')) === null || _document$querySelect === void 0 || _document$querySelect.remove(); + }); + if (typeof removeMore !== 'undefined') { + removeMore = jQuery(removeMore); + removeMore.fadeOut(400, function () { + removeMore.remove(); + }); + } + if (show !== '') { + jQuery(this).closest('.frm_logic_rows').fadeOut('slow'); + } + + /** + * Fires after a tag element has been removed in the admin interface. + * + * @param {string} id The ID of the removed element + * @param {HTMLElement} fadeEle The removed element that was faded out + */ + wp.hooks.doAction('frm_admin_tag_removed', id, fadeEle); + return false; + } + function afterActionRemoved(type) { + checkActiveAction(type); + var hookName = 'frm_after_action_removed'; + var hookArgs = { + type: type + }; + wp.hooks.doAction(hookName, hookArgs); + } + function clickWidget(event, b) { + /*jshint validthis:true */ + if (typeof b === 'undefined') { + b = this; + } + popCalcFields(b, false); + var cont = jQuery(b).closest('.frm_form_action_settings'); + var target = event.target; + if (cont.length && typeof target !== 'undefined') { + var className = target.parentElement.className; + if ('string' === typeof className) { + if (className.indexOf('frm_email_icons') > -1 || className.indexOf('frm_toggle') > -1) { + // clicking on delete icon shouldn't open it + event.stopPropagation(); + return; + } + } + } + var inside = cont.children('.widget-inside'); + if (cont.length && inside.find('p, div, table').length < 1) { + var actionId = cont.find('input[name$="[ID]"]').val(); + var actionType = cont.find('input[name$="[post_excerpt]"]').val(); + if (actionType) { + inside.html(''); + cont.find('.spinner').fadeIn('slow'); + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_form_action_fill', + action_id: actionId, + action_type: actionType, + nonce: frmGlobal.nonce + }, + success: function success(html) { + inside.html(html); + initiateMultiselect(); + showInputIcon('#' + cont.attr('id')); + initAutocomplete(inside); + jQuery(b).trigger('frm-action-loaded'); + + /** + * Fires after filling form action content when opening. + * + * @since 5.5.4 + * + * @param {Object} insideElement JQuery object of form action inside element. + */ + wp.hooks.doAction('frm_filled_form_action', inside); + } + }); + } + } + jQuery(b).closest('.frm_field_box').siblings().find('.widget-inside').slideUp('fast'); + if (typeof b.className !== 'undefined' && b.className.indexOf('widget-action') !== -1 || jQuery(b).closest('.start_divider').length < 1) { + return; + } + inside = jQuery(b).closest('div.widget').children('.widget-inside'); + if (inside.is(':hidden')) { + inside.slideDown('fast'); + } else { + inside.slideUp('fast'); + } + } + function clickNewTab() { + /*jshint validthis:true */ + var t = this.getAttribute('href'); + if (typeof t === 'undefined') { + return false; + } + var c = t.replace('#', '.'); + var $link = jQuery(this); + $link.closest('li').addClass('frm-tabs active').siblings('li').removeClass('frm-tabs active starttab'); + $link.closest('div').children('.tabs-panel').not(t).not(c).hide(); + var tabContent = document.getElementById(t.replace('#', '')); + if (tabContent) { + tabContent.style.display = 'block'; + } + + // clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there. + if (this.id === 'frm_insert_fields_tab' && !this.closest('#frm_adv_info')) { + clearSettingsBox(); + } + return false; + } + function clickTab(link, auto) { + link = jQuery(link); + var t = link.attr('href'); + if (typeof t === 'undefined') { + return; + } + var c = t.replace('#', '.'); + link.closest('li').addClass('frm-tabs active').siblings('li').removeClass('frm-tabs active starttab'); + if (link.closest('div').find('.tabs-panel').length) { + link.closest('div').children('.tabs-panel').not(t).not(c).hide(); + } else if (document.getElementById('form_global_settings') !== null) { + /* global settings */ + var ajax = link.data('frmajax'); + link.closest('.frm_wrap').find('.tabs-panel, .hide_with_tabs').hide(); + if (typeof ajax !== 'undefined' && ajax == '1') { + loadSettingsTab(t); + } + } else { + /* form settings page */ + jQuery('#frm-categorydiv .tabs-panel, .hide_with_tabs').hide(); + } + jQuery(t).show(); + jQuery(c).show(); + hideShortcodes(); + if (auto !== 'auto') { + // Hide success message on tab change. + jQuery('.frm_updated_message').hide(); + jQuery('.frm_warning_style').hide(); + } + if (jQuery(link).closest('#frm_adv_info').length) { + return; + } + if (jQuery('.frm_form_settings').length) { + jQuery('.frm_form_settings').attr('action', '?page=formidable&frm_action=settings&id=' + jQuery('.frm_form_settings input[name="id"]').val() + '&t=' + t.replace('#', '')); + } else { + jQuery('.frm_settings_form').attr('action', '?page=formidable-settings&t=' + t.replace('#', '')); + } + } + function setupSortable(sortableSelector) { + document.querySelectorAll(sortableSelector).forEach(function (list) { + makeDroppable(list); + Array.from(list.children).forEach(function (child) { + return makeDraggable(child, '.frm-move'); + }); + var $sectionTitle = jQuery(list).children('[data-type="divider"]').children('.divider_section_only'); + if ($sectionTitle.length) { + makeDroppable($sectionTitle); + } + }); + setupFieldOptionSorting(jQuery('#frm_builder_page')); + } + function makeDroppable(list) { + jQuery(list).droppable({ + accept: '.frmbutton, li.frm_field_box', + deactivate: handleFieldDrop, + over: onDragOverDroppable, + out: onDraggableLeavesDroppable, + tolerance: 'pointer' + }); + } + function onDragOverDroppable(event, ui) { + var droppable = getDroppableForOnDragOver(event.target); + var draggable = ui.draggable[0]; + if (!allowDrop(draggable, droppable, event)) { + droppable.classList.remove('frm-over-droppable'); + jQuery(droppable).parents('ul.frm_sorting').addClass('frm-over-droppable'); + return; + } + document.querySelectorAll('.frm-over-droppable').forEach(function (droppable) { + return droppable.classList.remove('frm-over-droppable'); + }); + droppable.classList.add('frm-over-droppable'); + jQuery(droppable).parents('ul.frm_sorting').addClass('frm-over-droppable'); + } + + /** + * Maybe change the droppable. + * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead. + * + * @param {Element} droppable + * @return {Element} + */ + function getDroppableForOnDragOver(droppable) { + if (droppable.classList.contains('divider_section_only')) { + droppable = jQuery(droppable).nextAll('.start_divider.frm_sorting').get(0); + } + return droppable; + } + function onDraggableLeavesDroppable(event) { + var droppable = event.target; + droppable.classList.remove('frm-over-droppable'); + } + function makeDraggable(draggable, handle) { + var settings = { + helper: getDraggableHelper, + revert: 'invalid', + delay: 10, + start: handleDragStart, + stop: handleDragStop, + drag: handleDrag, + cursor: 'grabbing', + refreshPositions: true, + cursorAt: { + top: 0, + left: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor. + } + }; + if ('string' === typeof handle) { + settings.handle = handle; + } + jQuery(draggable).draggable(settings); + } + function getDraggableHelper(event) { + var draggable = event.delegateTarget; + if (isFieldGroup(draggable)) { + var newTextFieldClone = document.getElementById('frm-insert-fields').querySelector('.frm_ttext').cloneNode(true); + newTextFieldClone.querySelector('use').setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon'); + newTextFieldClone.querySelector('span').textContent = __('Field Group', 'formidable'); + newTextFieldClone.classList.add('frm_field_box'); + newTextFieldClone.classList.add('ui-sortable-helper'); + return newTextFieldClone; + } + var copyTarget; + var isNewField = draggable.classList.contains('frmbutton'); + if (isNewField) { + copyTarget = draggable.cloneNode(true); + copyTarget.classList.add('ui-sortable-helper'); + draggable.classList.add('frm-new-field'); + return copyTarget; + } + if (draggable.hasAttribute('data-ftype')) { + var fieldType = draggable.getAttribute('data-ftype'); + copyTarget = document.getElementById('frm-insert-fields').querySelector('.frm_t' + fieldType); + copyTarget = copyTarget.cloneNode(true); + copyTarget.classList.add('form-field'); + copyTarget.classList.add('ui-sortable-helper'); + if (copyTarget) { + return copyTarget.cloneNode(true); + } + } + return div({ + className: 'frmbutton' + }); + } + function handleDragStart(event, ui) { + dragState.dragging = true; + var container = postBodyContent; + container.classList.add('frm-dragging-field'); + document.body.classList.add('frm-dragging'); + ui.helper.addClass('frm-sortable-helper'); + ui.helper.initialOffset = container.scrollTop; + event.target.classList.add('frm-drag-fade'); + unselectFieldGroups(); + deleteEmptyDividerWrappers(); + maybeRemoveGroupHoverTarget(); + closeOpenFieldDropdowns(); + deleteTooltips(); + } + function handleDragStop() { + var container = postBodyContent; + container.classList.remove('frm-dragging-field'); + document.body.classList.remove('frm-dragging'); + var fade = document.querySelector('.frm-drag-fade'); + if (fade) { + fade.classList.remove('frm-drag-fade'); + } + } + function handleDrag(event, ui) { + maybeScrollBuilder(event); + var draggable = event.target; + var droppable = getDroppableTarget(); + var placeholder = document.getElementById('frm_drag_placeholder'); + if (!allowDrop(draggable, droppable, event)) { + if (placeholder) { + placeholder.remove(); + } + return; + } + if (!placeholder) { + placeholder = tag('li', { + id: 'frm_drag_placeholder', + className: 'sortable-placeholder' + }); + } + var frmSortableHelper = ui.helper.get(0); + if (frmSortableHelper.classList.contains('form-field') || frmSortableHelper.classList.contains('frm_field_box')) { + // Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list. + frmSortableHelper.style.transform = 'translateY(' + getDragOffset(ui.helper) + 'px)'; + } + if ('frm-show-fields' === droppable.id || droppable.classList.contains('start_divider')) { + placeholder.style.left = 0; + handleDragOverYAxis({ + droppable: droppable, + y: event.clientY, + placeholder: placeholder + }); + return; + } + placeholder.style.top = ''; + handleDragOverFieldGroup({ + droppable: droppable, + x: event.clientX, + placeholder: placeholder + }); + } + function maybeScrollBuilder(event) { + $postBodyContent.scrollTop(function (_, v) { + var moved = event.clientY; + var h = postBodyContent.offsetHeight; + var relativePos = event.clientY - postBodyContent.offsetTop; + var y = relativePos - h / 2; + if (relativePos > h - 50 && moved > 5) { + // Scrolling down. + return v + y * 0.1; + } + if (relativePos < 70 && moved < 130) { + // Scrolling up. + return v - Math.abs(y * 0.1); + } + return v; + }); + } + function getDragOffset($helper) { + return postBodyContent.scrollTop - $helper.initialOffset; + } + function getDroppableTarget() { + var droppable = document.getElementById('frm-show-fields'); + while (droppable.querySelector('.frm-over-droppable')) { + droppable = droppable.querySelector('.frm-over-droppable'); + } + if ('frm-show-fields' === droppable.id && !droppable.classList.contains('frm-over-droppable')) { + droppable = false; + } + return droppable; + } + function handleFieldDrop(_, ui) { + if (!dragState.dragging) { + // dragState.dragging is set to true on drag start. + // The deactivate event gets called for every droppable. This check to make sure it happens once. + return; + } + dragState.dragging = false; + var draggable = ui.draggable[0]; + var placeholder = document.getElementById('frm_drag_placeholder'); + if (!placeholder) { + ui.helper.remove(); + debouncedSyncAfterDragAndDrop(); + return; + } + maybeOpenCollapsedPage(placeholder); + var $previousFieldContainer = ui.helper.parent(); + var previousSection = ui.helper.get(0).closest('ul.start_divider'); + var newSection = placeholder.closest('ul.start_divider'); + if (draggable.classList.contains('frm-new-field')) { + insertNewFieldByDragging(draggable.id); + } else { + moveFieldThatAlreadyExists(draggable, placeholder); + maybeMakeFieldGroupDraggableAfterDragging(placeholder.parentElement); + } + var previousSectionId = previousSection ? parseInt(previousSection.closest('.edit_field_type_divider').getAttribute('data-fid')) : 0; + var newSectionId = newSection ? parseInt(newSection.closest('.edit_field_type_divider').getAttribute('data-fid')) : 0; + placeholder.remove(); + ui.helper.remove(); + var $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow($previousFieldContainer) : []; + maybeUpdatePreviousFieldContainerAfterDrop($previousFieldContainer, $previousContainerFields); + maybeUpdateDraggableClassAfterDrop(draggable, $previousContainerFields); + if (previousSectionId !== newSectionId) { + updateFieldAfterMovingBetweenSections(jQuery(draggable), previousSection); + } + debouncedSyncAfterDragAndDrop(); + } + + /** + * When a field is moved into a field group, make sure the field group is draggable. + * + * @since 6.24 + * + * @param {HTMLElement} placeholderParent + * @return {void} + */ + function maybeMakeFieldGroupDraggableAfterDragging(placeholderParent) { + var isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' && !placeholderParent.classList.contains('start_divider') && 'frm-show-fields' !== placeholderParent.id; + if (!isDroppingIntoFieldGroup) { + return; + } + var fieldGroupLi = placeholderParent.closest('li'); + if (fieldGroupLi && !fieldGroupLi.classList.contains('ui-draggable')) { + makeDraggable(fieldGroupLi, '.frm-move'); + } + } + + /** + * If a page if collapsed, expand it before dragging since only the page break will move. + * + * @param {Element} placeholder + * @return {void} + */ + function maybeOpenCollapsedPage(placeholder) { + if (!placeholder.previousElementSibling || !placeholder.previousElementSibling.classList.contains('frm-is-collapsed')) { + return; + } + var $pageBreakField = jQuery(placeholder).prevUntil('[data-type="break"]'); + if (!$pageBreakField.length) { + return; + } + var collapseButton = $pageBreakField.find('.frm-collapse-page').get(0); + if (collapseButton) { + collapseButton.click(); + } + } + function maybeUpdatePreviousFieldContainerAfterDrop($previousFieldContainer, $previousContainerFields) { + if (!$previousFieldContainer.length) { + return; + } + if ($previousContainerFields.length) { + syncLayoutClasses($previousContainerFields.first()); + } else { + maybeDeleteAnEmptyFieldGroup($previousFieldContainer.get(0)); + } + } + function maybeUpdateDraggableClassAfterDrop(draggable, $previousContainerFields) { + if (0 !== $previousContainerFields.length || 1 !== getFieldsInRow(jQuery(draggable.parentNode)).length) { + syncLayoutClasses(jQuery(draggable)); + } + } + + /** + * Remove an empty field group, but don't remove an empty section. + * + * @param {Element} previousFieldContainer + * @return {void} + */ + function maybeDeleteAnEmptyFieldGroup(previousFieldContainer) { + var closestFieldBox = previousFieldContainer.closest('li.frm_field_box'); + if (closestFieldBox && !closestFieldBox.classList.contains('edit_field_type_divider')) { + closestFieldBox.remove(); + } + } + function handleDragOverYAxis(_ref) { + var droppable = _ref.droppable, + y = _ref.y, + placeholder = _ref.placeholder; + var $list = jQuery(droppable); + var top; + $children = $list.children().not('.edit_field_type_end_divider'); + if (0 === $children.length) { + $list.prepend(placeholder); + top = 0; + } else { + var insertAtIndex = determineIndexBasedOffOfMousePositionInList($list, y); + if (insertAtIndex === $children.length) { + var $lastChild = jQuery($children.get(insertAtIndex - 1)); + top = $lastChild.offset().top + $lastChild.outerHeight(); + $list.append(placeholder); + + // Make sure nothing gets inserted after the end divider. + var $endDivider = $list.children('.edit_field_type_end_divider'); + if ($endDivider.length) { + $list.append($endDivider); + } + } else { + top = jQuery($children.get(insertAtIndex)).offset().top; + jQuery($children.get(insertAtIndex)).before(placeholder); + } + } + top -= $list.offset().top; + placeholder.style.top = top + 'px'; + } + function determineIndexBasedOffOfMousePositionInList($list, y) { + var $items = $list.children().not('.edit_field_type_end_divider'); + var length = $items.length; + var index, item, itemTop, returnIndex; + if (!document.querySelector('.frm-has-fields .frm_no_fields')) { + // Always return 0 when there are no fields. + return 0; + } + returnIndex = 0; + for (index = length - 1; index >= 0; --index) { + item = $items.get(index); + itemTop = jQuery(item).offset().top; + if (y > itemTop) { + returnIndex = index; + if (y > itemTop + jQuery(item).outerHeight() / 2) { + returnIndex = index + 1; + } + break; + } + } + return returnIndex; + } + function handleDragOverFieldGroup(_ref2) { + var droppable = _ref2.droppable, + x = _ref2.x, + placeholder = _ref2.placeholder; + var $row = jQuery(droppable); + var $children = getFieldsInRow($row); + if (!$children.length) { + return; + } + var left; + var insertAtIndex = determineIndexBasedOffOfMousePositionInRow($row, x); + if (insertAtIndex === $children.length) { + var $lastChild = jQuery($children.get(insertAtIndex - 1)); + left = $lastChild.offset().left + $lastChild.outerWidth(); + $row.append(placeholder); + } else { + left = jQuery($children.get(insertAtIndex)).offset().left; + jQuery($children.get(insertAtIndex)).before(placeholder); + var amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group. + left -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields. + } + left -= $row.offset().left; + placeholder.style.left = left + 'px'; + } + function syncAfterDragAndDrop() { + fixUnwrappedListItems(); + toggleSectionHolder(); + maybeFixEndDividers(); + maybeDeleteEmptyFieldGroups(); + updateFieldOrder(); + var event = new Event('frm_sync_after_drag_and_drop', { + bubbles: false + }); + document.dispatchEvent(event); + } + function maybeFixEndDividers() { + document.querySelectorAll('.edit_field_type_end_divider').forEach(function (endDivider) { + return endDivider.parentNode.appendChild(endDivider); + }); + } + function maybeDeleteEmptyFieldGroups() { + document.querySelectorAll('li.form_field_box:not(.form-field)').forEach(function (fieldGroup) { + return !fieldGroup.children.length && fieldGroup.remove(); + }); + } + function fixUnwrappedListItems() { + var lists = document.querySelectorAll('ul#frm-show-fields, ul.start_divider'); + lists.forEach(function (list) { + list.childNodes.forEach(function (child) { + if ('undefined' === typeof child.classList) { + return; + } + if (child.classList.contains('edit_field_type_end_divider')) { + // Never wrap end divider in place. + return; + } + if ('undefined' !== typeof child.classList && child.classList.contains('form-field')) { + wrapFieldLiInPlace(child); + } + }); + }); + } + function deleteEmptyDividerWrappers() { + var dividers = document.querySelectorAll('ul.start_divider'); + if (!dividers.length) { + return; + } + dividers.forEach(function (divider) { + var children = [].slice.call(divider.children); + children.forEach(function (child) { + if (0 === child.children.length) { + child.remove(); + } else if (1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length) { + child.remove(); + } + }); + }); + } + function getFieldsInRow($row) { + var $fields = jQuery(); + var row = $row.get(0); + if (!row.children) { + return $fields; + } + Array.from(row.children).forEach(function (child) { + if ('none' === child.style.display) { + return; + } + var classes = child.classList; + if (!classes.contains('form-field') || classes.contains('edit_field_type_end_divider') || classes.contains('frm-sortable-helper')) { + return; + } + $fields = $fields.add(child); + }); + return $fields; + } + function determineIndexBasedOffOfMousePositionInRow($row, x) { + var $inputs = getFieldsInRow($row), + length = $inputs.length, + index, + input, + inputLeft, + returnIndex; + returnIndex = 0; + for (index = length - 1; index >= 0; --index) { + input = $inputs.get(index); + inputLeft = jQuery(input).offset().left; + if (x > inputLeft) { + returnIndex = index; + if (x > inputLeft + jQuery(input).outerWidth() / 2) { + returnIndex = index + 1; + } + break; + } + } + return returnIndex; + } + function syncLayoutClasses($item, type) { + var $fields, size, layoutClasses, classToAddFunction; + if ('undefined' === typeof type) { + type = 'even'; + } + $fields = $item.parent().children('li.form-field, li.frmbutton_loadingnow').not('.edit_field_type_end_divider'); + size = $fields.length; + layoutClasses = getLayoutClasses(); + if ('even' === type && 5 !== size) { + $fields.each(getSyncLayoutClass(layoutClasses, getEvenClassForSize(size))); + } else if ('clear' === type) { + $fields.each(getSyncLayoutClass(layoutClasses, '')); + } else { + if (-1 !== ['left', 'right', 'middle', 'even'].indexOf(type)) { + classToAddFunction = function classToAddFunction(index) { + return getClassForBlock(size, type, index); + }; + } else { + classToAddFunction = function classToAddFunction(index) { + var size = type[index]; + return getLayoutClassForSize(size); + }; + } + $fields.each(getSyncLayoutClass(layoutClasses, classToAddFunction)); + } + updateFieldGroupControls($item.parent(), $fields.length); + } + function updateFieldGroupControls($row, count) { + var rowOffset, shouldShowControls, controls; + rowOffset = $row.offset(); + if ('undefined' === typeof rowOffset) { + return; + } + shouldShowControls = count >= 2; + controls = document.getElementById('frm_field_group_controls'); + if (null === controls) { + if (!shouldShowControls) { + // exit early. if we do not need controls and they do not exist, do nothing. + return; + } + controls = div(); + controls.id = 'frm_field_group_controls'; + controls.setAttribute('role', 'group'); + controls.setAttribute('tabindex', 0); + setFieldControlsHtml(controls); + builderPage.appendChild(controls); + } + $row.append(controls); + controls.style.display = shouldShowControls ? 'block' : 'none'; + } + function setFieldControlsHtml(controls) { + var layoutOption, moveOption; + layoutOption = document.createElement('span'); + layoutOption.innerHTML = ''; + var layoutOptionLabel = __('Set Row Layout', 'formidable'); + addTooltip(layoutOption, layoutOptionLabel); + makeTabbable(layoutOption, layoutOptionLabel); + moveOption = document.createElement('span'); + moveOption.innerHTML = ''; + moveOption.classList.add('frm-move'); + var moveOptionLabel = __('Move Field Group', 'formidable'); + addTooltip(moveOption, moveOptionLabel); + makeTabbable(moveOption, moveOptionLabel); + controls.innerHTML = ''; + controls.appendChild(layoutOption); + controls.appendChild(moveOption); + controls.appendChild(getFieldControlsDropdown()); + } + function addTooltip(element, title) { + element.setAttribute('data-bs-toggle', 'tooltip'); + element.setAttribute('data-bs-container', 'body'); + element.setAttribute('title', title); + element.addEventListener('mouseover', function () { + if (null === element.getAttribute('data-original-title')) { + jQuery(element).tooltip(); + } + }); + } + function getFieldControlsDropdown() { + var dropdown = span({ + className: 'dropdown' + }); + var trigger = a({ + className: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle', + children: [span({ + child: svg({ + href: '#frm_thick_more_vert_icon' + }) + }), span({ + className: 'screen-reader-text', + text: __('Toggle More Options Dropdown', 'formidable') + })] + }); + frmDom.setAttributes(trigger, { + title: __('More Options', 'formidable'), + 'data-bs-toggle': 'dropdown', + 'data-bs-container': 'body', + 'data-bs-display': 'static' + }); + makeTabbable(trigger, __('More Options', 'formidable')); + dropdown.appendChild(trigger); + var ul = div({ + className: 'frm-dropdown-menu dropdown-menu dropdown-menu-right' + }); + ul.setAttribute('role', 'menu'); + dropdown.appendChild(ul); + return dropdown; + } + function getSyncLayoutClass(layoutClasses, classToAdd) { + return function (itemIndex) { + var currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput; + currentClassToAdd = 'function' === typeof classToAdd ? classToAdd(itemIndex) : classToAdd; + length = layoutClasses.length; + activeLayoutClass = false; + for (layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex) { + currentClass = layoutClasses[layoutClassIndex]; + if (this.classList.contains(currentClass)) { + activeLayoutClass = currentClass; + break; + } + } + fieldId = this.dataset.fid; + if ('undefined' === typeof fieldId) { + // we are syncing the drag/drop placeholder before the actual field has loaded. + // this will get called again afterward and the input will exist then. + this.classList.add(currentClassToAdd); + return; + } + moveFieldSettings(document.getElementById('frm-single-settings-' + fieldId)); + layoutClassesInput = document.getElementById('frm_classes_' + fieldId); + if (null === layoutClassesInput) { + // not every field type has a layout class input. + return; + } + if (false === activeLayoutClass) { + if ('' !== currentClassToAdd) { + layoutClassesInput.value = layoutClassesInput.value.concat(' ' + currentClassToAdd); + } + } else { + this.classList.remove(activeLayoutClass); + layoutClassesInput.value = layoutClassesInput.value.replace(activeLayoutClass, currentClassToAdd); + } + if (this.classList.contains('frm_first')) { + this.classList.remove('frm_first'); + layoutClassesInput.value = layoutClassesInput.value.replace('frm_first', '').trim(); + } + if (0 === itemIndex) { + this.classList.add('frm_first'); + layoutClassesInput.value = layoutClassesInput.value.concat(' frm_first'); + } + jQuery(layoutClassesInput).trigger('change'); + }; + } + function getLayoutClasses() { + return ['frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12']; + } + function setupFieldOptionSorting(sort) { + var opts = { + items: '.frm_sortable_field_opts li', + axis: 'y', + opacity: 0.65, + forcePlaceholderSize: false, + handle: '.frm-drag', + helper: function helper(e, li) { + copyHelper = li.clone().insertAfter(li); + return li.clone(); + }, + stop: function stop(e, ui) { + copyHelper && copyHelper.remove(); + var fieldId = ui.item.attr('id').replace('frm_delete_field_', '').replace('-' + ui.item.data('optkey') + '_container', ''); + resetDisplayedOpts(fieldId); + fieldUpdated(); + } + }; + jQuery(sort).sortable(opts); + } + + // Get the section where a field is dropped + function getSectionForFieldPlacement(currentItem) { + var section = ''; + if (typeof currentItem !== 'undefined' && !currentItem.hasClass('edit_field_type_divider')) { + section = currentItem.closest('.edit_field_type_divider'); + } + return section; + } + + // Get the form ID where a field is dropped + function getFormIdForFieldPlacement(section) { + var formId = ''; + if (typeof section[0] !== 'undefined') { + var sDivide = section.children('.start_divider'); + sDivide.children('.edit_field_type_end_divider').appendTo(sDivide); + if (typeof section.attr('data-formid') !== 'undefined') { + var fieldId = section.attr('data-fid'); + formId = jQuery('input[name="field_options[form_select_' + fieldId + ']"]').val(); + } + } + if (typeof formId === 'undefined' || formId === '') { + formId = thisFormId; + } + return formId; + } + + // Get the section ID where a field is dropped + function getSectionIdForFieldPlacement(section) { + var sectionId = 0; + if (typeof section[0] !== 'undefined') { + sectionId = section.attr('id').replace('frm_field_id_', ''); + } + return sectionId; + } + + /** + * Update a field after it is dragged and dropped into, out of, or between sections + * + * @param {Object} currentItem + * @param {Object} previousSection + * @return {void} + */ + function updateFieldAfterMovingBetweenSections(currentItem, previousSection) { + if (!currentItem.hasClass('form-field')) { + // currentItem is a field group. Call for children recursively. + getFieldsInRow(jQuery(currentItem.get(0).firstChild)).each(function () { + updateFieldAfterMovingBetweenSections(jQuery(this), previousSection); + }); + return; + } + var fieldId = currentItem.attr('id').replace('frm_field_id_', ''); + var section = getSectionForFieldPlacement(currentItem); + var formId = getFormIdForFieldPlacement(section); + var sectionId = getSectionIdForFieldPlacement(section); + var previousFormId = previousSection ? getFormIdForFieldPlacement(jQuery(previousSection.parentNode)) : 0; + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_update_field_after_move', + form_id: formId, + field: fieldId, + section_id: sectionId, + previous_form_id: previousFormId, + nonce: frmGlobal.nonce + }, + success: function success() { + toggleSectionHolder(); + updateInSectionValue(fieldId, sectionId); + } + }); + } + + // Update the in_section field value + function updateInSectionValue(fieldId, sectionId) { + document.getElementById('frm_in_section_' + fieldId).value = sectionId; + } + + /** + * Get the arguments for inserting a new field. + * + * @since 6.23 + * + * @param {string} fieldType + * @param {string} sectionId + * @param {string} formId + * @param {Number} hasBreak + * + * @return {Object} + */ + function getInsertNewFieldArgs(fieldType, sectionId, formId, hasBreak) { + var fieldArgs = { + action: 'frm_insert_field', + form_id: formId, + field_type: fieldType, + section_id: sectionId, + nonce: frmGlobal.nonce, + has_break: hasBreak + }; + + // Only send last row field IDs to update their order if this field isn't added to a repeater. + var isInRepeater = sectionId > 0 && document.getElementById('form_id').value !== formId; + if (!isInRepeater) { + fieldArgs.last_row_field_ids = getFieldIdsInSubmitRow(); + } + return fieldArgs; + } + + /** + * Returns true if it's a range field type and slider type is not selected. + * + * @since 6.23 + * + * @param {string} fieldType + * @return {boolean} + */ + function shouldStopInsertingField(fieldType) { + return wp.hooks.applyFilters('frm_should_stop_inserting_field', false, fieldType); + } + + /** + * Add a new field by dragging and dropping it from the Fields sidebar + * + * @param {string} fieldType + */ + function insertNewFieldByDragging(fieldType) { + if (shouldStopInsertingField(fieldType)) { + wp.hooks.doAction('frm_stopped_inserting_by_dragging', fieldType); + return; + } + var placeholder = document.getElementById('frm_drag_placeholder'); + var loadingID = fieldType.replace('|', '-') + '_' + getAutoId(); + var loading = tag('li', { + id: loadingID, + className: 'frm-wait frmbutton_loadingnow' + }); + var $placeholder = jQuery(loading); + var currentItem = jQuery(placeholder); + var section = getSectionForFieldPlacement(currentItem); + var formId = getFormIdForFieldPlacement(section); + var sectionId = getSectionIdForFieldPlacement(section); + placeholder.parentNode.insertBefore(loading, placeholder); + placeholder.remove(); + syncLayoutClasses($placeholder); + var hasBreak = 0; + if ('summary' === fieldType) { + // see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break + hasBreak = jQuery('.frmbutton_loadingnow#' + loadingID).prevAll('li[data-type="break"]').length ? 1 : 0; + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: getInsertNewFieldArgs(fieldType, sectionId, formId, hasBreak), + success: function success(msg) { + handleInsertFieldByDraggingResponse(msg, $placeholder); + var fieldId = checkMsgForFieldId(msg); + if (fieldId) { + /** + * Fires after a field is added. + * + * @since 6.23 + * + * @param {Object} fieldData The field data. + * @param {string} fieldData.field The field HTML. + * @param {string} fieldData.field_type The field type. + * @param {string} fieldData.form_id The form ID. + */ + wp.hooks.doAction('frm_after_field_added_in_form_builder', { + field: msg, + fieldId: fieldId, + fieldType: fieldType, + form_id: formId + }); + } + }, + error: handleInsertFieldError + }); + } + + /** + * @param {string} msg + * @param {Object} $placeholder jQuery object. + */ + function handleInsertFieldByDraggingResponse(msg, $placeholder) { + var replaceWith; + document.getElementById('frm_form_editor_container').classList.add('frm-has-fields'); + var $siblings = $placeholder.siblings('li.form-field').not('.edit_field_type_end_divider'); + if (!$siblings.length) { + // if dragging into a new row, we need to wrap the li first. + replaceWith = wrapFieldLi(msg); + } else { + replaceWith = msgAsjQueryObject(msg); + if (!$placeholder.get(0).parentNode.parentNode.classList.contains('ui-draggable')) { + // If a field group wasn't draggable because it only had a single field, make it draggable. + makeDraggable($placeholder.get(0).parentNode.parentNode, '.frm-move'); + } + } + $placeholder.replaceWith(replaceWith); + updateFieldOrder(); + afterAddField(msg, false); + if ($siblings.length) { + syncLayoutClasses($siblings.first()); + } + toggleSectionHolder(); + if (!$siblings.length) { + makeDroppable(replaceWith.get(0).querySelector('ul.frm_sorting')); + makeDraggable(replaceWith.get(0).querySelector('li.form-field'), '.frm-move'); + } else { + makeDraggable(replaceWith.get(0), '.frm-move'); + } + } + + /** + * Get the field ID from the response message. + * + * @since 6.23 + * + * @param {string} msg + * @return {Number} + */ + function checkMsgForFieldId(msg) { + var result = msg.match(/data-fid="(\d+)"/); + return result ? parseInt(result[1]) : 0; + } + function getFieldIdsInSubmitRow() { + var submitField = document.querySelector('.edit_field_type_submit'); + if (!submitField) { + return []; + } + var lastRowFields = submitField.parentNode.children; + var ids = []; + for (var _i2 = 0; _i2 < lastRowFields.length; _i2++) { + ids.push(lastRowFields[_i2].dataset.fid); + } + return ids; + } + function moveFieldThatAlreadyExists(draggable, placeholder) { + placeholder.parentNode.insertBefore(draggable, placeholder); + } + function msgAsjQueryObject(msg) { + var element = div(); + element.innerHTML = msg; + return jQuery(element.firstChild); + } + function handleInsertFieldError(jqXHR, _, errorThrown) { + maybeShowInsertFieldError(errorThrown, jqXHR); + } + function maybeShowInsertFieldError(errorThrown, jqXHR) { + if (!jqXHRAborted(jqXHR)) { + infoModal(errorThrown + '. Please try again.'); + } + } + function jqXHRAborted(jqXHR) { + return jqXHR.status === 0 || jqXHR.readyState === 0; + } + + /** + * Get a unique id that automatically increments with every function call. + * Can be used for any UI that requires a unique id. + * Not to be used in data. + * + * @return {number} + */ + function getAutoId() { + return ++autoId; + } + + /** + * Determine if a draggable element can be droppable into a droppable element. + * + * Don't allow page break, embed form, or section inside section field + * Don't allow page breaks inside of field groups. + * Don't allow field groups with sections inside of sections. + * Don't allow field groups in field groups. + * Don't allow hidden fields inside of field groups but allow them in sections. + * Don't allow any fields below the submit button field. + * Don't allow submit button field above any fields. + * Don't allow GDPR fields in repeaters. + * + * @param {HTMLElement} draggable + * @param {HTMLElement} droppable + * @param {Event} event + * @return {Boolean} + */ + function allowDrop(draggable, droppable, event) { + if (false === droppable) { + // Don't show drop placeholder if dragging somewhere off of the droppable area. + return false; + } + if (droppable.closest('.frm-sortable-helper')) { + // Do not allow drop into draggable. + return false; + } + var isSubmitBtn = draggable.classList.contains('edit_field_type_submit'); + var containSubmitBtn = !draggable.classList.contains('form_field') && !!draggable.querySelector('.edit_field_type_submit'); + if ('frm-show-fields' === droppable.id) { + var draggableIndex = determineIndexBasedOffOfMousePositionInList(jQuery(droppable), event.clientY); + if (isSubmitBtn || containSubmitBtn) { + // Do not allow dropping submit button to above position. + var lastRowIndex = droppable.childElementCount - 1; + return draggableIndex > lastRowIndex; + } + + // Do not allow dropping other fields to below submit button. + var submitButtonIndex = jQuery(droppable.querySelector('.edit_field_type_submit').closest('#frm-show-fields > li')).index(); + return draggableIndex <= submitButtonIndex; + } + if (isSubmitBtn) { + if (droppable.classList.contains('start_divider')) { + // Don't allow dropping submit button into a repeater. + return false; + } + if (isLastRow(droppable.parentElement)) { + // Allow dropping submit button into the last row. + return true; + } + if (!isLastRow(droppable.parentElement.nextElementSibling)) { + // Don't a dropping submit button into the row that isn't the second one from bottom. + return false; + } + + // Allow dropping submit button into the second row from bottom if there is only submit button in the last row. + return !draggable.parentElement.querySelector('li.frm_field_box:not(.edit_field_type_submit)'); + } + if (droppable.classList.contains('start_divider') && (draggable.classList.contains('edit_field_type_gdpr') || draggable.id === 'gdpr') && droppable.closest('.repeat_section')) { + // Don't allow GDPR fields in repeaters. + return false; + } + if (!droppable.classList.contains('start_divider')) { + var $fieldsInRow = getFieldsInRow(jQuery(droppable)); + if (!groupCanFitAnotherField($fieldsInRow, jQuery(draggable))) { + // Field group is full and cannot accept another field. + return false; + } + if (draggable.id === 'divider' && droppable.closest('.start_divider')) { + return false; + } + } + var isNewField = draggable.classList.contains('frm-new-field'); + if (isNewField) { + return allowNewFieldDrop(draggable, droppable); + } + return allowMoveField(draggable, droppable); + } + + /** + * Checks if given element is the last row in form builder. + * + * @param {HTMLElement} element Element. + * @return {Boolean} + */ + function isLastRow(element) { + return element && element.matches('#frm-show-fields > li:last-child'); + } + + // Don't allow a new page break or hidden field in a field group. + // Don't allow a new field into a field group that includes a page break or hidden field. + // Don't allow a new section inside of a section. + // Don't allow an embedded form in a section. + function allowNewFieldDrop(draggable, droppable) { + var classes = draggable.classList; + var newPageBreakField = classes.contains('frm_tbreak'); + var newHiddenField = classes.contains('frm_thidden'); + var newSectionField = classes.contains('frm_tdivider'); + var newEmbedField = classes.contains('frm_tform'); + var newUserIdField = classes.contains('frm_tuser_id'); + var newFieldWillBeAddedToAGroup = !('frm-show-fields' === droppable.id || droppable.classList.contains('start_divider')); + if (newFieldWillBeAddedToAGroup) { + if (groupIncludesBreakOrHiddenOrUserId(droppable)) { + // Never allow any field beside a page break or a hidden field. + return false; + } + return !newHiddenField && !newPageBreakField && !newUserIdField; + } + var fieldTypeIsAlwaysAllowed = !newPageBreakField && !newHiddenField && !newSectionField && !newEmbedField; + if (fieldTypeIsAlwaysAllowed) { + return true; + } + var newFieldWillBeAddedToASection = droppable.classList.contains('start_divider') || null !== droppable.closest('.start_divider'); + if (newFieldWillBeAddedToASection) { + // Don't allow a section or an embedded form in a section. + return !newEmbedField && !newSectionField; + } + return true; + } + function allowMoveField(draggable, droppable) { + if (isFieldGroup(draggable)) { + return allowMoveFieldGroup(draggable, droppable); + } + var isPageBreak = draggable.classList.contains('edit_field_type_break'); + if (isPageBreak) { + // Page breaks are only allowed in the main list of fields, not in sections or in field groups. + return false; + } + if (droppable.classList.contains('start_divider')) { + return allowMoveFieldToSection(draggable); + } + var isHiddenField = draggable.classList.contains('edit_field_type_hidden'); + var isUserIdField = draggable.classList.contains('edit_field_type_user_id'); + if (isHiddenField || isUserIdField) { + // Hidden fields and user id fields should not be added to field groups since they're not shown + // and don't make sense with the grid distribution. + return false; + } + return allowMoveFieldToGroup(draggable, droppable); + } + function isFieldGroup(draggable) { + return draggable.classList.contains('frm_field_box') && !draggable.classList.contains('form-field'); + } + function allowMoveFieldGroup(fieldGroup, droppable) { + if (droppable.classList.contains('start_divider') && null === fieldGroup.querySelector('.start_divider')) { + // Allow a field group with no section inside of a section. + return true; + } + return false; + } + function allowMoveFieldToSection(draggable) { + var draggableIncludeEmbedForm = draggable.classList.contains('edit_field_type_form') || draggable.querySelector('.edit_field_type_form'); + if (draggableIncludeEmbedForm) { + // Do not allow an embedded form inside of a section. + return false; + } + var draggableIncludesSection = draggable.classList.contains('edit_field_type_divider') || draggable.querySelector('.edit_field_type_divider'); + if (draggableIncludesSection) { + // Do not allow a section inside of a section. + return false; + } + return true; + } + function allowMoveFieldToGroup(draggable, group) { + if (groupIncludesBreakOrHiddenOrUserId(group)) { + // Never allow any field beside a page break or a hidden field. + return false; + } + var isFieldGroup = jQuery(draggable).children('ul.frm_sorting').not('.start_divider').length > 0; + if (isFieldGroup) { + // Do not allow a field group directly inside of a field group unless it's in a section. + return false; + } + var draggableIncludesASection = draggable.classList.contains('edit_field_type_divider') || draggable.querySelector('.edit_field_type_divider'); + var draggableIsEmbedField = draggable.classList.contains('edit_field_type_form'); + var groupIsInASection = null !== group.closest('.start_divider'); + if (groupIsInASection && (draggableIncludesASection || draggableIsEmbedField)) { + // Do not allow a section or an embed field inside of a section. + return false; + } + return true; + } + function groupIncludesBreakOrHiddenOrUserId(group) { + return null !== group.querySelector('.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id'); + } + function groupCanFitAnotherField(fieldsInRow, $field) { + var fieldId; + if (fieldsInRow.length < MAX_FIELD_GROUP_SIZE) { + return true; + } + if (fieldsInRow.length > MAX_FIELD_GROUP_SIZE) { + return false; + } + fieldId = $field.attr('data-fid'); + // Allow the maximum number if we're not changing field groups. + return 1 === jQuery(fieldsInRow).filter('[data-fid="' + fieldId + '"]').length; + } + function loadFields(fieldId) { + var thisField = document.getElementById(fieldId); + var $thisField = jQuery(thisField); + var field = []; + var addHtmlToField = function addHtmlToField(element) { + var frmHiddenFdata = element.querySelector('.frm_hidden_fdata'); + element.classList.add('frm_load_now'); + if (frmHiddenFdata !== null) { + field.push(frmHiddenFdata.innerHTML); + } + }; + var nextElement = thisField; + addHtmlToField(nextElement); + var nextField = getNextField(nextElement); + while (nextField && field.length < 15) { + addHtmlToField(nextField); + nextElement = nextField; + nextField = getNextField(nextField); + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_load_field', + field: field, + form_id: thisFormId, + nonce: frmGlobal.nonce + }, + success: function success(html) { + return handleAjaxLoadFieldSuccess(html, $thisField, field); + } + }); + } + function getNextField(field) { + var _field$parentNode; + if (field.nextElementSibling) { + return field.nextElementSibling; + } + return (_field$parentNode = field.parentNode) === null || _field$parentNode === void 0 || (_field$parentNode = _field$parentNode.closest('.frm_field_box')) === null || _field$parentNode === void 0 || (_field$parentNode = _field$parentNode.nextElementSibling) === null || _field$parentNode === void 0 ? void 0 : _field$parentNode.querySelector('.form-field'); + } + function handleAjaxLoadFieldSuccess(html, $thisField, field) { + var key, $nextSet; + html = html.replace(/^\s+|\s+$/g, ''); + if (html.indexOf('{') !== 0) { + jQuery('.frm_load_now').removeClass('.frm_load_now').html('Error'); + return; + } + html = JSON.parse(html); + for (key in html) { + jQuery('#frm_field_id_' + key).replaceWith(html[key]); + setupSortable('#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting'); + makeDraggable(document.getElementById('frm_field_id_' + key)); + } + $nextSet = $thisField.nextAll('.frm_field_loading:not(.frm_load_now)'); + if ($nextSet.length) { + loadFields($nextSet.attr('id')); + } else { + // go up a level + $nextSet = jQuery(document.getElementById('frm-show-fields')).find('.frm_field_loading:not(.frm_load_now)'); + if ($nextSet.length) { + loadFields($nextSet.attr('id')); + } + } + initiateMultiselect(); + renumberPageBreaks(); + maybeHideQuantityProductFieldOption(); + var loadedEvent = new Event('frm_ajax_loaded_field', { + bubbles: false + }); + loadedEvent.frmFields = field.map(function (f) { + return JSON.parse(f); + }); + document.dispatchEvent(loadedEvent); + } + function addFieldClick() { + /*jshint validthis:true */ + var $thisObj = jQuery(this); + // there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/ + if ($thisObj.hasClass('disabled')) { + return false; + } + var $button = $thisObj.closest('.frmbutton'); + var fieldType = $button.attr('id'); + if (shouldStopInsertingField(fieldType)) { + return; + } + var hasBreak = 0; + if ('summary' === fieldType) { + hasBreak = $newFields.children('li[data-type="break"]').length > 0 ? 1 : 0; + } + var formId = thisFormId; + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: getInsertNewFieldArgs(fieldType, 0, formId, hasBreak), + success: function success(msg) { + handleAddFieldClickResponse(msg); + var fieldId = checkMsgForFieldId(msg); + if (fieldId) { + /** + * Fires after a field is added. + * + * @since 6.23 + * + * @param {Object} fieldData The field data. + * @param {string} fieldData.field The field HTML. + * @param {string} fieldData.field_type The field type. + * @param {string} fieldData.form_id The form ID. + */ + wp.hooks.doAction('frm_after_field_added_in_form_builder', { + field: msg, + fieldId: fieldId, + fieldType: fieldType, + form_id: formId + }); + } + }, + error: handleInsertFieldError + }); + return false; + } + function handleAddFieldClickResponse(msg) { + document.getElementById('frm_form_editor_container').classList.add('frm-has-fields'); + var replaceWith = wrapFieldLi(msg); + var submitField = $newFields[0].querySelector('.edit_field_type_submit'); + if (!submitField) { + $newFields.append(replaceWith); + } else { + jQuery(submitField.closest('.frm_field_box:not(.form-field)')).before(replaceWith); + } + afterAddField(msg, true); + replaceWith.each(function () { + makeDroppable(this.querySelector('ul.frm_sorting')); + makeDraggable(this.querySelector('.form-field'), '.frm-move'); + }); + } + function insertFormField(fieldType) { + var fieldOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return new Promise(function (resolve) { + var formId = thisFormId; + var hasBreak = 0; + if ('summary' === fieldType) { + hasBreak = $newFields.children('li[data-type="break"]').length > 0 ? 1 : 0; + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: Object.assign(getInsertNewFieldArgs(fieldType, 0, formId, hasBreak), { + field_options: fieldOptions + }), + success: function success(msg) { + resolve(msg); + setTimeout(function () { + updateFieldOrder(); + afterAddField(msg, true); + var fieldId = checkMsgForFieldId(msg); + if (fieldId) { + /** + * Fires after a field is added. + * + * @since 6.23 + * + * @param {Object} fieldData The field data. + * @param {string} fieldData.field The field HTML. + * @param {string} fieldData.field_type The field type. + * @param {string} fieldData.form_id The form ID. + */ + wp.hooks.doAction('frm_after_field_added_in_form_builder', { + field: msg, + fieldId: fieldId, + fieldType: fieldType, + form_id: formId + }); + } + }, 10); + }, + error: handleInsertFieldError + }); + }); + } + function maybeHideQuantityProductFieldOption() { + var hide = true, + opts = document.querySelectorAll('.frmjs_prod_field_opt_cont'); + if ($newFields.find('li.edit_field_type_product').length > 1) { + hide = false; + } + for (var _i3 = 0; _i3 < opts.length; _i3++) { + if (hide) { + opts[_i3].classList.add('frm_hidden'); + } else { + opts[_i3].classList.remove('frm_hidden'); + } + } + } + + /** + * Returns true if a field can be duplicated. + * + * @since 6.19 + * + * @param {HTMLElement} field + * @param {number} maxFieldsInGroup + * + * @return {Boolean} + */ + function canDuplicateField(field, maxFieldsInGroup) { + if (field.classList.contains('frm-page-collapsed')) { + return false; + } + var fieldGroup = field.closest('li.frm_field_box:not(.form-field)'); + if (!fieldGroup) { + return true; + } + var fieldsInGroup = getFieldsInRow(jQuery(fieldGroup.querySelector('ul'))).length; + return fieldsInGroup < maxFieldsInGroup; + } + function duplicateField() { + var $field, fieldId, children, newRowId, fieldOrder; + var maxFieldsInGroup = MAX_FIELD_GROUP_SIZE; + $field = jQuery(this).closest('li.form-field'); + newRowId = this.getAttribute('frm-target-row-id'); + if (!(newRowId && newRowId.startsWith('frm_field_group_')) && !canDuplicateField($field.get(0), maxFieldsInGroup)) { + /* translators: %1$d: Maximum number of fields allowed in a field group. */ + infoModal(sprintf(__('You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable'), maxFieldsInGroup)); + return; + } + closeOpenFieldDropdowns(); + fieldId = $field.data('fid'); + children = fieldsInSection(fieldId); + if (null !== newRowId) { + fieldOrder = this.getAttribute('frm-field-order'); + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_duplicate_field', + field_id: fieldId, + form_id: thisFormId, + children: children, + nonce: frmGlobal.nonce + }, + success: function success(msg) { + var _$field$0$querySelect; + var newRow; + var replaceWith; + if (null !== newRowId) { + newRow = document.getElementById(newRowId); + if (null !== newRow) { + replaceWith = msgAsjQueryObject(msg); + jQuery(newRow).append(replaceWith); + makeDraggable(replaceWith.get(0), '.frm-move'); + if (null !== fieldOrder) { + newRow.lastElementChild.setAttribute('frm-field-order', fieldOrder); + } + jQuery(newRow).trigger('frm_added_duplicated_field_to_row', { + duplicatedFieldHtml: msg, + originalFieldId: fieldId + }); + afterAddField(msg, false); + setLayoutClassesForDuplicatedFieldInGroup($field.get(0), replaceWith.get(0)); + return; + } + } + if ($field.siblings('li.form-field').length) { + replaceWith = msgAsjQueryObject(msg); + $field.after(replaceWith); + syncLayoutClasses($field); + makeDraggable(replaceWith.get(0), '.frm-move'); + } else { + replaceWith = wrapFieldLi(msg); + $field.parent().parent().after(replaceWith); + makeDroppable(replaceWith.get(0).querySelector('ul.frm_sorting')); + makeDraggable(replaceWith.get(0).querySelector('li.form-field'), '.frm-move'); + } + updateFieldOrder(); + afterAddField(msg, false); + maybeDuplicateUnsavedSettings(fieldId, msg); + toggleOneSectionHolder(replaceWith.find('.start_divider')); + (_$field$0$querySelect = $field[0].querySelector('.frm-dropdown-menu.dropdown-menu-right')) === null || _$field$0$querySelect === void 0 || _$field$0$querySelect.classList.remove('show'); + setLayoutClassesForDuplicatedFieldInGroup($field.get(0), replaceWith.get(0)); + } + }); + return false; + } + + /** + * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field. + * + * @param {HTMLElement} field The original field. + * @param {HTMLElement} newField The duplicated field. + * + * @return {void} + */ + function setLayoutClassesForDuplicatedFieldInGroup(field, newField) { + var _document$getElementB; + var hoverTarget = field.closest('.frm-field-group-hover-target'); + if (!hoverTarget || !isFieldGroup(hoverTarget.parentElement)) { + return; + } + var fieldId = field.dataset.fid; + var fieldClasses = (_document$getElementB = document.getElementById('frm_classes_' + fieldId)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.value; + if (!fieldClasses) { + return; + } + fieldClasses = fieldClasses.replace('frm_first', ''); + if (!newField.className.includes(fieldClasses)) { + newField.className += ' ' + fieldClasses; + var classesInput = document.getElementById('frm_classes_' + newField.dataset.fid); + if (classesInput) { + classesInput.value = fieldClasses; + } + } + } + function maybeDuplicateUnsavedSettings(originalFieldId, newFieldHtml) { + var originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault; + originalSettings = document.getElementById('frm-single-settings-' + originalFieldId); + if (null === originalSettings) { + return; + } + newFieldId = jQuery(newFieldHtml).attr('data-fid'); + if ('undefined' === typeof newFieldId) { + return; + } + copySettings = document.getElementById('frm-single-settings-' + newFieldId); + if (null === copySettings) { + return; + } + fieldOptionKeys = ['name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value']; + originalSettings.querySelectorAll('input[name^="field_options["], textarea[name^="field_options["]').forEach(function (originalSetting) { + var key, tagType, copySetting; + key = getKeyFromSettingInput(originalSetting); + if ('options' === key) { + copyOption(originalSetting, copySettings, originalFieldId, newFieldId); + return; + } + if (-1 === fieldOptionKeys.indexOf(key)) { + return; + } + tagType = originalSetting.matches('input') ? 'input' : 'textarea'; + copySetting = copySettings.querySelector(tagType + '[name="field_options[' + key + '_' + newFieldId + ']"]'); + if (null === copySetting) { + return; + } + if ('checkbox' === originalSetting.type) { + if (originalSetting.checked !== copySetting.checked) { + jQuery(copySetting).trigger('click'); + } + } else if ('text' === originalSetting.type || 'textarea' === tagType) { + if (originalSetting.value !== copySetting.value) { + copySetting.value = originalSetting.value; + jQuery(copySetting).trigger('change'); + } + } + }); + originalDefault = originalSettings.querySelector('input[name="default_value_' + originalFieldId + '"]'); + if (null !== originalDefault) { + copyDefault = copySettings.querySelector('input[name="default_value_' + newFieldId + '"]'); + if (null !== copyDefault && originalDefault.value !== copyDefault.value) { + copyDefault.value = originalDefault.value; + jQuery(copyDefault).trigger('change'); + } + } + } + function copyOption(originalSetting, copySettings, originalFieldId, newFieldId) { + var remainingKeyDetails, copyKey, copySetting; + remainingKeyDetails = originalSetting.name.substr(23 + ('' + originalFieldId).length); + copyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails; + copySetting = copySettings.querySelector('input[name="' + copyKey + '"]'); + if (null !== copySetting && copySetting.value !== originalSetting.value) { + copySetting.value = originalSetting.value; + jQuery(copySetting).trigger('change'); + } + } + function getKeyFromSettingInput(input) { + var nameWithoutPrefix, nameSplit; + nameWithoutPrefix = input.name.substr(14); + nameSplit = nameWithoutPrefix.split('_'); + nameSplit.pop(); + return nameSplit.join('_'); + } + function closeOpenFieldDropdowns() { + var openSettings = document.querySelector('.frm-field-settings-open'); + if (null !== openSettings) { + openSettings.classList.remove('frm-field-settings-open'); + jQuery(document).off('click', '#frm_builder_page', handleClickOutsideOfFieldSettings); + jQuery('.frm-field-action-icons .dropdown.open').removeClass('open'); + } + } + function handleClickOutsideOfFieldSettings(event) { + if (!jQuery(event.originalEvent.target).closest('.frm-field-action-icons').length) { + closeOpenFieldDropdowns(); + } + } + function checkForMultiselectKeysOnMouseMove(event) { + var keyIsDown = !!(event.ctrlKey || event.metaKey || event.shiftKey); + jQuery(builderPage).toggleClass('frm-multiselect-key-is-down', keyIsDown); + checkForActiveHoverTarget(event); + } + function checkForActiveHoverTarget(event) { + var container, elementFromPoint, list, previousHoverTarget; + container = postBodyContent; + if (container.classList.contains('frm-dragging-field')) { + return; + } + if (null !== document.querySelector('.frm-field-group-hover-target .frm-field-settings-open')) { + // do not set a hover target if a dropdown is open for the current hover target. + return; + } + elementFromPoint = document.elementFromPoint(event.clientX, event.clientY); + if (null !== elementFromPoint && !elementFromPoint.classList.contains('edit_field_type_divider')) { + list = elementFromPoint.closest('ul.frm_sorting'); + if (null !== list && !list.classList.contains('start_divider') && 'frm-show-fields' !== list.id) { + previousHoverTarget = maybeRemoveGroupHoverTarget(); + if (false !== previousHoverTarget && !jQuery(previousHoverTarget).is(list)) { + destroyFieldGroupPopup(); + } + updateFieldGroupControls(jQuery(list), getFieldsInRow(jQuery(list)).length); + list.classList.add('frm-field-group-hover-target'); + jQuery('#wpbody-content').on('mousemove', maybeRemoveHoverTargetOnMouseMove); + } + } + } + function maybeRemoveGroupHoverTarget() { + var controls, previousHoverTarget; + controls = document.getElementById('frm_field_group_controls'); + if (null !== controls) { + controls.style.display = 'none'; + } + previousHoverTarget = document.querySelector('.frm-field-group-hover-target'); + if (null === previousHoverTarget) { + return false; + } + jQuery('#wpbody-content').off('mousemove', maybeRemoveHoverTargetOnMouseMove); + previousHoverTarget.classList.remove('frm-field-group-hover-target'); + return previousHoverTarget; + } + function maybeRemoveHoverTargetOnMouseMove(event) { + var elementFromPoint = document.elementFromPoint(event.clientX, event.clientY); + if (null !== elementFromPoint && null !== elementFromPoint.closest('#frm-show-fields')) { + return; + } + maybeRemoveGroupHoverTarget(); + deleteTooltips(); + } + function onFieldActionDropdownShow(isFieldGroup) { + unselectFieldGroups(); + + // maybe offset the dropdown if it goes off of the right of the screen. + setTimeout(function () { + var ul, $ul; + ul = document.querySelector('.dropdown .frm-dropdown-menu.show'); + if (null === ul) { + return; + } + if (null === ul.getAttribute('aria-label')) { + ul.setAttribute('aria-label', __('More Options', 'formidable')); + } + if (0 === ul.children.length) { + fillFieldActionDropdown(ul, true === isFieldGroup); + } + $ul = jQuery(ul); + if ($ul.offset().left > jQuery(window).width() - $ul.outerWidth()) { + ul.style.left = -$ul.outerWidth() + 'px'; + } + var firstAnchor = ul.firstElementChild.querySelector('a'); + if (firstAnchor) { + firstAnchor.focus(); + } + }, 0); + } + function onFieldGroupActionDropdownShow() { + onFieldActionDropdownShow(true); + } + function changeSectionStyle(e) { + var collapsedSection = e.target.closest('.frm-section-collapsed'); + if (!collapsedSection) { + return; + } + if (e.type === 'show') { + collapsedSection.style.zIndex = 3; + } else { + collapsedSection.style.zIndex = 1; + } + } + function fillFieldActionDropdown(ul, isFieldGroup) { + var classSuffix, options; + classSuffix = isFieldGroup ? '_field_group' : '_field'; + options = [getDeleteActionOption(isFieldGroup), getDuplicateActionOption(isFieldGroup)]; + if (!isFieldGroup) { + options.push({ + class: 'frm_select', + icon: 'frm_settings_icon', + label: __('Field Settings', 'formidable') + }); + } + options.forEach(function (option) { + var li, anchor, span; + li = document.createElement('div'); + li.classList.add('frm_more_options_li', 'dropdown-item'); + anchor = document.createElement('a'); + anchor.classList.add(option.class + classSuffix); + anchor.setAttribute('href', '#'); + makeTabbable(anchor); + span = document.createElement('span'); + span.textContent = option.label; + anchor.innerHTML = ''; + anchor.appendChild(document.createTextNode(' ')); + anchor.appendChild(span); + li.appendChild(anchor); + ul.appendChild(li); + }); + } + function getDeleteActionOption(isFieldGroup) { + var option = { + class: 'frm_delete', + icon: 'frm_delete_icon' + }; + option.label = isFieldGroup ? __('Delete Group', 'formidable') : __('Delete', 'formidable'); + return option; + } + function getDuplicateActionOption(isFieldGroup) { + var option = { + class: 'frm_clone', + icon: 'frm_clone_icon' + }; + option.label = isFieldGroup ? __('Duplicate Group', 'formidable') : __('Duplicate', 'formidable'); + return option; + } + function wrapFieldLi(field) { + var wrapper = div(); + if ('string' === typeof field) { + wrapper.innerHTML = field; + } else { + wrapper.appendChild(field); + } + var result = jQuery(); + Array.from(wrapper.children).forEach(function (li) { + result = result.add(jQuery('
                                                                                  • ').addClass('frm_field_box').html(jQuery('
                                                                                      ').addClass('frm_grid_container frm_sorting').append(li))); + }); + return result; + } + function wrapFieldLiInPlace(li) { + var ul = tag('ul', { + className: 'frm_grid_container frm_sorting' + }); + var wrapper = tag('li', { + className: 'frm_field_box', + child: ul + }); + li.replaceWith(wrapper); + ul.appendChild(li); + makeDroppable(ul); + makeDraggable(wrapper, '.frm-move'); + } + function afterAddField(msg, addFocus) { + var regex = /id="(\S+)"/; + var match = regex.exec(msg); + var field = document.getElementById(match[1]); + var section = '#' + match[1] + '.edit_field_type_divider ul.frm_sorting.start_divider'; + var $thisSection = jQuery(section); + var type = field.getAttribute('data-type'); + checkHtmlForNewFields(msg); + var toggled = false; + fieldUpdated(); + setupSortable(section); + if ('quantity' === type) { + // try to automatically attach a product field + maybeSetProductField(field); + } + if ('product' === type || 'quantity' === type) { + // quantity too needs to be a part of the if stmt especially cos of the very + // 1st quantity field (or even if it's just one quantity field in the form). + maybeHideQuantityProductFieldOption(); + } + if ($thisSection.length) { + $thisSection.parent('.frm_field_box').children('.frm_no_section_fields').addClass('frm_block'); + } else { + var $parentSection = jQuery(field).closest('ul.frm_sorting.start_divider'); + if ($parentSection.length) { + toggleOneSectionHolder($parentSection); + toggled = true; + } + } + if (msg.indexOf('frm-collapse-page') !== -1) { + renumberPageBreaks(); + } + addClass(field, 'frm-newly-added'); + setTimeout(function () { + field.classList.remove('frm-newly-added'); + }, 1000); + var lastRowOrderInput = field.querySelector('#frm-last-row-fields-order'); + if (lastRowOrderInput) { + updateLastRowFieldsOrder(JSON.parse(lastRowOrderInput.value)); + } + if (addFocus) { + var bounding = field.getBoundingClientRect(), + container = document.getElementById('post-body-content'), + inView = bounding.top >= 0 && bounding.left >= 0 && bounding.right <= (window.innerWidth || document.documentElement.clientWidth) && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight); + if (!inView) { + container.scroll({ + top: container.scrollHeight, + left: 0, + behavior: 'smooth' + }); + } + if (toggled === false) { + toggleOneSectionHolder($thisSection); + } + } + deselectFields(); + initiateMultiselect(); + document.getElementById('frm-show-fields').classList.remove('frm-over-droppable'); + + // Bootstrap 5 uses data-bs-toggle instead of data-toggle, and requires that elements have the dropdown-menu class. + field.querySelectorAll('[data-toggle]').forEach(function (toggle) { + return toggle.setAttribute('data-bs-toggle', toggle.getAttribute('data-toggle')); + }); + field.querySelectorAll('.frm-dropdown-menu').forEach(function (dropdownMenu) { + return dropdownMenu.classList.add('dropdown-menu'); + }); + var addedEvent = new Event('frm_added_field', { + bubbles: false + }); + addedEvent.frmField = field; + addedEvent.frmSection = section; + addedEvent.frmType = type; + addedEvent.frmToggles = toggled; + document.dispatchEvent(addedEvent); + } + function updateLastRowFieldsOrder(fieldsOrder) { + if (!fieldsOrder || 'object' !== _typeof(fieldsOrder)) { + return; + } + Object.keys(fieldsOrder).forEach(function (fieldId) { + var orderInput = document.querySelector('input[name="field_options[field_order_' + fieldId + ']"]'); + if (orderInput) { + orderInput.value = fieldsOrder[fieldId]; + } + }); + } + + /** + * Since multiple new fields may get added when a new field is inserted, check the HTML. + * + * @param {string} html + * @return {void} + */ + function checkHtmlForNewFields(html) { + var element = div(); + element.innerHTML = html; + element.querySelectorAll('.form-field').forEach(addFieldIdToDraftFieldsInput); + } + + /** + * @param {HTMLElement} field + * @return {void} + */ + function addFieldIdToDraftFieldsInput(field) { + if (!field.dataset.fid) { + return; + } + var draftInput = document.getElementById('draft_fields'); + if (!draftInput) { + return; + } + if ('' === draftInput.value) { + draftInput.value = field.dataset.fid; + } else { + var split = draftInput.value.split(','); + if (!split.includes(field.dataset.fid)) { + draftInput.value += ',' + field.dataset.fid; + } + } + } + function clearSettingsBox(preventFieldGroups) { + jQuery('#new_fields .frm-single-settings').addClass('frm_hidden'); + jQuery('#frm-options-panel > .frm-single-settings').removeClass('frm_hidden'); + deselectFields(preventFieldGroups); + } + function deselectFields(preventFieldGroups) { + jQuery('li.ui-state-default.selected').removeClass('selected'); + jQuery('.frm-show-field-settings.selected').removeClass('selected'); + if (!preventFieldGroups) { + unselectFieldGroups(); + } + } + function scrollToField(field) { + var newPos = field.getBoundingClientRect().top, + container = document.getElementById('post-body-content'); + if (typeof animate === 'undefined') { + jQuery(container).scrollTop(newPos); + } else { + // TODO: smooth scroll + jQuery(container).animate({ + scrollTop: newPos + }, 500); + } + } + function checkCalculationCreatedByUser() { + var calculation = this.value; + var warningMessage = checkMatchingParens(calculation); + warningMessage += checkShortcodes(calculation, this); + if (warningMessage !== '') { + infoModal(calculation + '\n\n' + warningMessage); + } + } + + /** + * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found. + * + * @param formula + * @return {string} + */ + function checkMatchingParens(formula) { + var stack = [], + formulaArray = formula.split(''), + length = formulaArray.length, + opening = ['{', '[', '('], + closing = { + '}': '{', + ')': '(', + ']': '[' + }, + unmatchedClosing = [], + msg = '', + i, + top; + for (i = 0; i < length; i++) { + if (opening.includes(formulaArray[i])) { + stack.push(formulaArray[i]); + continue; + } + if (closing.hasOwnProperty(formulaArray[i])) { + top = stack.pop(); + if (top !== closing[formulaArray[i]]) { + unmatchedClosing.push(formulaArray[i]); + } + } + } + if (stack.length > 0 || unmatchedClosing.length > 0) { + msg = frmAdminJs.unmatched_parens + '\n\n'; + return msg; + } + return ''; + } + + /** + * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found. + * + * @param calculation + * @param inputElement + * @return {string} + */ + function checkShortcodes(calculation, inputElement) { + var msg = checkNonNumericShortcodes(calculation, inputElement); + msg += checkNonFormShortcodes(calculation); + return msg; + } + + /** + * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found. + * + * @param calculation + * + * @param inputElement + * @return {string} + */ + function checkNonNumericShortcodes(calculation, inputElement) { + var msg = ''; + if (isTextCalculation(inputElement)) { + return msg; + } + var nonNumericShortcodes = getNonNumericShortcodes(); + if (nonNumericShortcodes.test(calculation)) { + msg = frmAdminJs.text_shortcodes + '\n\n'; + } + return msg; + } + + /** + * Determines if the calculation input is from a text calculation. + * + * @param inputElement + */ + function isTextCalculation(inputElement) { + return jQuery(inputElement).siblings('label[for^="calc_type"]').children('input').prop('checked'); + } + + /** + * Returns a regular expression of shortcodes that can't be used in numeric calculations. + * + * @return {RegExp} + */ + function getNonNumericShortcodes() { + return /\[(date|time|email|ip)\]/; + } + + /** + * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found. + * + * @param formula + * @return {string} + */ + function checkNonFormShortcodes(formula) { + var nonFormShortcodes = getNonFormShortcodes(), + msg = ''; + if (nonFormShortcodes.test(formula)) { + msg += frmAdminJs.view_shortcodes + '\n\n'; + } + return msg; + } + + /** + * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email + * Notifications, and other Formidable areas. + * + * @return {RegExp} + */ + function getNonFormShortcodes() { + return /\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g; + } + function isCalcBoxType(box, listClass) { + var list = jQuery(box).find('.frm_code_list'); + return 1 === list.length && list.hasClass(listClass); + } + function extractExcludedOptions(exclude) { + var opts = []; + if (!Array.isArray(exclude)) { + return opts; + } + for (var _i4 = 0; _i4 < exclude.length; _i4++) { + if (exclude[_i4].startsWith('[')) { + opts.push(exclude[_i4]); + // remove it + exclude.splice(_i4, 1); + // https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value + _i4--; + } + } + return opts; + } + function hasExcludedOption(field, excludedOpts) { + var hasOption = false; + for (var _i5 = 0; _i5 < excludedOpts.length; _i5++) { + var inputs = document.getElementsByName(getFieldOptionInputName(excludedOpts[_i5], field.fieldId)); + // 2nd condition checks that there's at least one non-empty value + if (inputs.length && jQuery(inputs[0]).val()) { + hasOption = true; + break; + } + } + return hasOption; + } + function getFieldOptionInputName(opt, fieldId) { + var at = opt.indexOf(']'); + return 'field_options' + opt.substring(0, at) + '_' + fieldId + opt.substring(at); + } + function popCalcFields(v, force) { + var box, + exclude, + fields, + i, + list, + p = jQuery(v).closest('.frm-single-settings'), + calc = p.find('.frm-calc-field'); + if (!force && (!calc.length || calc.val() === '' || calc.is(':hidden'))) { + return; + } + var isSummary = isCalcBoxType(v, 'frm_js_summary_list'); + var fieldId = p.find('input[name="frm_fields_submitted[]"]').val(); + if (force) { + box = v; + } else { + box = document.getElementById('frm-calc-box-' + fieldId); + } + exclude = getExcludeArray(box, isSummary); + var excludedOpts = extractExcludedOptions(exclude); + fields = getFieldList(); + list = document.getElementById('frm-calc-list-' + fieldId); + list.innerHTML = ''; + for (i = 0; i < fields.length; i++) { + if (exclude && exclude.includes(fields[i].fieldType) || excludedOpts.length && hasExcludedOption(fields[i], excludedOpts)) { + continue; + } + var _a = document.createElement('a'); + _a.setAttribute('href', '#'); + _a.setAttribute('data-code', fields[i].fieldId); + _a.classList.add('frm_insert_code'); + _a.appendChild(span(fields[i].fieldName)); + _a.appendChild(span({ + className: 'frm-text-sm frm-text-grey-500', + text: '[' + fields[i].fieldId + ']' + })); + var li = document.createElement('li'); + li.classList.add('frm-field-list-' + fieldId); + li.classList.add('frm-field-list-' + fields[i].fieldType); + li.appendChild(_a); + list.appendChild(li); + } + } + function getExcludeArray(calcBox, isSummary) { + var codeList = calcBox.querySelector('.frm_code_list'); + var exclude = JSON.parse(codeList.getAttribute('data-exclude')); + if (isSummary) { + // includedExtras are those that are normally excluded from the summary but the form owner can choose to include, + // when they have been chosen to be included, then they can now be manually excluded in the calc box. + var includedExtras = getIncludedExtras(); + if (includedExtras.length) { + for (var _i6 = 0; _i6 < exclude.length; _i6++) { + if (includedExtras.includes(exclude[_i6])) { + // remove it + exclude.splice(_i6, 1); + // https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value + _i6--; + } + } + } + } + return exclude; + } + function getIncludedExtras() { + var checked = []; + var checkboxes = document.getElementsByClassName('frm_include_extras_field'); + for (var _i7 = 0; _i7 < checkboxes.length; _i7++) { + if (checkboxes[_i7].checked) { + checked.push(checkboxes[_i7].value); + } + } + return checked; + } + function rePopCalcFieldsForSummary() { + popCalcFields(jQuery('.frm-inline-modal.postbox:has(.frm_js_summary_list)')[0], true); + } + function getFieldList(fieldType) { + var i, + fields = [], + allFields = document.querySelectorAll('li.frm_field_box'), + checkType = 'undefined' !== typeof fieldType; + for (i = 0; i < allFields.length; i++) { + // data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet + if (checkType && allFields[i].getAttribute('data-ftype') !== fieldType) { + continue; + } + var fieldId = allFields[i].getAttribute('data-fid'); + if (typeof fieldId !== 'undefined' && fieldId) { + fields.push({ + fieldId: fieldId, + fieldName: getPossibleValue('frm_name_' + fieldId), + fieldType: getPossibleValue('field_options_type_' + fieldId), + fieldKey: getPossibleValue('field_options_field_key_' + fieldId) + }); + } + } + return wp.hooks.applyFilters('frm_admin_get_field_list', fields, fieldType, allFields); + } + function popProductFields(field) { + var i, + checked, + id, + options = [], + current = getCurrentProductFields(field), + fName = field.getAttribute('data-frmfname'), + products = getFieldList('product'), + quantities = getFieldList('quantity'), + isSelect = field.tagName === 'SELECT', + // for reverse compatibility. + // whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former + auto = 1 === quantities.length && 1 === products.length; + if (isSelect) { + // This fallback can be removed after 4.05. + current = field.getAttribute('data-frmcurrent'); + } + for (i = 0; i < products.length; i++) { + // let's be double sure it's string, else indexOf will fail + id = products[i].fieldId.toString(); + checked = auto || -1 !== current.indexOf(id); + if (isSelect) { + // This fallback can be removed after 4.05. + checked = checked ? ' selected' : ''; + options.push(''); + } else { + checked = checked ? ' checked' : ''; + options.push(''); + } + } + field.innerHTML = options.join(''); + } + function getCurrentProductFields(prodFieldOpt) { + var products = prodFieldOpt.querySelectorAll('[type="checkbox"]:checked'), + idsArray = []; + for (var _i8 = 0; _i8 < products.length; _i8++) { + idsArray.push(products[_i8].value); + } + return idsArray; + } + function popAllProductFields() { + var opts = document.querySelectorAll('.frmjs_prod_field_opt'); + for (var _i9 = 0; _i9 < opts.length; _i9++) { + popProductFields(opts[_i9]); + } + } + function maybeSetProductField(field) { + var fieldId = field.getAttribute('data-fid'), + productFieldOpt = document.getElementById('field_options[product_field_' + fieldId + ']'); + if (null === productFieldOpt) { + return; + } + popProductFields(productFieldOpt); + // in order to move its settings to that LHS panel where + // the update form resides, else it'll lose this setting + moveFieldSettings(document.getElementById('frm-single-settings-' + fieldId)); + } + + /** + * If the element doesn't exist, use a blank value. + */ + function getPossibleValue(id) { + var field = document.getElementById(id); + if (field !== null) { + return field.value; + } + return ''; + } + function liveChanges() { + /*jshint validthis:true */ + var option, + newValue = this.value, + changes = document.getElementById(this.getAttribute('data-changeme')), + att = this.getAttribute('data-changeatt'); + if (changes === null) { + return; + } + if (att !== null) { + if (changes.tagName === 'SELECT' && att === 'placeholder') { + option = changes.options[0]; + if (option.value === '') { + option.innerHTML = newValue; + } else { + // Create a placeholder option if there are no blank values. + addBlankSelectOption(changes, newValue); + } + } else if (att === 'class') { + changeFieldClass(changes, this); + } else if (isSliderField(changes)) { + updateSliderFieldPreview(changes, att, newValue); + } else { + changes.setAttribute(att, newValue); + } + } else if (changes.id.indexOf('setup-message') === 0) { + if (newValue !== '') { + changes.innerHTML = ''; + } + } else { + changes.innerHTML = purifyHtml(newValue); + if ('TEXTAREA' === changes.nodeName && changes.classList.contains('wp-editor-area')) { + // Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab. + jQuery(changes).trigger('change'); + } + if (changes.classList.contains('frm_primary_label') && 'break' === changes.nextElementSibling.getAttribute('data-ftype')) { + changes.nextElementSibling.querySelector('.frm_button_submit').textContent = newValue; + } + } + } + function updateSliderFieldPreview(field, att, newValue) { + if (frmGlobal.proIncludesSliderJs) { + var hookName = 'frm_update_slider_field_preview'; + var hookArgs = { + field: field, + att: att, + newValue: newValue + }; + wp.hooks.doAction(hookName, hookArgs); + return; + } + + // This functionality has been moved to pro since v5.4.3. This code should be removed eventually. + if ('value' === att) { + if ('' === newValue) { + newValue = getSliderMidpoint(field); + } + field.value = newValue; + } else { + field.setAttribute(att, newValue); + } + if (-1 === ['value', 'min', 'max'].indexOf(att)) { + return; + } + if (('max' === att || 'min' === att) && '' === getSliderDefaultValueInput(field.id)) { + field.value = getSliderMidpoint(field); + } + field.parentNode.querySelector('.frm_range_value').textContent = field.value; + } + function getSliderDefaultValueInput(previewInputId) { + return document.querySelector('input[data-changeme="' + previewInputId + '"][data-changeatt="value"]').value; + } + function getSliderMidpoint(sliderInput) { + var max = parseFloat(sliderInput.getAttribute('max')); + var min = parseFloat(sliderInput.getAttribute('min')); + return (max - min) / 2 + min; + } + function isSliderField(previewInput) { + return 'range' === previewInput.type && previewInput.parentNode.classList.contains('frm_range_container'); + } + function toggleInvalidMsg() { + /*jshint validthis:true */ + var typeDropdown, + fieldType, + fieldId = this.getAttribute('data-fid'), + value = ''; + ['field_options_max_', 'frm_format_'].forEach(function (id) { + var input = document.getElementById(id + fieldId); + if (!input) { + return; + } + value += input.value; + }); + typeDropdown = document.getElementsByName('field_options[type_' + fieldId + ']')[0]; + fieldType = typeDropdown.options[typeDropdown.selectedIndex].value; + if (fieldType === 'text') { + toggleValidationBox('' !== value, '.frm_invalid_msg' + fieldId); + } + } + function markRequired() { + /*jshint validthis:true */ + var thisid = this.id.replace('frm_', ''), + fieldId = thisid.replace('req_field_', ''), + checked = this.checked, + label = jQuery('#field_label_' + fieldId + ' .frm_required'); + toggleValidationBox(checked, '.frm_required_details' + fieldId); + if (checked) { + var $reqBox = jQuery('input[name="field_options[required_indicator_' + fieldId + ']"]'); + if ($reqBox.val() === '') { + $reqBox.val('*'); + } + label.removeClass('frm_hidden'); + } else { + label.addClass('frm_hidden'); + } + } + function toggleValidationBox(hasValue, messageClass) { + $msg = jQuery(messageClass); + if (hasValue) { + $msg.fadeIn('fast').closest('.frm_validation_msg').fadeIn('fast'); + } else { + // Fade out validation options + var $validationBox = $msg.fadeOut('fast').closest('.frm_validation_box'); + var v = $validationBox.css('display', 'block').children(':not(' + messageClass + '):visible').length; + $validationBox.css('display', ''); + if (v === 0) { + $msg.closest('.frm_validation_msg').fadeOut('fast'); + } + } + } + function markUnique() { + /*jshint validthis:true */ + var fieldId = jQuery(this).closest('.frm-single-settings').data('fid'); + var $thisField = jQuery('.frm_unique_details' + fieldId); + if (this.checked) { + $thisField.fadeIn('fast').closest('.frm_validation_msg').fadeIn('fast'); + $unqDetail = jQuery('.frm_unique_details' + fieldId + ' input'); + if ($unqDetail.val() === '') { + $unqDetail.val(frmAdminJs.default_unique); + } + } else { + var $validationBox = $thisField.fadeOut('fast').closest('.frm_validation_box'); + var v = $validationBox.css('display', 'block').children(':not(.frm_unique_details' + fieldId + '):visible').length; + $validationBox.css('display', ''); + if (v === 0) { + $thisField.closest('.frm_validation_msg').fadeOut('fast'); + } + } + } + + //Fade confirmation field and validation option in or out + function addConf() { + /*jshint validthis:true */ + var fieldId = jQuery(this).closest('.frm-single-settings').data('fid'); + var val = jQuery(this).val(); + var $thisField = jQuery(document.getElementById('frm_field_id_' + fieldId)); + toggleValidationBox(val !== '', '.frm_conf_details' + fieldId); + if (val !== '') { + //Add default validation message if empty + var valMsg = jQuery('.frm_validation_box .frm_conf_details' + fieldId + ' input'); + if (valMsg.val() === '') { + valMsg.val(frmAdminJs.default_conf); + } + setConfirmationFieldDescriptions(fieldId); + + //Add or remove class for confirmation field styling + if (val === 'inline') { + $thisField.removeClass('frm_conf_below').addClass('frm_conf_inline'); + } else if (val === 'below') { + $thisField.removeClass('frm_conf_inline').addClass('frm_conf_below'); + } + jQuery('.frm-conf-box-' + fieldId).removeClass('frm_hidden'); + } else { + jQuery('.frm-conf-box-' + fieldId).addClass('frm_hidden'); + setTimeout(function () { + $thisField.removeClass('frm_conf_inline frm_conf_below'); + }, 200); + } + } + function setConfirmationFieldDescriptions(fieldId) { + var fieldType = document.getElementsByName('field_options[type_' + fieldId + ']')[0].value; + var fieldDescription = document.getElementById('field_description_' + fieldId); + var hiddenDescName = 'field_options[description_' + fieldId + ']'; + var newValue = frmAdminJs['enter_' + fieldType]; + maybeSetNewDescription(fieldDescription, hiddenDescName, newValue); + var confFieldDescription = document.getElementById('conf_field_description_' + fieldId); + var hiddenConfName = 'field_options[conf_desc_' + fieldId + ']'; + var newConfValue = frmAdminJs['confirm_' + fieldType]; + maybeSetNewDescription(confFieldDescription, hiddenConfName, newConfValue); + } + function maybeSetNewDescription(descriptionDiv, hiddenName, newValue) { + if (descriptionDiv.innerHTML === frmAdminJs.desc) { + // Set the visible description value and the hidden description value + descriptionDiv.innerHTML = newValue; + document.getElementsByName(hiddenName)[0].value = newValue; + } + } + function initBulkOptionsOverlay() { + /*jshint validthis:true */ + var $info = initModal('#frm-bulk-modal', '700px'); + if ($info === false) { + return; + } + jQuery('.frm-insert-preset').on('click', insertBulkPreset); + jQuery(builderForm).on('click', 'a.frm-bulk-edit-link', function (event) { + event.preventDefault(); + var i, + key, + label, + content = '', + optList, + opts, + fieldId = jQuery(this).closest('[data-fid]').data('fid'), + separate = usingSeparateValues(fieldId), + product = isProductField(fieldId); + optList = document.getElementById('frm_field_' + fieldId + '_opts'); + if (!optList) { + return; + } + opts = optList.getElementsByTagName('li'); + document.getElementById('bulk-field-id').value = fieldId; + for (i = 0; i < opts.length; i++) { + key = opts[i].getAttribute('data-optkey'); + if (key !== '000') { + label = document.getElementsByName('field_options[options_' + fieldId + '][' + key + '][label]')[0]; + if (typeof label !== 'undefined') { + content += label.value; + if (separate) { + content += '|' + document.getElementsByName('field_options[options_' + fieldId + '][' + key + '][value]')[0].value; + } + if (product) { + content += '|' + document.getElementsByName('field_options[options_' + fieldId + '][' + key + '][price]')[0].value; + } + content += '\r\n'; + } + } + if (i >= opts.length - 1) { + document.getElementById('frm_bulk_options').value = content; + } + } + $info.dialog('open'); + return false; + }); + jQuery('#frm-update-bulk-opts').on('click', function () { + var fieldId = document.getElementById('bulk-field-id').value; + var optionType = document.getElementById('bulk-option-type').value; + if (optionType) { + // Use custom handler for custom option type. + return; + } + this.classList.add('frm_loading_button'); + frmAdminBuild.updateOpts(fieldId, document.getElementById('frm_bulk_options').value, $info); + fieldUpdated(); + }); + } + function insertBulkPreset(event) { + /*jshint validthis:true */ + var opts = JSON.parse(this.getAttribute('data-opts')); + event.preventDefault(); + document.getElementById('frm_bulk_options').value = opts.join('\n'); + return false; + } + + //Add new option or "Other" option to radio/checkbox/dropdown + function addFieldOption() { + /*jshint validthis:true */ + var fieldId = jQuery(this).closest('.frm-single-settings').data('fid'), + newOption = jQuery('#frm_field_' + fieldId + '_opts .frm_option_template').prop('outerHTML'), + optType = jQuery(this).data('opttype'), + optKey = 0, + oldKey = '000', + lastKey = getHighestOptKey(fieldId); + if (lastKey !== oldKey) { + optKey = lastKey + 1; + } + + //Update hidden field + if (optType === 'other') { + document.getElementById('other_input_' + fieldId).value = 1; + + //Hide "Add Other" option now if this is radio field + var ftype = jQuery(this).data('ftype'); + if (ftype === 'radio' || ftype === 'select') { + jQuery(this).fadeOut('slow'); + } + var _data = { + action: 'frm_add_field_option', + field_id: fieldId, + opt_key: optKey, + opt_type: optType, + nonce: frmGlobal.nonce + }; + jQuery.post(ajaxurl, _data, function (msg) { + jQuery(document.getElementById('frm_field_' + fieldId + '_opts')).append(msg); + resetDisplayedOpts(fieldId); + }); + } else { + newOption = newOption.replace(new RegExp('optkey="' + oldKey + '"', 'g'), 'optkey="' + optKey + '"'); + newOption = newOption.replace(new RegExp('-' + oldKey + '_', 'g'), '-' + optKey + '_'); + newOption = newOption.replace(new RegExp('-' + oldKey + '"', 'g'), '-' + optKey + '"'); + newOption = newOption.replace(new RegExp('\\[' + oldKey + '\\]', 'g'), '[' + optKey + ']'); + newOption = newOption.replace('frm_hidden frm_option_template', ''); + newOption = { + newOption: newOption + }; + addSaveAndDragIconsToOption(fieldId, newOption); + var $thisOption = this.closest('.frm_single_option'); + if ($thisOption) { + $thisOption.after(newOption.newOption); + } else { + // Backwards compatibility "@since 6.24" + // Note: Keep it jQuery since some events are attached to the element + jQuery("#frm_field_".concat(fieldId, "_opts")).append(newOption.newOption); + } + resetDisplayedOpts(fieldId); + } + fieldOptionEnableAllRemoveButtons(this); + fieldUpdated(); + } + + /** + * Enable all remove buttons for field options. + * + * @param {HTMLElement} element The add option button element. + */ + function fieldOptionEnableAllRemoveButtons(element) { + var _element$closest, _parentEl$querySelect; + // Make sure all remove buttons are enabled + var parentEl = element.classList.contains('frm-add-option-legacy') // Backwards compatibility "@since 6.24" + ? (_element$closest = element.closest('.frm-collapse-me')) === null || _element$closest === void 0 ? void 0 : _element$closest.querySelector('.frm_sortable_field_opts') : element.closest('.frm_sortable_field_opts'); + parentEl === null || parentEl === void 0 || (_parentEl$querySelect = parentEl.querySelectorAll('.frm_remove_tag.frm_disabled')) === null || _parentEl$querySelect === void 0 || _parentEl$querySelect.forEach(function (button) { + return button.classList.remove('frm_disabled'); + }); + } + function getHighestOptKey(fieldId) { + var i = 0, + optKey = 0, + opts = jQuery('#frm_field_' + fieldId + '_opts li'), + lastKey = 0; + for (i; i < opts.length; i++) { + optKey = opts[i].getAttribute('data-optkey'); + if (opts.length === 1) { + return optKey; + } + if (optKey !== '000') { + optKey = optKey.replace('other_', ''); + optKey = parseInt(optKey, 10); + } + if (!isNaN(lastKey) && (optKey > lastKey || lastKey === '000')) { + lastKey = optKey; + } + } + return lastKey; + } + function toggleMultSel() { + /*jshint validthis:true */ + var fieldId = jQuery(this).closest('.frm-single-settings').data('fid'); + toggleMultiSelect(fieldId, this.value); + } + function toggleMultiSelect(fieldId, value) { + var setting = jQuery('.frm_multiple_cont_' + fieldId); + if (value === 'select') { + setting.fadeIn('fast'); + } else { + setting.fadeOut('fast'); + } + } + function toggleSepValues() { + /*jshint validthis:true */ + var fieldId = jQuery(this).closest('.frm-single-settings').data('fid'); + toggle(jQuery('.field_' + fieldId + '_option_key')); + jQuery('.field_' + fieldId + '_option').toggleClass('frm_with_key'); + } + function toggleImageOptions() { + /*jshint validthis:true */ + var hasImageOptions, + imageSize, + $field = jQuery(this).closest('.frm-single-settings'), + fieldId = $field.data('fid'), + displayField = document.getElementById('frm_field_id_' + fieldId); + refreshOptionDisplayNow(jQuery(this)); + toggle(jQuery('.field_' + fieldId + '_image_id')); + toggle(jQuery('.frm_toggle_image_options_' + fieldId)); + toggle(jQuery('.frm_image_size_' + fieldId)); + toggle(jQuery('.frm_alignment_' + fieldId)); + toggle(jQuery('.frm-add-other#frm_add_field_' + fieldId)); + hasImageOptions = imagesAsOptions(fieldId); + if (hasImageOptions) { + setAlignment(fieldId, 'inline'); + removeImageSizeClasses(displayField); + imageSize = getImageOptionSize(fieldId); + displayField.classList.add('frm_image_options'); + displayField.classList.add('frm_image_size_' + imageSize); + $field.find('.frm-bulk-edit-link').hide(); + } else { + displayField.classList.remove('frm_image_options'); + removeImageSizeClasses(displayField); + setAlignment(fieldId, 'block'); + $field.find('.frm-bulk-edit-link').show(); + } + + /** + * Fires when image options are toggled for a field. + * + * @param {HTMLElement} field The field element. + * @param {boolean} hasImageOptions Whether the field has image options enabled. + */ + wp.hooks.doAction('frm_image_options_toggled', $field[0], hasImageOptions); + } + function removeImageSizeClasses(field) { + field.classList.remove('frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge'); + } + function setAlignment(fieldId, alignment) { + jQuery('#field_options_align_' + fieldId).val(alignment).trigger('change'); + } + function setImageSize() { + var $field = jQuery(this).closest('.frm-single-settings'), + fieldId = $field.data('fid'), + displayField = document.getElementById('frm_field_id_' + fieldId); + refreshOptionDisplay(); + if (imagesAsOptions(fieldId)) { + removeImageSizeClasses(displayField); + displayField.classList.add('frm_image_options'); + displayField.classList.add('frm_image_size_' + getImageOptionSize(fieldId)); + } + } + function refreshOptionDisplayNow(object) { + var $field = object.closest('.frm-single-settings'), + fieldID = $field.data('fid'); + jQuery('.field_' + fieldID + '_option').trigger('change'); + } + function refreshOptionDisplay() { + /*jshint validthis:true */ + refreshOptionDisplayNow(jQuery(this)); + } + function addImageToOption(event) { + var _wp; + var imagePreview = event.target.closest('.frm_image_preview_wrapper'); + if (!((_wp = wp) !== null && _wp !== void 0 && _wp.media) || imagePreview !== null && imagePreview !== void 0 && imagePreview.dataset.upgrade) { + return; + } + event.preventDefault(); + wp.media.model.settings.post.id = 0; + var fileFrame = wp.media.frames.file_frame = wp.media({ + multiple: false, + library: { + type: ['image'] + } + }); + fileFrame.on('select', function () { + var attachment = fileFrame.state().get('selection').first().toJSON(); + var img = imagePreview.querySelector('img'); + img.setAttribute('src', attachment.url); + img.classList.remove('frm_hidden'); + img.removeAttribute('srcset'); // Prevent the old image from sticking around. + + imagePreview.querySelector('.frm_image_preview_frame').style.display = 'block'; + imagePreview.querySelector('.frm_image_preview_title').textContent = attachment.filename; + imagePreview.querySelector('.frm_choose_image_box').style.display = 'none'; + var $imagePreview = jQuery(imagePreview); + $imagePreview.siblings('input[name*="[label]"]').data('frmimgurl', attachment.url); + $imagePreview.find('input.frm_image_id').val(attachment.id).trigger('change'); + wp.media.model.settings.post.id = 0; + }); + fileFrame.open(); + } + function removeImageFromOption(event) { + var $this = jQuery(this), + previewWrapper = $this.closest('.frm_image_preview_wrapper'); + event.preventDefault(); + event.stopPropagation(); + previewWrapper.find('img').attr('src', ''); + previewWrapper.find('.frm_image_preview_frame').hide(); + previewWrapper.find('.frm_choose_image_box').show(); + previewWrapper.find('input.frm_image_id').val(0).trigger('change'); + } + function toggleMultiselect() { + /*jshint validthis:true */ + var dropdown = jQuery(this).closest('li').find('.frm_form_fields select'); + if (this.checked) { + dropdown.attr('multiple', 'multiple'); + } else { + dropdown.removeAttr('multiple'); + } + } + + /** + * Allow typing on form switcher click without an extra click to search. + */ + function focusSearchBox() { + var searchBox = document.getElementById('dropform-search-input'); + if (searchBox !== null) { + setTimeout(function () { + searchBox.focus(); + }, 100); + } + } + + /** + * Dismiss a warning message and send an AJAX request to update the dismissal state. + * + * @since 6.3 + * + * @param {Event} event The event object associated with the click on the dismiss icon. + */ + function dismissWarningMessage(event) { + var target = event.target; + var warningEl = target.closest('.frm_warning_style'); + jQuery(warningEl).fadeOut(400, function () { + return warningEl.remove(); + }); + var action = target.dataset.action; + var formData = new FormData(); + doJsonPost(action, formData); + } + + /** + * If a field is clicked in the builder, prevent inputs from changing. + */ + function stopFieldFocus(e) { + e.preventDefault(); + } + + /** + * Delete a field option. + */ + function deleteFieldOption() { + var parentLi = this.parentNode; + var parentUl = parentLi.parentNode; + + // If only 2 visible options, add disabled class to the other delete button + var visibleOptions = parentUl.querySelectorAll('li:not(.frm_hidden)'); + if (visibleOptions.length === 2) { + var _Array$from$find$quer; + (_Array$from$find$quer = Array.from(visibleOptions).find(function (li) { + return li !== parentLi; + }).querySelector('.frm_remove_tag')) === null || _Array$from$find$quer === void 0 || _Array$from$find$quer.classList.add('frm_disabled'); + } + + /*jshint validthis:true */ + var otherInput, + fieldId = this.getAttribute('data-fid'); + jQuery(parentLi).fadeOut('fast', function () { + wp.hooks.doAction('frm_before_delete_field_option', this); + jQuery(parentLi).remove(); + var hasOther = jQuery(parentUl).find('.frm_other_option'); + if (hasOther.length < 1) { + otherInput = document.getElementById('other_input_' + fieldId); + if (otherInput !== null) { + otherInput.value = 0; + } + jQuery('#other_button_' + fieldId).fadeIn('fast'); + } + }); + fieldUpdated(); + } + + /** + * If a radio button is set as default, allow a click to + * deselect it. + */ + function maybeUncheckRadio() { + var $self, uncheck, unbind, up; + + /*jshint validthis:true */ + $self = jQuery(this); + if ($self.is(':checked')) { + uncheck = function uncheck() { + setTimeout(function () { + $self.prop('checked', false); + }, 0); + }; + unbind = function unbind() { + $self.off('mouseup', up); + }; + up = function up() { + uncheck(); + unbind(); + }; + $self.on('mouseup', up); + $self.one('mouseout', unbind); + } + } + + /** + * If the field option has the default text, clear it out on click. + */ + function maybeClearOptText() { + /*jshint validthis:true */ + if (this.value === frmAdminJs.new_option) { + this.setAttribute('data-value-on-focus', this.value); + this.value = ''; + } + } + function confirmFieldsDeleteMessage(numberOfFields) { + /* translators: %1$s: Number of fields that are selected to be deleted. */ + return sprintf(__('Are you sure you want to delete these %1$s selected field(s)?', 'formidable'), numberOfFields); + } + function clickDeleteField() { + /*jshint validthis:true */ + var confirmMsg = frmAdminJs.conf_delete, + maybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode, + li = maybeDivider.parentNode, + field = jQuery(this).closest('li.form-field'), + fieldId = field.data('fid'); + if (field.data('ftype') === 'divider') { + var fieldBoxes = document.querySelectorAll('.frm-field-group-hover-target .start_divider .frm_field_box'); + var fieldIdsToDelete = 0; + fieldBoxes.forEach(function (fieldBox) { + var fieldsInsideFieldBox = fieldBox.querySelectorAll('li.form-field'); + if (fieldsInsideFieldBox) { + fieldIdsToDelete += fieldsInsideFieldBox.length; + } + }); + if (fieldIdsToDelete) { + confirmMsg = confirmFieldsDeleteMessage(++fieldIdsToDelete); + } + } + if (li.classList.contains('frm-section-collapsed') || li.classList.contains('frm-page-collapsed')) { + return false; + } + + // If deleting a section, use a special message. + if (maybeDivider.className === 'divider_section_only') { + confirmMsg = frmAdminJs.conf_delete_sec; + } + this.setAttribute('data-frmverify', confirmMsg); + this.setAttribute('data-frmverify-btn', 'frm-button-red'); + this.setAttribute('data-deletefield', fieldId); + closeOpenFieldDropdowns(); + confirmLinkClick(this); + return false; + } + function clickSelectField() { + this.closest('li.form-field').click(); + } + function clickDeleteFieldGroup() { + var hoverTarget, decoy; + hoverTarget = document.querySelector('.frm-field-group-hover-target'); + if (null === hoverTarget) { + return; + } + hoverTarget.classList.add('frm-selected-field-group'); + decoy = document.createElement('div'); + decoy.classList.add('frm-delete-field-groups', 'frm_hidden'); + document.body.appendChild(decoy); + decoy.click(); + } + function duplicateFieldGroup() { + var hoverTarget = document.querySelector('.frm-field-group-hover-target'); + if (null === hoverTarget) { + return; + } + var newRowId = 'frm_field_group_' + getAutoId(); + var placeholderUlChild = document.createTextNode(''); + wrapFieldLiInPlace(placeholderUlChild); + var newRow = jQuery(placeholderUlChild).closest('li').get(0); + newRow.classList.add('frm_hidden'); + var newRowUl = newRow.querySelector('ul'); + newRowUl.id = newRowId; + jQuery(hoverTarget.closest('li.frm_field_box')).after(newRow); + var $fields = getFieldsInRow(jQuery(hoverTarget)); + var syncDetails = []; + var injectedCloneOptions = []; + var expectedLength = $fields.length; + var originalFieldIdByDuplicatedFieldId = {}; + var duplicatedCount = 0; + jQuery(newRow).on('frm_added_duplicated_field_to_row', function (_, args) { + originalFieldIdByDuplicatedFieldId[jQuery(args.duplicatedFieldHtml).attr('data-fid')] = args.originalFieldId; + if (expectedLength > ++duplicatedCount) { + return; + } + var $newRowUl = jQuery(newRowUl); + var $duplicatedFields = getFieldsInRow($newRowUl); + injectedCloneOptions.forEach(function (cloneOption) { + cloneOption.remove(); + }); + for (var index = 0; index < expectedLength; ++index) { + $newRowUl.append($newRowUl.children('li.form-field[frm-field-order="' + index + '"]')); + } + syncLayoutClasses($duplicatedFields.first(), syncDetails); + newRow.classList.remove('frm_hidden'); + updateFieldOrder(); + getFieldsInRow($newRowUl).each(function () { + maybeDuplicateUnsavedSettings(originalFieldIdByDuplicatedFieldId[this.getAttribute('data-fid')], jQuery(this).prop('outerHTML')); + }); + }); + $fields.each(function (index) { + var cloneOption; + cloneOption = document.createElement('li'); + cloneOption.classList.add('frm_clone_field'); + cloneOption.setAttribute('frm-target-row-id', newRowId); + cloneOption.setAttribute('frm-field-order', index); + this.appendChild(cloneOption); + cloneOption.click(); + injectedCloneOptions.push(cloneOption); + syncDetails.push(getSizeOfLayoutClass(getLayoutClassName(this.classList))); + }); + } + function clickFieldGroupLayout() { + var hoverTarget, sizeOfFieldGroup, popupWrapper; + hoverTarget = document.querySelector('.frm-field-group-hover-target'); + if (null === hoverTarget) { + return; + } + deselectFields(); + sizeOfFieldGroup = getSizeOfFieldGroupFromChildElement(hoverTarget.querySelector('li.form-field')); + hoverTarget.classList.add('frm-has-open-field-group-popup'); + jQuery(document).on('click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick); + popupWrapper = div(); + popupWrapper.style.position = 'relative'; + popupWrapper.appendChild(getFieldGroupPopup(sizeOfFieldGroup, this)); + this.parentNode.appendChild(popupWrapper); + var firstLayoutOption = popupWrapper.querySelector('.frm-row-layout-option'); + if (firstLayoutOption) { + firstLayoutOption.focus(); + } + } + function destroyFieldGroupPopupOnOutsideClick(event) { + if (event.target.classList.contains('frm-custom-field-group-layout') || event.target.classList.contains('frm-cancel-custom-field-group-layout')) { + return; + } + if (!jQuery(event.target).closest('#frm_field_group_controls').length && !jQuery(event.target).closest('#frm_field_group_popup').length) { + destroyFieldGroupPopup(); + } + } + function getSizeOfFieldGroupFromChildElement(element) { + var $ul = jQuery(element).closest('ul'); + if ($ul.length) { + return getFieldsInRow($ul).length; + } + return getSelectedFieldCount(); + } + function getFieldGroupPopup(sizeOfFieldGroup, childElement) { + var popup, wrapper, rowLayoutOptions, ul; + popup = document.getElementById('frm_field_group_popup'); + if (null === popup) { + popup = div(); + } else { + popup.innerHTML = ''; + } + popup.id = 'frm_field_group_popup'; + wrapper = div(); + wrapper.style.padding = '0 24px 12px'; + wrapper.appendChild(getRowLayoutTitle()); + rowLayoutOptions = getRowLayoutOptions(sizeOfFieldGroup); + ul = childElement.closest('ul.frm_sorting'); + if (null !== ul) { + maybeMarkRowLayoutAsActive(ul, rowLayoutOptions); + } + wrapper.appendChild(rowLayoutOptions); + popup.appendChild(wrapper); + popup.appendChild(separator()); + if (sizeOfFieldGroup <= 6) { + popup.appendChild(getCustomLayoutOption()); + } + popup.appendChild(getBreakIntoDifferentRowsOption()); + return popup; + } + function maybeMarkRowLayoutAsActive(activeRow, options) { + var length, index, currentRow; + length = options.children.length; + for (index = 0; index < length; ++index) { + currentRow = options.children[index]; + if (rowLayoutsMatch(currentRow, activeRow)) { + currentRow.classList.add('frm-active-row-layout'); + return; + } + } + } + function separator() { + return document.createElement('hr'); + } + function getCustomLayoutOption() { + var option = div(); + option.textContent = __('Custom layout', 'formidable'); + jQuery(option).prepend(getIconClone('frm_gear_svg')); + option.classList.add('frm-custom-field-group-layout'); + makeTabbable(option); + return option; + } + function makeTabbable(element, ariaLabel) { + element.setAttribute('tabindex', 0); + element.setAttribute('role', 'button'); + if ('undefined' !== typeof ariaLabel) { + element.setAttribute('aria-label', ariaLabel); + } + } + function getIconClone(iconId) { + var clone = document.getElementById(iconId).cloneNode(true); + clone.id = ''; + return clone; + } + function getBreakIntoDifferentRowsOption() { + var option = div(); + option.textContent = __('Break into rows', 'formidable'); + jQuery(option).prepend(getIconClone('frm_break_field_group_svg')); + option.classList.add('frm-break-field-group'); + makeTabbable(option); + return option; + } + function getRowLayoutTitle() { + var rowLayoutTitle = div(); + rowLayoutTitle.classList.add('frm-row-layout-title'); + rowLayoutTitle.textContent = __('Row Layout', 'formidable'); + return rowLayoutTitle; + } + function getRowLayoutOptions(size) { + var wrapper, padding; + wrapper = getEmptyGridContainer(); + if (size > 6) { + wrapper.appendChild(getRowLayoutOption(size, 'even')); + return wrapper; + } + if (5 !== size) { + wrapper.appendChild(getRowLayoutOption(size, 'even')); + } + if (size % 2 === 1) { + // only include the middle option for odd numbers because even doesn't make a lot of sense. + wrapper.appendChild(getRowLayoutOption(size, 'middle')); + } + if (size < 6) { + wrapper.appendChild(getRowLayoutOption(size, 'left')); + wrapper.appendChild(getRowLayoutOption(size, 'right')); + } else { + padding = div(); + padding.classList.add('frm_fourth'); + wrapper.prepend(padding); + } + return wrapper; + } + function getRowLayoutOption(size, type) { + var option, useClass; + option = div(); + option.classList.add('frm-row-layout-option'); + makeTabbable(option, type); + switch (size) { + case 6: + useClass = 'frm_half'; + break; + case 5: + useClass = 'frm_third'; + break; + default: + if (size > 6) { + // We only show a single option at 6-12, so we use the full width. + useClass = 'frm_full'; + } else { + useClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third'; + } + break; + } + option.classList.add(useClass); + option.setAttribute('layout-type', type); + option.appendChild(getRowForSizeAndType(size, type)); + return option; + } + function rowLayoutsMatch(row1, row2) { + return getRowLayoutAsKey(row1) === getRowLayoutAsKey(row2); + } + function getRowLayoutAsKey(row) { + var $fields, sizes; + if (row.classList.contains('frm-row-layout-option')) { + $fields = jQuery(row).find('.frm_grid_container').children(); + } else { + $fields = getFieldsInRow(jQuery(row)); + } + sizes = []; + $fields.each(function () { + sizes.push(getSizeOfLayoutClass(getLayoutClassName(this.classList))); + }); + return sizes.join('-'); + } + function getRowForSizeAndType(size, type) { + var row, index, block; + row = getEmptyGridContainer(); + for (index = 0; index < size; ++index) { + block = div(); + block.classList.add(getClassForBlock(size, type, index)); + block.style.height = '16px'; + block.style.background = '#9EA9B8'; + block.style.borderRadius = '1px'; + row.appendChild(block); + } + return row; + } + + /** + * @param {number} size 2-12. + * @param {string} type even, middle, left, or right. + * @param {number} index 0-5. + * @return {string} The class name. + */ + function getClassForBlock(size, type, index) { + if ('even' === type) { + return getEvenClassForSize(size, index); + } else if ('middle' === type) { + if (3 === size) { + return 1 === index ? 'frm6' : 'frm3'; + } + if (5 === size) { + return 2 === index ? 'frm4' : 'frm2'; + } + } else if ('left' === type) { + return 0 === index ? getLargeClassForSize(size) : getSmallClassForSize(size); + } else if ('right' === type) { + return index === size - 1 ? getLargeClassForSize(size) : getSmallClassForSize(size); + } + return 'frm12'; + } + + /** + * @param {number} size 2-12. + * @param {number|undefined} index 0-5. + * @return {string} The class name. + */ + function getEvenClassForSize(size, index) { + if (size > 6) { + return 'frm1'; + } + if (-1 !== [2, 3, 4, 6].indexOf(size)) { + return getLayoutClassForSize(12 / size); + } + if (5 === size && 'undefined' !== typeof index) { + return 0 === index ? 'frm4' : 'frm2'; + } + return 'frm12'; + } + function getSmallClassForSize(size) { + switch (size) { + case 2: + case 3: + return 'frm3'; + case 4: + return 'frm2'; + case 5: + return 'frm2'; + case 6: + return 'frm1'; + } + return 'frm12'; + } + function getLargeClassForSize(size) { + switch (size) { + case 2: + return 'frm9'; + case 3: + case 4: + return 'frm6'; + case 5: + return 'frm4'; + case 6: + return 'frm7'; + } + return 'frm12'; + } + function getEmptyGridContainer() { + var wrapper = div(); + wrapper.classList.add('frm_grid_container'); + return wrapper; + } + + /** + * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the "Row Layout" popup. + * + * @return {void} + */ + function handleFieldGroupLayoutOptionClick() { + var row = document.querySelector('.frm-field-group-hover-target'); + if (!row) { + // The field group layout options also get clicked when merging multiple rows. + // The following code isn't required for multiple rows though so just exit early. + return; + } + var type = this.getAttribute('layout-type'); + syncLayoutClasses(getFieldsInRow(jQuery(row)).first(), type); + destroyFieldGroupPopup(); + } + function handleFieldGroupLayoutOptionInsideMergeClick() { + var $ul, type; + $ul = mergeSelectedFieldGroups(); + type = this.getAttribute('layout-type'); + syncLayoutClasses(getFieldsInRow($ul).first(), type); + unselectFieldGroups(); + } + function mergeSelectedFieldGroups() { + var $selectedFieldGroups = jQuery('.frm-selected-field-group'), + $firstGroupUl = $selectedFieldGroups.first(); + $selectedFieldGroups.not($firstGroupUl).each(function () { + getFieldsInRow(jQuery(this)).each(function () { + var previousParent = this.parentNode; + getFieldsInRow($firstGroupUl).last().after(this); + if (!jQuery(previousParent).children('li.form-field').length) { + // clean up the previous field group if we've removed all of its fields. + previousParent.closest('li.frm_field_box').remove(); + } + }); + }); + updateFieldOrder(); + syncLayoutClasses(getFieldsInRow($firstGroupUl).first()); + return $firstGroupUl; + } + function customFieldGroupLayoutClick() { + var $fields; + if (null !== this.closest('.frm-merge-fields-into-row')) { + return; + } + $fields = getFieldsInRow(jQuery('.frm-field-group-hover-target')); + setupCustomLayoutOptions($fields); + } + function setupCustomLayoutOptions($fields) { + var size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton; + size = $fields.length; + popup = document.getElementById('frm_field_group_popup'); + popup.innerHTML = ''; + wrapper = div(); + wrapper.style.padding = '0 24px'; + layoutClass = getEvenClassForSize(5 === size ? 6 : size); + inputRow = div(); + inputRow.style.padding = '20px 0'; + inputRow.classList.add('frm_grid_container'); + if (5 === size) { + // add a span to pad the inputs by 1 column, to account for the missing 2 columns. + paddingElement = document.createElement('span'); + paddingElement.classList.add('frm1'); + inputRow.appendChild(paddingElement); + } + inputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass(getEvenClassForSize(size)) : false; + if (false !== inputValueOverride && inputValueOverride >= 12) { + inputValueOverride = Math.floor(12 / size); + } + for (index = 0; index < size; ++index) { + inputField = document.createElement('input'); + inputField.type = 'text'; + inputField.classList.add(layoutClass); + inputField.classList.add('frm-custom-grid-size-input'); + inputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass(getLayoutClassName($fields.get(index).classList)); + inputRow.appendChild(inputField); + } + heading = div(); + heading.classList.add('frm-builder-popup-heading'); + heading.textContent = __('Enter number of columns for each field', 'formidable'); + label = div(); + label.classList.add('frm-builder-popup-subheading'); + label.textContent = __('Layouts are based on a 12-column grid system', 'formidable'); + wrapper.appendChild(heading); + wrapper.appendChild(label); + wrapper.appendChild(inputRow); + buttonsWrapper = div(); + buttonsWrapper.style.textAlign = 'right'; + cancelButton = getSecondaryButton(); + cancelButton.textContent = __('Cancel', 'formidable'); + cancelButton.classList.add('frm-cancel-custom-field-group-layout'); + cancelButton.style.marginRight = '10px'; + saveButton = getPrimaryButton(); + saveButton.textContent = __('Save', 'formidable'); + saveButton.classList.add('frm-save-custom-field-group-layout'); + buttonsWrapper.appendChild(cancelButton); + buttonsWrapper.appendChild(saveButton); + wrapper.appendChild(buttonsWrapper); + popup.appendChild(wrapper); + setTimeout(function () { + var firstInput = popup.querySelector('input.frm-custom-grid-size-input').focus(); + if (firstInput) { + firstInput.focus(); + } + }, 0); + } + function customFieldGroupLayoutInsideMergeClick() { + $fields = jQuery('.frm-selected-field-group li.form-field'); + setupCustomLayoutOptions($fields); + } + function getPrimaryButton() { + var button = getButton(); + button.classList.add('button-primary', 'frm-button-primary'); + return button; + } + function getSecondaryButton() { + var button = getButton(); + button.classList.add('button-secondary', 'frm-button-secondary'); + return button; + } + function getButton() { + var button = document.createElement('a'); + button.setAttribute('href', '#'); + button.classList.add('button'); + button.style.textDecoration = 'none'; + return button; + } + function getSizeOfLayoutClass(className) { + switch (className) { + case 'frm_half': + return 6; + case 'frm_third': + return 4; + case 'frm_two_thirds': + return 8; + case 'frm_fourth': + return 3; + case 'frm_three_fourths': + return 9; + case 'frm_sixth': + return 2; + } + if (0 === className.indexOf('frm')) { + return parseInt(className.substr(3)); + } + + // Anything missing a layout class should be a full width row. + return 12; + } + function getLayoutClassName(classList) { + var classes, index, currentClass; + classes = getLayoutClasses(); + for (index = 0; index < classes.length; ++index) { + currentClass = classes[index]; + if (classList.contains(currentClass)) { + return currentClass; + } + } + return ''; + } + function getLayoutClassForSize(size) { + return 'frm' + size; + } + function breakFieldGroupClick() { + var row = document.querySelector('.frm-field-group-hover-target'); + breakRow(row); + destroyFieldGroupPopup(); + } + function breakRow(row) { + var $row = jQuery(row); + getFieldsInRow($row).each(function (index) { + var field = this; + if (0 !== index) { + $row.parent().after(wrapFieldLi(field)); + } + stripLayoutFromFields(jQuery(field)); + }); + } + function stripLayoutFromFields(field) { + syncLayoutClasses(field, 'clear'); + } + function focusFieldGroupInputOnClick() { + this.select(); + } + function cancelCustomFieldGroupClick() { + revertToFieldGroupPopupFirstPage(this); + } + function revertToFieldGroupPopupFirstPage(triggerElement) { + jQuery(document.getElementById('frm_field_group_popup')).replaceWith(getFieldGroupPopup(getSizeOfFieldGroupFromChildElement(triggerElement), triggerElement)); + } + function destroyFieldGroupPopup() { + var popup, wrapper; + popup = document.getElementById('frm_field_group_popup'); + if (popup === null) { + return; + } + wrapper = document.querySelector('.frm-has-open-field-group-popup'); + if (null !== wrapper) { + wrapper.classList.remove('frm-has-open-field-group-popup'); + popup.parentNode.remove(); + } + jQuery(document).off('click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick); + } + function saveCustomFieldGroupClick() { + var syncDetails, $controls, $ul; + syncDetails = []; + jQuery(document.getElementById('frm_field_group_popup').querySelectorAll('.frm_grid_container input')).each(function () { + syncDetails.push(parseInt(this.value)); + }); + $controls = jQuery(document.getElementById('frm_field_group_controls')); + if ($controls.length && 'none' !== $controls.get(0).style.display) { + syncLayoutClasses(getFieldsInRow(jQuery(document.querySelector('.frm-field-group-hover-target'))).first(), syncDetails); + } else { + $ul = mergeSelectedFieldGroups(); + syncLayoutClasses(getFieldsInRow($ul).first(), syncDetails); + unselectFieldGroups(); + } + destroyFieldGroupPopup(); + } + function fieldGroupClick(e) { + maybeShowFieldGroupMessage(); + if ('ul' !== e.originalEvent.target.nodeName.toLowerCase()) { + // only continue if the group itself was clicked / ignore when a field is clicked. + return; + } + var hoverTarget = document.querySelector('.frm-field-group-hover-target'); + if (!hoverTarget) { + return; + } + var ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey; + var shiftKeyIsDown = e.shiftKey; + var groupIsActive = hoverTarget.classList.contains('frm-selected-field-group'); + var $selectedFieldGroups = getSelectedFieldGroups(); + var numberOfSelectedGroups = $selectedFieldGroups.length; + if (ctrlOrCmdKeyIsDown || shiftKeyIsDown) { + // multi-selecting + + var selectedField = getSelectedField(); + if (null !== selectedField && !jQuery(selectedField).siblings('li.form-field').length) { + // count a selected field on its own as a selected field group when multiselecting. + selectedField.parentNode.classList.add('frm-selected-field-group'); + ++numberOfSelectedGroups; + } + if (ctrlOrCmdKeyIsDown) { + if (groupIsActive) { + // unselect if holding ctrl or cmd and the group was already active. + --numberOfSelectedGroups; + hoverTarget.classList.remove('frm-selected-field-group'); + syncAfterMultiSelect(numberOfSelectedGroups); + return; // exit early to avoid adding back frm-selected-field-group + } + ++numberOfSelectedGroups; + } else if (shiftKeyIsDown && !groupIsActive) { + ++numberOfSelectedGroups; // include the one we're selecting right now. + var $firstGroup = $selectedFieldGroups.first(); + var $range; + if ($firstGroup.parent().index() < jQuery(hoverTarget.parentNode).index()) { + $range = $firstGroup.parent().nextUntil(hoverTarget.parentNode); + } else { + $range = $firstGroup.parent().prevUntil(hoverTarget.parentNode); + } + $range.each(function () { + var $fieldGroup = jQuery(this).closest('li').find('ul.frm_sorting'); + if (!$fieldGroup.hasClass('frm-selected-field-group')) { + ++numberOfSelectedGroups; + $fieldGroup.addClass('frm-selected-field-group'); + } + }); + } + } else { + // not multi-selecting + unselectFieldGroups(); + numberOfSelectedGroups = 1; + } + hoverTarget.classList.add('frm-selected-field-group'); + syncAfterMultiSelect(numberOfSelectedGroups); + maybeHideFieldGroupMessage(); + jQuery(document).off('click', unselectFieldGroups); + jQuery(document).on('click', unselectFieldGroups); + } + + /** + * Hide the field group message by manipulating classes. + * + * @param {Element} fieldGroupMessage The field group message element. + * @return {void} + */ + function hideFieldGroupMessage(fieldGroupMessage) { + if (!fieldGroupMessage) { + return; + } + fieldGroupMessage.classList.add('frm_hidden'); + fieldGroupMessage.classList.remove('frm-fadein-up-back'); + } + + /** + * Show the field group message by manipulating classes. + * + * @param {Element} fieldGroupMessage The field group message element. + * @return {void} + */ + function showFieldGroupMessage(fieldGroupMessage) { + if (!fieldGroupMessage) { + return; + } + fieldGroupMessage.classList.remove('frm_hidden'); + fieldGroupMessage.classList.add('frm-fadein-up-back'); + } + + /** + * Maybe show a message if there are at least two rows. + * + * @return {void} + */ + function maybeShowFieldGroupMessage() { + var fieldGroupMessage = document.getElementById('frm-field-group-message'); + var rows = document.querySelectorAll('.edit_form_item:not(.edit_field_type_end_divider)'); + if (rows.length < 2) { + hideFieldGroupMessage(fieldGroupMessage); + return; + } + if (fieldGroupMessage) { + showFieldGroupMessage(fieldGroupMessage); + return; + } + fieldGroupMessage = div({ + id: 'frm-field-group-message', + className: 'frm-flex-center frm-fadein-up-back', + children: [span({ + id: 'frm-field-group-message-dismiss', + className: 'frm-flex-center', + child: svg({ + href: '#frm_close_icon' + }) + })] + }); + + // Insert the field group into the DOM + document.getElementById('post-body-content').appendChild(fieldGroupMessage); + + // Get and add the field group message text + var messageText = getFieldGroupMessageText(); + fieldGroupMessage.prepend(messageText); + + // Set up a click event listener + document.getElementById('frm-field-group-message-dismiss').addEventListener('click', function () { + hideFieldGroupMessage(document.getElementById('frm-field-group-message')); + }); + } + + /** + * Get a span element with text about selecting multiple fields. + * + * @return {HTMLElement} A span element with the message and style classes. + */ + function getFieldGroupMessageText() { + var text = document.createElement('span'); + text.classList.add('frm-field-group-message-text', 'frm-flex-center'); + text.innerHTML = sprintf(/* translators: %1$s: Start span HTML, %2$s: end span HTML */ + frm_admin_js.holdShiftMsg, + // eslint-disable-line camelcase + '', ''); + return text; + } + + /** + * Maybe hide the field group message based on the number of selected rows. + * + * @return {void} + */ + function maybeHideFieldGroupMessage() { + var selectedRowCount = document.querySelectorAll('.frm-selected-field-group').length; + if (selectedRowCount < 2) { + return; + } + var fieldGroupMessage = document.getElementById('frm-field-group-message'); + hideFieldGroupMessage(fieldGroupMessage); + } + function getSelectedField() { + return document.getElementById('frm-show-fields').querySelector('li.form-field.selected'); + } + function getSelectedFieldGroups() { + var $fieldGroups = jQuery('.frm-selected-field-group'); + if ($fieldGroups.length) { + return $fieldGroups; + } + var selectedField = getSelectedField(); + if (selectedField) { + // If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select. + var selectedFieldGroup = selectedField.closest('ul'); + if (selectedFieldGroup && 1 === getFieldsInRow(jQuery(selectedFieldGroup)).length) { + selectedFieldGroup.classList.add('frm-selected-field-group'); + return jQuery(selectedFieldGroup); + } + } + return jQuery(); + } + function syncAfterMultiSelect(numberOfSelectedGroups) { + clearSettingsBox(true); // unselect any fields if one is selected. + if (numberOfSelectedGroups >= 2 || 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields()) { + addFieldMultiselectPopup(); + } else { + maybeRemoveMultiselectPopup(); + } + maybeRemoveGroupHoverTarget(); + } + function selectedGroupHasMultipleFields() { + return getFieldsInRow(jQuery(document.querySelector('.frm-selected-field-group'))).length > 1; + } + function unselectFieldGroups(event) { + if ('undefined' !== typeof event) { + if (null !== event.originalEvent.target.closest('#frm-show-fields')) { + return; + } + if (event.originalEvent.target.classList.contains('frm-merge-fields-into-row')) { + return; + } + if (null !== event.originalEvent.target.closest('.frm-merge-fields-into-row')) { + return; + } + if (event.originalEvent.target.classList.contains('frm-custom-field-group-layout')) { + return; + } + if (event.originalEvent.target.classList.contains('frm-cancel-custom-field-group-layout')) { + return; + } + } + jQuery('.frm-selected-field-group').removeClass('frm-selected-field-group'); + jQuery(document).off('click', unselectFieldGroups); + maybeRemoveMultiselectPopup(); + } + function maybeRemoveMultiselectPopup() { + var popup = document.getElementById('frm_field_multiselect_popup'); + if (null !== popup) { + popup.remove(); + } + } + function addFieldMultiselectPopup() { + getFieldMultiselectPopup(); + } + function getFieldMultiselectPopup() { + var popup, mergeOption, caret, verticalSeparator, deleteOption; + popup = document.getElementById('frm_field_multiselect_popup'); + if (null !== popup) { + popup.classList.toggle('frm-unmergable', !selectedFieldsAreMergeable()); + return popup; + } + popup = div(); + popup.id = 'frm_field_multiselect_popup'; + if (!selectedFieldsAreMergeable()) { + popup.classList.add('frm-unmergable'); + } + mergeOption = div(); + mergeOption.classList.add('frm-merge-fields-into-row'); + mergeOption.textContent = __('Merge into row', 'formidable'); + caret = document.createElement('a'); + caret.style.marginLeft = '5px'; + caret.classList.add('frm_icon_font', 'frm_arrowdown6_icon'); + caret.setAttribute('href', '#'); + mergeOption.appendChild(caret); + popup.appendChild(mergeOption); + verticalSeparator = div(); + verticalSeparator.classList.add('frm-multiselect-popup-separator'); + popup.appendChild(verticalSeparator); + deleteOption = div(); + deleteOption.classList.add('frm-delete-field-groups'); + deleteOption.appendChild(getIconClone('frm_trash_svg')); + popup.appendChild(deleteOption); + document.getElementById('post-body-content').appendChild(popup); + jQuery(popup).hide().fadeIn(); + return popup; + } + function selectedFieldsAreMergeable() { + var selectedFieldGroups, totalFieldCount, length, index, fieldGroup; + selectedFieldGroups = document.querySelectorAll('.frm-selected-field-group'); + length = selectedFieldGroups.length; + if (1 === length) { + return false; + } + totalFieldCount = 0; + for (index = 0; index < length; ++index) { + fieldGroup = selectedFieldGroups[index]; + if (null !== fieldGroup.querySelector('.edit_field_type_break, .edit_field_type_hidden')) { + return false; + } + totalFieldCount += getFieldsInRow(jQuery(fieldGroup)).length; + if (totalFieldCount > MAX_FIELD_GROUP_SIZE) { + return false; + } + } + return true; + } + function mergeFieldsIntoRowClick(event) { + var size, popup; + if (null !== event.originalEvent.target.closest('#frm_field_group_popup')) { + // prevent clicks within the popup from triggering the button again. + return; + } + if (event.originalEvent.target.classList.contains('frm-custom-field-group-layout')) { + // avoid switching back to the first page when clicking the custom option nested inside of the merge option. + return; + } + size = getSelectedFieldCount(); + popup = getFieldGroupPopup(size, document.querySelector('.frm-selected-field-group').firstChild); + this.appendChild(popup); + } + function getSelectedFieldCount() { + var count = 0; + jQuery(document.querySelectorAll('.frm-selected-field-group')).each(function () { + count += getFieldsInRow(jQuery(this)).length; + }); + return count; + } + function deleteFieldGroupsClick() { + var fieldIdsToDelete, deleteOnConfirm, multiselectPopup; + fieldIdsToDelete = getSelectedFieldIds(); + deleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction(fieldIdsToDelete); + multiselectPopup = document.getElementById('frm_field_multiselect_popup'); + if (null !== multiselectPopup) { + multiselectPopup.remove(); + } + this.setAttribute('data-frmverify', confirmFieldsDeleteMessage(fieldIdsToDelete.length)); + confirmLinkClick(this); + var confirmedClick = document.getElementById('frm-confirmed-click'); + + // Remove any previous delete field data so delete confirmation does not attempt + // to delete a field that was already deleted or previously attempted and cancelled. + confirmedClick === null || confirmedClick === void 0 || confirmedClick.removeAttribute('data-deletefield'); + jQuery(confirmedClick).on('click', deleteOnConfirm); + jQuery('#frm_confirm_modal').one('dialogclose', function () { + jQuery(confirmedClick).off('click', deleteOnConfirm); + }); + } + function getSelectedFieldIds() { + var deleteFieldIds = []; + jQuery('.frm-selected-field-group > li.form-field').each(function () { + deleteFieldIds.push(this.dataset.fid); + }); + return deleteFieldIds; + } + function getDeleteSelectedFieldGroupsOnConfirmFunction(deleteFieldIds) { + return function (event) { + event.preventDefault(); + deleteAllSelectedFieldGroups(deleteFieldIds); + }; + } + function deleteAllSelectedFieldGroups(deleteFieldIds) { + deleteFieldIds.forEach(function (fieldId) { + deleteFields(fieldId); + }); + } + function deleteFieldConfirmed() { + /*jshint validthis:true */ + deleteFields(this.getAttribute('data-deletefield')); + } + function deleteFields(fieldId) { + var field = jQuery('#frm_field_id_' + fieldId); + deleteField(fieldId); + if (field.hasClass('edit_field_type_divider')) { + field.find('li.frm_field_box[data-fid]').each(function () { + deleteField(this.getAttribute('data-fid')); + }); + } + toggleSectionHolder(); + } + + /** + * Checks if there is only submit field in the form builder. + * + * @return {Boolean} + */ + function hasOnlySubmitField() { + // If there are at least 2 rows, return false. + if ($newFields.get(0).childElementCount > 1) { + return false; + } + var childUl = $newFields.get(0).firstElementChild.firstElementChild; + + // Use query instead of children because there might be a div inside this ul. + var childLi = childUl.querySelectorAll('li.frm_field_box'); + + // If there are at least 2 items in the row, return false. + if (childLi.length > 1) { + return false; + } + return childLi[0].classList.contains('edit_field_type_submit'); + } + + /** + * Moves open modals out of the field options form. + * + * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That + * creates a problem since deleting the field also deletes the modal and this function fixes that problem. + * + * @since 6.22 + * + * @param {Object} settings + * @return {void} + */ + function moveOpenModalsOutOfFieldOptions(settings) { + var openModals = settings[0].querySelectorAll('.frm-inline-modal[data-fills]'); + if (!openModals.length) { + return; + } + openModals.forEach(function (modal) { + modal.classList.add('frm_hidden'); + modal.removeAttribute('data-fills'); + modal.closest('form').appendChild(modal); + }); + } + function deleteField(fieldId) { + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_delete_field', + field_id: fieldId, + nonce: frmGlobal.nonce + }, + success: function success() { + var $thisField = jQuery(document.getElementById('frm_field_id_' + fieldId)), + settings = jQuery('#frm-single-settings-' + fieldId); + + // Remove settings from sidebar. + if (settings.is(':visible')) { + var _document$querySelect2; + (_document$querySelect2 = document.querySelector('.frm-settings-panel .frm-tabs-navs ul > li:first-child')) === null || _document$querySelect2 === void 0 || _document$querySelect2.click(); + document.querySelector('#frm-options-panel .frm-single-settings').classList.remove('frm_hidden'); + } + moveOpenModalsOutOfFieldOptions(settings); + settings.remove(); + $thisField.fadeOut('slow', function () { + var $section = $thisField.closest('.start_divider'), + type = $thisField.data('type'), + $adjacentFields = $thisField.siblings('li.form-field'), + $liWrapper; + if (!$adjacentFields.length) { + if ($thisField.is('.edit_field_type_end_divider')) { + $adjacentFields.length = $thisField.closest('li.form-field').siblings(); + } else { + $liWrapper = $thisField.closest('ul.frm_sorting').parent(); + } + } + $thisField.remove(); + if (type === 'break') { + renumberPageBreaks(); + } else if (type === 'product') { + maybeHideQuantityProductFieldOption(); + // a product field attached to a quantity field earlier might be the one deleted, so re-populate + popAllProductFields(); + } + if ($adjacentFields.length) { + syncLayoutClasses($adjacentFields.first()); + } else { + $liWrapper.remove(); + } + if (jQuery('#frm-show-fields li').length === 0 || hasOnlySubmitField()) { + var formEditorContainer = document.getElementById('frm_form_editor_container'); + formEditorContainer.classList.remove('frm-has-fields'); + formEditorContainer.classList.add('frm-empty-fields'); + } else if ($section.length) { + toggleOneSectionHolder($section); + } + + // prevent "More Options" tooltips from staying around after their target field is deleted. + deleteTooltips(); + }); + if ($thisField.length) { + wp.hooks.doAction('frm_after_delete_field', $thisField[0]); + } + } + }); + } + function addFieldLogicRow() { + /*jshint validthis:true */ + var id = jQuery(this).closest('.frm-single-settings').data('fid'), + formId = thisFormId, + logicRows = document.getElementById('frm_logic_row_' + id).querySelectorAll('.frm_logic_row'); + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_add_logic_row', + form_id: formId, + field_id: id, + nonce: frmGlobal.nonce, + meta_name: getNewRowId(logicRows, 'frm_logic_' + id + '_'), + fields: getFieldList() + }, + success: function success(html) { + jQuery(document.getElementById('logic_' + id)).fadeOut('fast', function () { + var logicRow = document.getElementById('frm_logic_row_' + id); + logicRow.insertAdjacentHTML('beforeend', html); + var logicRowText = logicRow.querySelector('.frm_logic_row:last-child .frm-logic-rule-text'); + if (logicRowText) { + logicRowText.textContent = logicRow.dataset.ruleText; + } + var logicRows = logicRow.closest('.frm_logic_rows'); + logicRows.style.height = 'auto'; + jQuery(logicRows).fadeIn('fast'); + }); + } + }); + return false; + } + function getNewRowId(rows, replace, defaultValue) { + if (!rows.length) { + return 'undefined' !== typeof defaultValue ? defaultValue : 0; + } + return parseInt(rows[rows.length - 1].id.replace(replace, ''), 10) + 1; + } + function addWatchLookupRow() { + /*jshint validthis:true */ + var lastRowId, + id = jQuery(this).closest('.frm-single-settings').data('fid'), + formId = thisFormId, + lookupBlockRows = document.getElementById('frm_watch_lookup_block_' + id).children; + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_add_watch_lookup_row', + form_id: formId, + field_id: id, + row_key: getNewRowId(lookupBlockRows, 'frm_watch_lookup_' + id + '_'), + nonce: frmGlobal.nonce + }, + success: function success(newRow) { + var _document$getElementB2; + var watchRowBlock = jQuery(document.getElementById('frm_watch_lookup_block_' + id)); + watchRowBlock.append(newRow); + watchRowBlock.fadeIn('slow'); + + // Show the "Watch Lookup Fields" label if it was hidden + (_document$getElementB2 = document.getElementById("frm_watch_lookup_label_".concat(id))) === null || _document$getElementB2 === void 0 || _document$getElementB2.classList.remove('frm-force-hidden'); + } + }); + return false; + } + function resetOptionTextDetails() { + jQuery('.frm-single-settings ul input[type="text"][name^="field_options[options_"]').filter('[data-value-on-load]').removeAttr('data-value-on-load'); + jQuery('input[type="hidden"][name^=optionmap]').remove(); + } + function optionTextAlreadyExists(input) { + var fieldId = jQuery(input).closest('.frm-single-settings').attr('data-fid'), + optionInputs = jQuery(input).closest('ul').get(0).querySelectorAll('.field_' + fieldId + '_option'), + index, + optionInput; + for (index in optionInputs) { + optionInput = optionInputs[index]; + if (optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute('data-duplicate') !== 'true') { + return true; + } + } + return false; + } + function onOptionTextFocus() { + var input, fieldId; + if (this.getAttribute('data-value-on-load') === null) { + this.setAttribute('data-value-on-load', this.value); + fieldId = jQuery(this).closest('.frm-single-settings').attr('data-fid'); + input = document.createElement('input'); + input.value = this.value; + input.setAttribute('type', 'hidden'); + input.setAttribute('name', 'optionmap[' + fieldId + '][' + this.value + ']'); + this.parentNode.appendChild(input); + if (typeof optionMap[fieldId] === 'undefined') { + optionMap[fieldId] = {}; + } + optionMap[fieldId][this.value] = input; + } + if (this.getAttribute('data-duplicate') === 'true') { + this.removeAttribute('data-duplicate'); + + // we want to use original value if actually still a duplicate + if (optionTextAlreadyExists(this)) { + this.setAttribute('data-value-on-focus', this.getAttribute('data-value-on-load')); + return; + } + } + if ('' !== this.value || frmAdminJs.new_option !== this.getAttribute('data-value-on-focus')) { + this.setAttribute('data-value-on-focus', this.value); + } + } + + /** + * Returns an object that has the old and new values and labels, when a field choice is changed. + * + * @param {HTMLElement} input + * @return {Object} + */ + function getChoiceOldAndNewValues(input) { + var _getChoiceOldValueAnd = getChoiceOldValueAndLabel(input), + oldValue = _getChoiceOldValueAnd.oldValue, + oldLabel = _getChoiceOldValueAnd.oldLabel; + var _getChoiceNewValueAnd = getChoiceNewValueAndLabel(input), + newValue = _getChoiceNewValueAnd.newValue, + newLabel = _getChoiceNewValueAnd.newLabel; + return { + oldValue: oldValue, + oldLabel: oldLabel, + newValue: newValue, + newLabel: newLabel + }; + } + + /** + * Returns an object that has the new value and label, when a field choice is changed. + * + * @param {HTMLElement} choiceElement + * @return {Object} + */ + function getChoiceNewValueAndLabel(choiceElement) { + var singleOptionContainer = choiceElement.closest('.frm_single_option'); + var newValue, newLabel; + if (choiceElement.parentElement.classList.contains('frm_single_option')) { + // label changed + newValue = singleOptionContainer.querySelector('.frm_option_key input[type="text"]').value; + newLabel = choiceElement.value; + return { + newValue: newValue, + newLabel: newLabel + }; + } + + // saved value changed + newLabel = singleOptionContainer.querySelector('input[type="text"]').value; + newValue = choiceElement.value; + return { + newValue: newValue, + newLabel: newLabel + }; + } + + /** + * Returns an object that has the old value and label, when a field choice is changed. + * + * @param {HTMLElement} choiceElement + * @return {Object} + */ + function getChoiceOldValueAndLabel(choiceElement) { + var _choiceElement$closes, _choiceElement$closes2; + var usingSeparateValues = (_choiceElement$closes = (_choiceElement$closes2 = choiceElement.closest('.frm-single-settings').querySelector('.frm_toggle_sep_values')) === null || _choiceElement$closes2 === void 0 ? void 0 : _choiceElement$closes2.checked) !== null && _choiceElement$closes !== void 0 ? _choiceElement$closes : false; + var singleOptionContainer = choiceElement.closest('.frm_single_option'); + var oldValue, oldLabel; + if (usingSeparateValues) { + if (choiceElement.parentElement.classList.contains('frm_single_option')) { + // label changed + oldValue = singleOptionContainer.querySelector('.frm_option_key input[type="text"]').getAttribute('data-value-on-focus'); + oldLabel = choiceElement.getAttribute('data-value-on-focus'); + return { + oldValue: oldValue, + oldLabel: oldLabel + }; + } + } + oldValue = choiceElement.getAttribute('data-value-on-focus'); + oldLabel = singleOptionContainer.querySelector('input[type="text"]').getAttribute('data-value-on-focus'); + return { + oldValue: oldValue, + oldLabel: oldLabel + }; + } + function onOptionTextBlur() { + var originalValue, fieldId, fieldIndex, logicId, row, rowLength, rowIndex, valueSelect, opts, fieldIds, settingId, setting, optionMatches, option; + var _getChoiceOldAndNewVa = getChoiceOldAndNewValues(this), + oldValue = _getChoiceOldAndNewVa.oldValue, + oldLabel = _getChoiceOldAndNewVa.oldLabel, + newValue = _getChoiceOldAndNewVa.newValue, + newLabel = _getChoiceOldAndNewVa.newLabel; + if (oldValue === newValue && oldLabel === newLabel) { + return; + } + var singleSettingsContainer = this.closest('.frm-single-settings'); + fieldId = singleSettingsContainer.getAttribute('data-fid'); + originalValue = this.getAttribute('data-value-on-load'); + + // check if the newValue is already mapped to another option + // if it is, mark as duplicate and return + if (optionTextAlreadyExists(this)) { + this.setAttribute('data-duplicate', 'true'); + if (typeof optionMap[fieldId] !== 'undefined' && typeof optionMap[fieldId][originalValue] !== 'undefined') { + // unmap any other change that may have happened before instead of changing it to something unused + optionMap[fieldId][originalValue].value = originalValue; + } + return; + } + if (typeof optionMap[fieldId] !== 'undefined' && typeof optionMap[fieldId][originalValue] !== 'undefined') { + optionMap[fieldId][originalValue].value = newValue; + } + fieldIds = []; + rows = builderPage.querySelectorAll('.frm_logic_row'); + rowLength = rows.length; + for (rowIndex = 0; rowIndex < rowLength; rowIndex++) { + row = rows[rowIndex]; + opts = row.querySelector('.frm_logic_field_opts'); + if (opts.value !== fieldId) { + continue; + } + logicId = row.id.split('_')[2]; + valueSelect = row.querySelector('select[name="field_options[hide_opt_' + logicId + '][]"]'); + if ('' === oldValue) { + optionMatches = []; + } else { + optionMatches = valueSelect.querySelectorAll('option[value="' + oldValue + '"]'); + } + if (!optionMatches.length) { + optionMatches = valueSelect.querySelectorAll('option[value="' + newValue + '"]'); + if (!optionMatches.length) { + var _singleSettingsContai; + if (!((_singleSettingsContai = singleSettingsContainer.querySelector('.frm_toggle_sep_values')) !== null && _singleSettingsContai !== void 0 && _singleSettingsContai.checked)) { + option = searchSelectByText(valueSelect, oldValue); // Find conditional logic option with oldValue + } + if (!option) { + option = document.createElement('option'); + valueSelect.appendChild(option); + } + } + } + if (optionMatches.length) { + option = optionMatches[optionMatches.length - 1]; + } + option.setAttribute('value', newValue); + option.textContent = newLabel; + if (fieldIds.indexOf(logicId) === -1) { + fieldIds.push(logicId); + } + } + for (fieldIndex in fieldIds) { + settingId = fieldIds[fieldIndex]; + setting = document.getElementById('frm-single-settings-' + settingId); + moveFieldSettings(setting); + } + } + + /** + * Returns an option element that matches a string with its text content. + * + * @param {HTMLElement} selectElement + * @param {string} searchText + * @return {HTMLElement|null} + */ + function searchSelectByText(selectElement, searchText) { + var options = selectElement.options; + for (var _i10 = 0; _i10 < options.length; _i10++) { + var option = options[_i10]; + if (searchText === option.textContent) { + return option; + } + } + return null; + } + function updateGetValueFieldSelection() { + /*jshint validthis:true */ + var fieldID = this.id.replace('get_values_form_', ''); + var fieldSelect = document.getElementById('get_values_field_' + fieldID); + var fieldType = this.getAttribute('data-fieldtype'); + if (this.value === '') { + fieldSelect.options.length = 1; + } else { + var formID = this.value; + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_get_options_for_get_values_field', + form_id: formID, + field_type: fieldType, + nonce: frmGlobal.nonce + }, + success: function success(fields) { + fieldSelect.innerHTML = fields; + } + }); + } + } + + // Clear the Watch Fields option when Lookup field switches to "Text" option + function maybeClearWatchFields() { + /*jshint validthis:true */ + var link, + lookupBlock, + fieldID = this.name.replace('field_options[data_type_', '').replace(']', ''); + link = document.getElementById('frm_add_watch_lookup_link_' + fieldID); + if (!link) { + return; + } + link = link.parentNode; + if (this.value === 'text') { + lookupBlock = document.getElementById('frm_watch_lookup_block_' + fieldID); + if (lookupBlock !== null) { + // Clear and hide the Watch Fields option + lookupBlock.innerHTML = ''; + link.classList.add('frm_hidden'); + + // Hide the Watch Fields row + link.previousElementSibling.style.display = 'none'; + link.previousElementSibling.previousElementSibling.style.display = 'none'; + link.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none'; + } + } else { + // Show the Watch Fields option + link.classList.remove('frm_hidden'); + } + toggleMultiSelect(fieldID, this.value); + } + + // Number the pages and hide/show the first page as needed. + function renumberPageBreaks() { + var i, + containerClass, + pages = document.getElementsByClassName('frm-page-num'); + if (pages.length > 1) { + document.getElementById('frm-fake-page').style.display = 'block'; + for (i = 0; i < pages.length; i++) { + containerClass = pages[i].parentNode.parentNode.parentNode.classList; + if (i === 1) { + // Hide previous button on page 1 + containerClass.add('frm-first-page'); + } else { + containerClass.remove('frm-first-page'); + } + pages[i].textContent = i + 1; + } + } else { + document.getElementById('frm-fake-page').style.display = 'none'; + } + wp.hooks.doAction('frm_renumber_page_breaks', pages); + } + + // The fake field works differently than real fields. + function maybeCollapsePage() { + /*jshint validthis:true */ + var field = jQuery(this).closest('.frm_field_box[data-ftype=break]'); + if (field.length) { + toggleCollapsePage(field); + } else { + toggleCollapseFakePage(); + } + } + + // Find all fields in a page and hide/show them + function toggleCollapsePage(field) { + var toCollapse = getAllFieldsForPage(field.get(0).parentNode.closest('li.frm_field_box').nextElementSibling); + togglePage(field, toCollapse); + } + function toggleCollapseFakePage() { + var topLevel = document.getElementById('frm-fake-page'), + firstField = document.getElementById('frm-show-fields').firstElementChild, + toCollapse = getAllFieldsForPage(firstField); + if (firstField.getAttribute('data-ftype') === 'break') { + // Don't collapse if the first field is a page break. + return; + } + togglePage(jQuery(topLevel), toCollapse); + } + function getAllFieldsForPage(firstWrapper) { + var $fieldsForPage, currentWrapper; + $fieldsForPage = jQuery(); + if (null === firstWrapper) { + return $fieldsForPage; + } + currentWrapper = firstWrapper; + do { + if (null !== currentWrapper.querySelector('.edit_field_type_break')) { + break; + } + $fieldsForPage = $fieldsForPage.add(jQuery(currentWrapper)); + currentWrapper = currentWrapper.nextElementSibling; + } while (null !== currentWrapper); + return $fieldsForPage; + } + function togglePage(field, toCollapse) { + var i, + fieldCount = toCollapse.length, + slide = Math.min(fieldCount, 3); + if (field.hasClass('frm-page-collapsed')) { + field.removeClass('frm-page-collapsed'); + toCollapse.removeClass('frm-is-collapsed'); + for (i = 0; i < slide; i++) { + if (i === slide - 1) { + jQuery(toCollapse[i]).slideDown(150, function () { + toCollapse.show(); + }); + } else { + jQuery(toCollapse[i]).slideDown(150); + } + } + } else { + field.addClass('frm-page-collapsed'); + toCollapse.addClass('frm-is-collapsed'); + for (i = 0; i < slide; i++) { + if (i === slide - 1) { + jQuery(toCollapse[i]).slideUp(150, function () { + toCollapse.css('cssText', 'display:none !important;'); + }); + } else { + jQuery(toCollapse[i]).slideUp(150); + } + } + } + } + function maybeCollapseSection() { + /*jshint validthis:true */ + var parentCont = this.parentNode.parentNode.parentNode.parentNode; + parentCont.classList.toggle('frm-section-collapsed'); + } + function maybeCollapseSettings() { + /*jshint validthis:true */ + this.classList.toggle('frm-collapsed'); + + // Toggles the "aria-expanded" attribute + var expanded = this.getAttribute('aria-expanded') === 'true' || false; + this.setAttribute('aria-expanded', !expanded); + addSlideAnimationCssVars(this.nextElementSibling); + } + + /** + * Add slide animation CSS variables to the element + * + * @param {HTMLElement} element The element to add CSS variables to + * @return {void} + */ + function addSlideAnimationCssVars(element) { + if (!element) { + return; + } + var height = element.scrollHeight; + if (height <= 0) { + return; + } + height += 250; + element.style.setProperty('--slide-height', "".concat(height, "px")); + element.style.setProperty('--slide-time', "".concat(Math.ceil(height * 0.8), "ms")); + } + function clickLabel() { + if (!this.id) { + return; + } + + /*jshint validthis:true */ + var setting = document.querySelectorAll('[data-changeme="' + this.id + '"]')[0], + fieldId = this.id.replace('field_label_', ''), + fieldType = document.getElementById('field_options_type_' + fieldId), + fieldTypeName = fieldType.value; + if (typeof setting !== 'undefined') { + if (fieldType.tagName === 'SELECT') { + fieldTypeName = fieldType.options[fieldType.selectedIndex].text.toLowerCase(); + } else { + fieldTypeName = fieldTypeName.replace('_', ' '); + } + fieldTypeName = normalizeFieldName(fieldTypeName); + setTimeout(function () { + if (setting.value.toLowerCase() === fieldTypeName) { + setting.select(); + } else { + setting.focus(); + } + }, 50); + } + } + function clickDescription() { + /*jshint validthis:true */ + var setting = document.querySelectorAll('[data-changeme="' + this.id + '"]')[0]; + if (typeof setting !== 'undefined') { + setTimeout(function () { + setting.focus(); + autoExpandSettings(setting); + }, 50); + } + } + function autoExpandSettings(setting) { + var inSection = setting.closest('.frm-collapse-me'); + if (inSection !== null) { + inSection.previousElementSibling.classList.remove('frm-collapsed'); + } + } + function normalizeFieldName(fieldTypeName) { + if (fieldTypeName === 'divider') { + fieldTypeName = 'section'; + } else if (fieldTypeName === 'range') { + fieldTypeName = 'slider'; + } else if (fieldTypeName === 'data') { + fieldTypeName = 'dynamic'; + } else if (fieldTypeName === 'form') { + fieldTypeName = 'embed form'; + } + return fieldTypeName; + } + function clickVis(e) { + /*jshint validthis:true */ + var currentClass, originalList; + currentClass = e.target.classList; + if (currentClass.contains('frm-collapse-page') || currentClass.contains('frm-sub-label') || e.target.closest('.dropdown') !== null) { + return; + } + if (this.closest('.start_divider') !== null) { + e.stopPropagation(); + } + if (this.classList.contains('edit_field_type_divider')) { + originalList = e.originalEvent.target.closest('ul.frm_sorting'); + if (null !== originalList) { + // prevent section click if clicking a field group within a section. + if (originalList.classList.contains('edit_field_type_divider') || originalList.parentNode.parentNode.classList.contains('start_divider')) { + return; + } + } + } + clickAction(this); + } + + /** + * Update the format input based on the selected format type. + * + * @since 6.9 + * + * @param {Event} event The event object from the format type selection. + * @return {void} + */ + function maybeUpdateFormatInput(event) { + var formatElement = event.target; + var type = formatElement.value; + if ('custom' === type) { + var fieldId = formatElement.dataset.fieldId; + var formatInput = document.getElementById("frm-field-format-custom-".concat(fieldId)).querySelector('.frm_format_opt'); + if ('international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value) { + formatInput.setAttribute('value', ''); + } + } + setTimeout(function () { + formatElement.querySelectorAll('option').forEach(function (option) { + if (option.selected && option.classList.contains('frm_show_upgrade')) { + formatElement.value = 'none'; + } + }); + }, 0); + } + + /** + * Open Advanced settings on double click. + */ + function openAdvanced() { + var fieldId = this.getAttribute('data-fid'); + autoExpandSettings(document.getElementById('field_options_field_key_' + fieldId)); + } + function toggleRepeatButtons() { + /*jshint validthis:true */ + var $thisField = jQuery(this).closest('.frm_field_box'); + $thisField.find('.repeat_icon_links').removeClass('repeat_format repeat_formatboth repeat_formattext').addClass('repeat_format' + this.value); + if (this.value === 'text' || this.value === 'both') { + $thisField.find('.frm_repeat_text').show(); + $thisField.find('.repeat_icon_links a').addClass('frm_button'); + } else { + $thisField.find('.frm_repeat_text').hide(); + $thisField.find('.repeat_icon_links a').removeClass('frm_button'); + } + } + function checkRepeatLimit() { + /*jshint validthis:true */ + var val = this.value; + if (val !== '' && (val < 2 || val > 200)) { + infoModal(frmAdminJs.repeat_limit_min); + this.value = ''; + } + } + function checkCheckboxSelectionsLimit() { + /*jshint validthis:true */ + var val = this.value; + if (val !== '' && (val < 1 || val > 200)) { + infoModal(frmAdminJs.checkbox_limit); + this.value = ''; + } + } + function updateRepeatText(obj, addRemove) { + var $thisField = jQuery(obj).closest('.frm_field_box'); + $thisField.find('.frm_' + addRemove + '_form_row .frm_repeat_label').text(obj.value); + } + function fieldsInSection(id) { + var children = []; + jQuery(document.getElementById('frm_field_id_' + id)).find('li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)').each(function () { + children.push(jQuery(this).data('fid')); + }); + return children; + } + function toggleFormTax() { + /*jshint validthis:true */ + var id = jQuery(this).closest('.frm-single-settings').data('fid'); + var val = this.value; + var $showFields = document.getElementById('frm_show_selected_fields_' + id); + var $showForms = document.getElementById('frm_show_selected_forms_' + id); + jQuery($showForms).find('select').val(''); + if (val === 'form') { + $showForms.style.display = 'inline'; + empty($showFields); + } else { + $showFields.style.display = 'none'; + $showForms.style.display = 'none'; + getTaxOrFieldSelection(val, id); + } + } + function resetOptOnChange() { + /*jshint validthis:true */ + var field, thisOpt; + field = getFieldKeyFromOpt(this); + if (!field) { + return; + } + thisOpt = jQuery(this).closest('.frm_single_option'); + resetSingleOpt(field.fieldId, field.fieldKey, thisOpt); + } + function getFieldKeyFromOpt(object) { + var allOpts, fieldId, fieldKey; + allOpts = jQuery(object).closest('.frm_sortable_field_opts'); + if (!allOpts.length) { + return false; + } + fieldId = allOpts.attr('id').replace('frm_field_', '').replace('_opts', ''); + fieldKey = allOpts.data('key'); + return { + fieldId: fieldId, + fieldKey: fieldKey + }; + } + function resetSingleOpt(fieldId, fieldKey, thisOpt) { + var saved, + text, + defaultVal, + previewInput, + labelForDisplay, + optContainer, + optKey = thisOpt.data('optkey'), + separateValues = usingSeparateValues(fieldId), + single = jQuery('label[for="field_' + fieldKey + '-' + optKey + '"]'), + baseName = 'field_options[options_' + fieldId + '][' + optKey + ']', + label = jQuery('input[name="' + baseName + '[label]"]'); + if (single.length < 1) { + resetDisplayedOpts(fieldId); + + // Set the default value. + defaultVal = thisOpt.find('input[name^="default_value_"]'); + if (defaultVal.is(':checked') && label.length > 0) { + jQuery('select[name^="item_meta[' + fieldId + ']"]').val(label.val()); + } + return; + } + previewInput = single.children('input'); + if (label.length < 1) { + // Check for other label. + label = jQuery('input[name="' + baseName + '"]'); + saved = label.val(); + } else if (separateValues) { + saved = jQuery('input[name="' + baseName + '[value]"]').val(); + } else { + saved = label.val(); + } + if (label.length < 1) { + return; + } + + // Set the displayed value. + text = single[0].childNodes; + if (imagesAsOptions(fieldId)) { + labelForDisplay = getImageDisplayValue(thisOpt, fieldId, label); + optContainer = single.find('.frm_image_option_container'); + if (optContainer.length > 0) { + optContainer.replaceWith(labelForDisplay); + } else { + text[text.length - 1].nodeValue = ''; + single.append(labelForDisplay); + } + } else { + var firstInputIndex = false; + text.forEach(function (node, index) { + if (firstInputIndex === false) { + if (node.tagName === 'INPUT') { + firstInputIndex = index; + } + } else if (index === firstInputIndex + 1) { + var nodeValue = ''; + if (buttonsAsOptions(fieldId)) { + nodeValue = div({ + className: 'frm_label_button_container', + text: ' ' + label.val() + }); + single[0].replaceChild(nodeValue, node); + } else { + node.nodeValue = ' ' + label.val(); + } + } else { + single[0].removeChild(node); + } + }); + } + + // Set saved value. + previewInput.val(saved); + + // Set the default value. + defaultVal = thisOpt.find('input[name^="default_value_"]'); + previewInput.prop('checked', defaultVal.is(':checked') ? true : false); + } + function buttonsAsOptions(fieldId) { + var fields = document.getElementsByName('field_options[image_options_' + fieldId + ']'); + var result = Array.from(fields).find(function (field) { + return field.checked && 'buttons' === field.value; + }); + return typeof result !== 'undefined'; + } + + /** + * Set the displayed value for an image option. + */ + function getImageDisplayValue(thisOpt, fieldId, label) { + var image, imageUrl, showLabelWithImage, fieldType; + image = thisOpt.find('img'); + if (image) { + imageUrl = image.attr('src'); + } + showLabelWithImage = showingLabelWithImage(fieldId); + fieldType = radioOrCheckbox(fieldId); + return getImageLabel(label.val(), showLabelWithImage, imageUrl, fieldType); + } + function getImageOptionSize(fieldId) { + var val, + field = document.getElementById('field_options_image_size_' + fieldId), + size = ''; + if (field !== null) { + val = field.value; + if (val !== '') { + size = val; + } + } + return size; + } + function resetDisplayedOpts(fieldId) { + var i, + opts, + type, + placeholder, + fieldInfo, + input = jQuery('[name^="item_meta[' + fieldId + ']"]'); + if (input.length < 1) { + return; + } + if (input.is('select')) { + placeholder = document.getElementById('frm_placeholder_' + fieldId); + if (placeholder !== null && placeholder.value === '') { + fillDropdownOpts(input[0], { + sourceID: fieldId + }); + } else { + fillDropdownOpts(input[0], { + sourceID: fieldId, + placeholder: placeholder.value + }); + } + } else { + opts = getMultipleOpts(fieldId); + jQuery('#field_' + fieldId + '_inner_container > .frm_form_fields').html(''); + fieldInfo = getFieldKeyFromOpt(jQuery('#frm_delete_field_' + fieldId + '-000_container')); + var container = jQuery('#field_' + fieldId + '_inner_container > .frm_form_fields'), + hasImageOptions = imagesAsOptions(fieldId), + imageSize = hasImageOptions ? getImageOptionSize(fieldId) : '', + imageOptionClass = hasImageOptions ? 'frm_image_option frm_image_' + imageSize + ' ' : '', + isProduct = isProductField(fieldId); + type = 'hidden' === input.attr('type') ? input.data('field-type') : input.attr('type'); + for (i = 0; i < opts.length; i++) { + container.append(addRadioCheckboxOpt(type, opts[i], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass)); + } + } + adjustConditionalLogicOptionOrders(fieldId); + } + + /** + * Returns an object that has a value and label for new conditional logic option, for a given option value. + * + * @param {Number} fieldId + * @param {string} expectedOption + * @return {Object} + */ + function getNewConditionalLogicOption(fieldId, expectedOption) { + var optionsContainer = document.getElementById('frm_field_' + fieldId + '_opts'); + var expectedOptionInput = optionsContainer.querySelector('input[value="' + expectedOption + '"]'); + if (expectedOptionInput) { + return getChoiceNewValueAndLabel(expectedOptionInput); + } + return { + newValue: expectedOption, + newLabel: expectedOption + }; + } + function adjustConditionalLogicOptionOrders(fieldId, type) { + var row, + opts, + logicId, + valueSelect, + optionLength, + optionIndex, + expectedOption, + optionMatch, + fieldOptions, + rows = builderPage.querySelectorAll('.frm_logic_row'), + rowLength = rows.length; + fieldOptions = wp.hooks.applyFilters('frm_conditional_logic_field_options', getFieldOptions(fieldId), { + type: type, + fieldId: fieldId + }); + optionLength = fieldOptions.length; + for (rowIndex = 0; rowIndex < rowLength; rowIndex++) { + row = rows[rowIndex]; + opts = row.querySelector('.frm_logic_field_opts'); + if (opts.value != fieldId) { + continue; + } + logicId = row.id.split('_')[2]; + valueSelect = row.querySelector('select[name="field_options[hide_opt_' + logicId + '][]"]'); + for (optionIndex = optionLength - 1; optionIndex >= 0; optionIndex--) { + var _document$getElementB3; + expectedOption = fieldOptions[optionIndex]; + var expectedOptionValue = (_document$getElementB3 = document.getElementById('frm_field_' + fieldId + '_opts').querySelector('.frm_option_key input[type="text"]')) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.value; + if (!expectedOptionValue) { + expectedOptionValue = expectedOption; + } + optionMatch = valueSelect.querySelector('option[value="' + expectedOptionValue + '"]'); + var _getNewConditionalLog = getNewConditionalLogicOption(fieldId, expectedOption), + newValue = _getNewConditionalLog.newValue, + newLabel = _getNewConditionalLog.newLabel; + var fieldChoices = document.querySelectorAll('#frm_field_' + fieldId + '_opts input[data-value-on-focus]'); + var expectedChoiceEl = Array.from(fieldChoices).find(function (element) { + return element.value === expectedOption; + }); + if (expectedChoiceEl) { + var oldValue = expectedChoiceEl.dataset.valueOnFocus; + var hasMatch = oldValue && valueSelect.querySelector('option[value="' + oldValue + '"]'); + if (hasMatch) { + continue; + } + } + prependValueSelectWithOptionMatch(valueSelect, optionMatch, newValue, newLabel); + } + optionMatch = valueSelect.querySelector('option[value=""]'); + if (optionMatch !== null) { + valueSelect.prepend(optionMatch); + } + } + } + function prependValueSelectWithOptionMatch(valueSelect, optionMatch, newValue, newLabel) { + if (optionMatch === null && !valueSelect.querySelector('option[value="' + newValue + '"]')) { + optionMatch = frmDom.tag('option', { + text: newLabel + }); + optionMatch.value = newValue; + } + valueSelect.prepend(optionMatch); + } + function getFieldOptions(fieldId) { + var index, + input, + li, + listItems, + optsContainer, + length, + options = []; + optsContainer = document.getElementById('frm_field_' + fieldId + '_opts'); + if (!optsContainer) { + return options; + } + listItems = optsContainer.querySelectorAll('.frm_single_option'); + length = listItems.length; + for (index = 0; index < length; index++) { + li = listItems[index]; + if (li.classList.contains('frm_hidden')) { + continue; + } + input = li.querySelector('.field_' + fieldId + '_option'); + options.push(input.value); + } + return options; + } + function addRadioCheckboxOpt(type, opt, fieldId, fieldKey, isProduct, classes) { + var other, + single = '', + isOther = opt.key.indexOf('other') !== -1, + id = 'field_' + fieldKey + '-' + opt.key, + inputType = type === 'scale' ? 'radio' : type; + other = ''; + this.getSingle = function () { + /** + * Get single option template. + * + * @param {Object} option Object containing the option data. + * @param {string} type The field type. + * @param {string} fieldId The field id. + * @param {string} classes The option clasnames. + * @param {string} id The input id attribute. + */ + single = wp.hooks.applyFilters('frm_admin.build_single_option_template', single, { + opt: opt, + type: type, + fieldId: fieldId, + classes: classes, + id: id + }); + if ('' !== single) { + return single; + } + return '
                                                                                      ' + (isOther ? other : '') + '
                                                                                      '; + }; + return this.getSingle(); + } + function fillDropdownOpts(field, atts) { + if (field === null) { + return; + } + var sourceID = atts.sourceID, + placeholder = atts.placeholder, + isProduct = isProductField(sourceID), + showOther = atts.other; + removeDropdownOpts(field); + var opts = getMultipleOpts(sourceID, field.id.includes('frm_field_logic_opt')); + var hasPlaceholder = typeof placeholder !== 'undefined'; + for (var _i11 = 0; _i11 < opts.length; _i11++) { + var label = opts[_i11].label, + isOther = opts[_i11].key.indexOf('other') !== -1; + if (hasPlaceholder && label !== '') { + addBlankSelectOption(field, placeholder); + } else if (hasPlaceholder) { + label = placeholder; + } + hasPlaceholder = false; + if (!isOther || showOther) { + var opt = document.createElement('option'); + opt.value = opts[_i11].saved; + opt.innerHTML = purifyHtml(label); + if (isProduct) { + opt.setAttribute('data-price', opts[_i11].price); + } + field.appendChild(opt); + } + } + } + function addBlankSelectOption(field, placeholder) { + var opt = document.createElement('option'), + firstChild = field.firstChild; + opt.value = ''; + opt.innerHTML = placeholder; + if (firstChild !== null) { + field.insertBefore(opt, firstChild); + field.selectedIndex = 0; + } else { + field.appendChild(opt); + } + } + + /** + * Get multiple options for a field. + * + * @param {string} fieldId The field id. + * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels. + */ + function getMultipleOpts(fieldId) { + var showValueAsLabel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var i, + saved, + labelName, + label, + key, + optObj, + fieldType, + checked = false, + opts = [], + imageUrl = ''; + var optVals = jQuery('input[name^="field_options[options_' + fieldId + ']"]').filter('[name$="[label]"], [name*="[other_"]'); + var isProduct = isProductField(fieldId); + var showLabelWithImage = showingLabelWithImage(fieldId); + var hasImageOptions = imagesAsOptions(fieldId); + var separateValues = usingSeparateValues(fieldId); + for (i = 0; i < optVals.length; i++) { + if (optVals[i].name.indexOf('[000]') > 0) { + continue; + } + saved = optVals[i].value; + label = saved; + key = optVals[i].name.replace('field_options[options_' + fieldId + '][', '').replace('[label]', '').replace(']', ''); + if (separateValues) { + labelName = optVals[i].name.replace('[label]', '[value]'); + saved = jQuery('input[name="' + labelName + '"]').val(); + if (showValueAsLabel && '' === label) { + label = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase + } + } + if (hasImageOptions) { + imageUrl = getImageUrlFromInput(optVals[i]); + fieldType = radioOrCheckbox(fieldId); + label = getImageLabel(label, showLabelWithImage, imageUrl, fieldType); + } + + /** + * @since 5.0.04 + */ + label = frmAdminBuild.hooks.applyFilters('frm_choice_field_label', label, fieldId, optVals[i], hasImageOptions); + checked = getChecked(optVals[i].id); + optObj = { + saved: saved, + label: label, + checked: checked, + key: key + }; + if (isProduct) { + labelName = optVals[i].name.replace('[label]', '[price]'); + optObj.price = jQuery('input[name="' + labelName + '"]').val(); + } + opts.push(optObj); + } + return opts; + } + function radioOrCheckbox(fieldId) { + var settings = document.getElementById('frm-single-settings-' + fieldId); + if (settings === null) { + return 'radio'; + } + return settings.classList.contains('frm-type-checkbox') ? 'checkbox' : 'radio'; + } + function getImageUrlFromInput(optVal) { + var img, + wrapper = jQuery(optVal).siblings('.frm_image_preview_wrapper'); + if (!wrapper.length) { + return ''; + } + img = wrapper.find('img'); + if (!img.length) { + return ''; + } + return img.attr('src'); + } + function purifyHtml(html) { + if (html instanceof Element || html instanceof Document) { + html = html.outerHTML; + } + var clean = jQuery.parseHTML(html).reduce(function (total, currentNode) { + var cleanNode = frmDom.cleanNode(currentNode); + if ('#text' === cleanNode.nodeName) { + return total += cleanNode.textContent; + } + return total + cleanNode.outerHTML; + }, ''); + if (clean !== html) { + // Clean it until nothing changes, in case the stripped result is now unsafe. + return purifyHtml(clean); + } + return clean; + } + function getImageLabel(label, showLabelWithImage, imageUrl, fieldType) { + var imageLabelClass, + originalLabel = label, + shape = fieldType === 'checkbox' ? 'square' : 'circle', + labelImage, + labelNode, + imageLabel; + originalLabel = purifyHtml(originalLabel); + if (imageUrl) { + labelImage = img({ + src: imageUrl, + alt: originalLabel + }); + } else { + labelImage = div({ + className: 'frm_empty_url' + }); + labelImage.innerHTML = frmAdminJs.image_placeholder_icon; + } + imageLabelClass = showLabelWithImage ? ' frm_label_with_image' : ''; + imageLabel = tag('span', { + className: 'frm_text_label_for_image_inner' + }); + imageLabel.innerHTML = originalLabel; + labelNode = tag('span', { + className: 'frm_image_option_container' + imageLabelClass, + children: [labelImage, tag('span', { + className: 'frm_text_label_for_image', + child: imageLabel + })] + }); + return labelNode; + } + function getChecked(id) { + field = jQuery('#' + id); + if (field.length === 0) { + return false; + } + checkbox = field.siblings('input[type=checkbox]'); + return checkbox.length && checkbox.prop('checked'); + } + function removeDropdownOpts(field) { + var i; + if (typeof field.options === 'undefined') { + return; + } + for (i = field.options.length - 1; i >= 0; i--) { + field.remove(i); + } + } + + /** + * Is the box checked to use separate values? + */ + function usingSeparateValues(fieldId) { + return isChecked('separate_value_' + fieldId); + } + + /** + * Is the box checked to use images as options? + */ + function imagesAsOptions(fieldId) { + var checked = false, + field = document.getElementsByName('field_options[image_options_' + fieldId + ']'); + for (var _i12 = 0; _i12 < field.length; _i12++) { + if (field[_i12].checked) { + checked = '0' !== field[_i12].value; + } + } + + /** + * @since 5.0.04 + */ + return frmAdminBuild.hooks.applyFilters('frm_choice_field_images_as_options', checked, fieldId); + } + function showingLabelWithImage(fieldId) { + var isShowing = !isChecked('hide_image_text_' + fieldId); + + /** + * @since 5.0.04 + */ + return frmAdminBuild.hooks.applyFilters('frm_choice_field_showing_label_with_image', isShowing, fieldId); + } + function isChecked(id) { + var field = document.getElementById(id); + if (field === null) { + return false; + } + return field.checked; + } + function checkUniqueOpt(targetInput) { + var settingsContainer = targetInput.closest('.frm-single-settings'); + var fieldId = settingsContainer.getAttribute('data-fid'); + var areValuesSeparate = settingsContainer.querySelector('[name="field_options[separate_value_' + fieldId + ']"]').checked; + if (areValuesSeparate && !targetInput.name.endsWith('[value]')) { + return; + } + var container = document.getElementById('frm_field_' + fieldId + '_opts'); + var conflicts = Array.from(container.querySelectorAll('input[type="text"]')).filter(function (input) { + return input.id !== targetInput.id && areValuesSeparate === input.name.endsWith('[value]') && input.value === targetInput.value; + }); + if (conflicts.length) { + /* translators: %s: The detected option value. */ + infoModal(sprintf(__('Duplicate option value "%s" detected', 'formidable'), purifyHtml(targetInput.value))); + } + } + function getFieldValues() { + /*jshint validthis:true */ + var isTaxonomy, + val = this.value; + if (val) { + var parentIDs = this.parentNode.id.replace('frm_logic_', '').split('_'); + var fieldID = parentIDs[0]; + var metaKey = parentIDs[1]; + var valueField = document.getElementById('frm_field_id_' + val); + var valueFieldType = valueField.getAttribute('data-ftype'); + var fill = document.getElementById('frm_show_selected_values_' + fieldID + '_' + metaKey); + var optionName = 'field_options[hide_opt_' + fieldID + '][]'; + var optionID = 'frm_field_logic_opt_' + fieldID; + var input = false; + var showSelect = valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio'; + var showText = valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number'; + if (showSelect) { + isTaxonomy = document.getElementById('frm_has_hidden_options_' + val); + if (isTaxonomy !== null) { + // get the category options with ajax + showSelect = false; + } + } + if (showSelect || showText) { + var comparison = document.querySelector("#frm_logic_".concat(fieldID, "_").concat(metaKey, " [name=\"field_options[hide_field_cond_").concat(fieldID, "][]\"]")).value; + fill.innerHTML = ''; + var creatingValuesDropdown = showSelect && !['LIKE', 'not LIKE', 'LIKE%', '%LIKE'].includes(comparison); + if (creatingValuesDropdown) { + input = document.createElement('select'); + } else { + input = document.createElement('input'); + input.type = 'text'; + } + input.name = optionName; + input.id = optionID + '_' + metaKey; + fill.appendChild(input); + if (creatingValuesDropdown) { + var fillField = document.getElementById(input.id); + fillDropdownOpts(fillField, { + sourceID: val, + placeholder: '', + other: true + }); + } + } else { + var thisType = this.getAttribute('data-type'); + var callback = function callback() { + var event = new CustomEvent('frm_logic_options_loaded'); + event.frmData = { + valueFieldType: valueFieldType, + fieldID: fieldID, + metaKey: metaKey + }; + document.dispatchEvent(event); + }; + frmGetFieldValues(val, fieldID, metaKey, thisType, undefined, callback); + } + } + } + function getFieldSelection() { + /*jshint validthis:true */ + var formId = this.value; + if (formId) { + var fieldId = jQuery(this).closest('.frm-single-settings').data('fid'); + getTaxOrFieldSelection(formId, fieldId); + } + } + function getTaxOrFieldSelection(formId, fieldId) { + if (formId) { + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_get_field_selection', + field_id: fieldId, + form_id: formId, + nonce: frmGlobal.nonce + }, + success: function success(msg) { + var $selectedFields = jQuery('#frm_show_selected_fields_' + fieldId); + $selectedFields.toggleClass('frm6', !msg.includes('frm-inline-message')); + $selectedFields.html(msg).show(); + } + }); + } + } + function updateFieldOrder() { + var self = this; + this.initOnceInAllInstances = function () { + if ('undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject) { + return; + } + + // It will store the order input fields ( input[name="field_options[field_order_{fieldId}]"] ). + // It will help to reduce the DOM searches based on fieldId. + // The same object data is used across all "updateFieldOrder" instances. + updateFieldOrder.prototype.orderFieldsObject = {}; + + // Get the Form group that will handle the fields settings. + // Perform a single DOM search and use it across all "updateFieldOrder" instances. + updateFieldOrder.prototype.fieldSettingsForm = document.getElementById('frm-end-form-marker').closest('form'); + }; + this.getFieldOrderInputById = function (fieldId, parent) { + var field; + var orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject; + var fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm; + if ('undefined' === typeof orderFieldsObject[fieldId]) { + field = fieldSettingsForm.querySelector('input[name="field_options[field_order_' + fieldId + ']"]'); + if (null === field) { + field = parent.querySelector('input[name="field_options[field_order_' + fieldId + ']"]'); + } + orderFieldsObject[fieldId] = field; + return field; + } + return orderFieldsObject[fieldId]; + }; + this.initOnceInAllInstances(); + renumberPageBreaks(); + return function () { + var fieldId, + field, + currentOrder, + newOrder, + moveFieldsClass = new moveFieldSettings(), + fields = jQuery('li.frm_field_box', jQuery('#frm-show-fields')); + for (i = 0; i < fields.length; i++) { + fieldId = fields[i].getAttribute('data-fid'); + field = self.getFieldOrderInputById(fieldId, fields[i]); + + // get current field order, make sure we don't get the "field" reference as the "field" value will get updated later. + currentOrder = null !== field ? Object.assign({}, field.value)[0] : null; + newOrder = i + 1; + if (currentOrder != newOrder && null !== currentOrder) { + field.value = newOrder; + singleField = fields[i].querySelector('#frm-single-settings-' + fieldId); + + // add field that needs to be moved to "updateFieldOrder.prototype.fieldSettingsForm" + moveFieldsClass.append(singleField); + fieldUpdated(); + } + } + // move all appended fields + moveFieldsClass.moveFields(); + }(); + } + function toggleSectionHolder() { + document.querySelectorAll('.start_divider').forEach(function (divider) { + toggleOneSectionHolder(jQuery(divider)); + }); + } + function toggleOneSectionHolder($section) { + var noSectionFields, $rows, length, index, sectionHasFields; + if (!$section.length) { + return; + } + $rows = $section.find('ul.frm_sorting'); + sectionHasFields = false; + length = $rows.length; + for (index = 0; index < length; ++index) { + if (0 !== getFieldsInRow(jQuery($rows.get(index))).length) { + sectionHasFields = true; + break; + } + } + noSectionFields = $section.parent().children('.frm_no_section_fields').get(0); + noSectionFields.classList.toggle('frm_block', !sectionHasFields); + } + function handleShowPasswordLiveUpdate() { + frmDom.util.documentOn('change', '.frm_show_password_setting_input', function (event) { + var fieldId = event.target.getAttribute('data-fid'); + var fieldEl = document.getElementById('frm_field_id_' + fieldId); + if (!fieldEl) { + return; + } + fieldEl.classList.toggle('frm_disabled_show_password', !event.target.checked); + }); + } + function slideDown() { + /*jshint validthis:true */ + var id = jQuery(this).data('slidedown'); + var $thisId = jQuery(document.getElementById(id)); + if ($thisId.is(':hidden')) { + $thisId.slideDown('fast'); + this.style.display = 'none'; + } + return false; + } + function slideUp() { + /*jshint validthis:true */ + var id = jQuery(this).data('slideup'); + var $thisId = jQuery(document.getElementById(id)); + $thisId.slideUp('fast'); + $thisId.siblings('a').show(); + return false; + } + function adjustVisibilityValuesForEveryoneValues(element, option) { + if ('' === option.getAttribute('value')) { + onEveryoneOptionSelected(jQuery(this)); + } else { + unselectEveryoneOptionIfSelected(jQuery(this)); + } + } + function onEveryoneOptionSelected($select) { + $select.val(''); + $select.next('.btn-group').find('.multiselect-container input[value!=""]').prop('checked', false); + } + function unselectEveryoneOptionIfSelected($select) { + var selectedValues = $select.val(), + index; + if (selectedValues === null) { + $select.next('.btn-group').find('.multiselect-container input[value=""]').prop('checked', true); + onEveryoneOptionSelected($select); + return; + } + index = selectedValues.indexOf(''); + if (index >= 0) { + selectedValues.splice(index, 1); + $select.val(selectedValues); + $select.next('.btn-group').find('.multiselect-container input[value=""]').prop('checked', false); + } + } + + /** + * Get rid of empty container that inserts extra space. + */ + function hideEmptyEle() { + jQuery('.frm-hide-empty').each(function () { + if (jQuery(this).text().trim().length === 0) { + jQuery(this).remove(); + } + }); + } + + /* Change the classes in the builder */ + function changeFieldClass(field, setting) { + var classes, + replace, + alignField, + replaceWith = ' ' + setting.value, + fieldId = field.getAttribute('data-fid'); + + // Include classes from multiple settings. + if (typeof fieldId !== 'undefined') { + if (setting.classList.contains('field_options_align')) { + replaceWith += ' ' + document.getElementById('frm_classes_' + fieldId).value; + } else if (setting.classList.contains('frm_classes')) { + alignField = document.getElementById('field_options_align_' + fieldId); + if (alignField !== null) { + replaceWith += ' ' + alignField.value; + } + } + } + replaceWith += ' '; + + // Allow for the column number dropdown. + replaceWith = replaceWith.replace(' block ', ' vertical_radio ').replace(' inline ', ' horizontal_radio '); + classes = field.className.split(' frmstart ')[1]; + classes = 0 === classes.indexOf('frmend ') ? '' : classes.split(' frmend ')[0]; + if (classes.trim() === '') { + replace = ' frmstart frmend '; + if (-1 === field.className.indexOf(replace)) { + replace = ' frmstart frmend '; + } + replaceWith = ' frmstart ' + replaceWith.trim() + ' frmend '; + } else { + replace = classes.trim(); + replaceWith = replaceWith.trim(); + } + field.className = field.className.replace(replace, replaceWith); + } + function maybeShowInlineModal(e) { + /*jshint validthis:true */ + e.preventDefault(); + showInlineModal(this, undefined, e); + } + function showInlineModal(icon, input, event) { + var box = document.getElementById(icon.getAttribute('data-open')), + container = jQuery(icon).closest('p,ul'), + inputTrigger = typeof input !== 'undefined'; + if (container.hasClass('frm-open')) { + container.removeClass('frm-open'); + box.classList.add('frm_hidden'); + } else { + if (!inputTrigger) { + input = getInputForIcon(icon); + } + if (input !== null) { + if (!inputTrigger) { + var key = event.key; + if (key !== 'Enter' && key !== ' ') { + input.focus(); + } + } + container.after(box); + box.setAttribute('data-fills', input.id.replace('-proxy-input', '')); + if (box.id.indexOf('frm-calc-box') === 0) { + popCalcFields(box, true); + } + } + container.addClass('frm-open'); + box.classList.remove('frm_hidden'); + + /** + * @since 6.4.1 + */ + wp.hooks.doAction('frm_show_inline_modal', box, icon); + } + } + function dismissInlineModal(e) { + /*jshint validthis:true */ + e.preventDefault(); + this.parentNode.classList.add('frm_hidden'); + jQuery('.frm-open [data-open="' + this.parentNode.id + '"]').closest('.frm-open').removeClass('frm-open'); + } + + /** + * Close frm-modal-no-dismiss element when clicking outside of it + * + * @param {Event} event The click event + */ + function closeModalOnOutsideClick(_ref3) { + var target = _ref3.target; + if (target.closest('.frm-inline-modal.frm-modal-no-dismiss') || target.closest('.frm-show-inline-modal') || target.closest('#frm_adv_info') || target.closest('.frm-token-proxy-input')) { + return; + } + + // Close all inline modals (without close button) that are not hidden + document.querySelectorAll('.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)').forEach(function (modal) { + modal.classList.add('frm_hidden'); + modal.previousElementSibling.classList.remove('frm-open'); + }); + } + function changeInputtedValue() { + /*jshint validthis:true */ + var i, + action = this.getAttribute('data-frmchange').split(','); + for (i = 0; i < action.length; i++) { + if (action[i] === 'updateOption') { + changeHiddenSeparateValue(this); + } else if (action[i] === 'updateDefault') { + changeDefaultRadioValue(this); + } else if (action[i] === 'checkUniqueOpt') { + checkUniqueOpt(this); + } else { + this.value = this.value[action[i]](); + } + } + } + + /** + * When the saved value is changed, update the default value radio. + */ + function changeDefaultRadioValue(input) { + var parentLi = getOptionParent(input), + key = parentLi.getAttribute('data-optkey'), + fieldId = getOptionFieldId(parentLi, key), + defaultRadio = parentLi.querySelector('input[name="default_value_' + fieldId + '"]'); + if (defaultRadio !== null) { + defaultRadio.value = input.value; + } + } + + /** + * If separate values are not enabled, change the saved value when + * the displayed value is changed. + */ + function changeHiddenSeparateValue(input) { + var savedVal, + parentLi = getOptionParent(input), + key = parentLi.getAttribute('data-optkey'), + fieldId = getOptionFieldId(parentLi, key), + sep = document.getElementById('separate_value_' + fieldId); + if (sep !== null && sep.checked === false) { + // If separate values are not turned on. + savedVal = document.getElementById('field_key_' + fieldId + '-' + key); + savedVal.value = input.value; + changeDefaultRadioValue(savedVal); + } + } + function getOptionParent(input) { + var parentLi = input.parentNode; + if (parentLi.tagName !== 'LI') { + parentLi = parentLi.parentNode; + } + return parentLi; + } + function getOptionFieldId(li, key) { + var liId = li.id; + return liId.replace('frm_delete_field_', '').replace('-' + key + '_container', ''); + } + function submitBuild() { + /*jshint validthis:true */ + var $thisEle = this; + if (showNameYourFormModal()) { + return; + } + preFormSave(this); + var $form = jQuery(builderForm); + var v = JSON.stringify($form.serializeArray()); + jQuery(document.getElementById('frm_compact_fields')).val(v); + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_save_form', + frm_compact_fields: v, + nonce: frmGlobal.nonce + }, + success: function success(msg) { + afterFormSave($thisEle); + var $postStuff = document.getElementById('post-body-content'); + var $html = document.createElement('div'); + $html.setAttribute('class', 'frm_updated_message'); + $html.innerHTML = msg; + $postStuff.insertBefore($html, $postStuff.firstChild); + reloadIfAddonActivatedAjaxSubmitOnly(); + }, + error: function error() { + triggerSubmit(document.getElementById('frm_js_build_form')); + } + }); + } + function triggerSubmit(form) { + var button = form.ownerDocument.createElement('input'); + button.style.display = 'none'; + button.type = 'submit'; + form.appendChild(button).click(); + form.removeChild(button); + } + function triggerChange(element) { + jQuery(element).trigger('change'); + } + function submitNoAjax() { + /*jshint validthis:true */ + var form; + if (showNameYourFormModal()) { + return; + } + preFormSave(this); + form = jQuery(builderForm); + jQuery(document.getElementById('frm_compact_fields')).val(JSON.stringify(form.serializeArray())); + triggerSubmit(document.getElementById('frm_js_build_form')); + } + + /** + * Display a modal dialog for naming a new form template, if applicable. + * + * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise. + */ + function showNameYourFormModal() { + // Exit early if the 'new_template' URL parameter is not set to 'true' + if (!shouldShowNameYourFormNameModal()) { + return false; + } + var modalWidget = initModal('#frm-form-templates-modal', '440px'); + if (!modalWidget) { + return false; + } + + // Set the vertical offset for the modal and open it + offsetModalY(modalWidget, '72px'); + modalWidget.dialog('open'); + return true; + } + + /** + * Returns true if 'Name Your Form' modal should be displayed. + * + * @return {Boolean} + */ + function shouldShowNameYourFormNameModal() { + var _document$querySelect3; + var formNameInput = document.getElementById('frm_form_name'); + if (formNameInput && formNameInput.value.trim() !== '') { + return false; + } + return 'true' === urlParams.get('new_template') && ((_document$querySelect3 = document.querySelector('#frm_top_bar #frm_bs_dropdown .frm_bstooltip')) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.textContent.trim()) === frm_admin_js.noTitleText; // eslint-disable-line camelcase + } + + /** + * Manages event handling for the 'Name your form' modal. + * + * Attaches click and keydown event listeners to the save button and input field. + * + * @return {void} + */ + function addFormNameModalEvents() { + var saveFormNameButton = document.getElementById('frm-save-form-name-button'); + var newFormNameInput = document.getElementById('frm_new_form_name_input'); + + // Attach click event listener + onClickPreventDefault(saveFormNameButton, onSaveFormNameButton); + + // Attach keydown event listener + newFormNameInput.addEventListener('keydown', function (event) { + if (event.key === 'Enter') { + onSaveFormNameButton.call(this, event); + } + }); + } + + /** + * Handles the click event on the save form name button. + * + * @param {Event} event The click event object. + * @return {void} + */ + var onSaveFormNameButton = function onSaveFormNameButton(event) { + var newFormName = document.getElementById('frm_new_form_name_input').value.trim(); + + // Prepare FormData for the POST request + var formData = new FormData(); + formData.append('form_id', urlParams.get('id')); + formData.append('form_name', newFormName); + + // Perform the POST request + doJsonPost('rename_form', formData).then(function (data) { + // Remove the 'new_template' parameter from the URL and update the browser history + urlParams.delete('new_template'); + currentURL.search = urlParams.toString(); + history.replaceState({}, '', currentURL.toString()); + if (null !== document.getElementById('frm_notification_settings')) { + document.getElementById('frm_form_name').value = newFormName; + document.getElementById('frm_form_key').value = data.form_key; + } + + // Trigger the 'Save' button click using jQuery + jQuery('#frm-publishing').find('.frm_button_submit').trigger('click'); + }); + }; + function preFormSave(b) { + removeWPUnload(); + if (jQuery('form.inplace_form').length) { + jQuery('.inplace_save, .postbox').trigger('click'); + } + if (b.classList.contains('frm_button_submit')) { + b.classList.add('frm_loading_form'); + } else { + b.classList.add('frm_loading_button'); + } + b.setAttribute('aria-busy', 'true'); + adjustFormatInputBeforeSave(); + } + + /** + * Updates the format input based on the selected format type from dropdowns during the form save process. + * + * @since 6.9 + * + * @return {void} + */ + function adjustFormatInputBeforeSave() { + var formatTypes = document.querySelectorAll('.frm_format_dropdown, .frm_phone_type_dropdown'); + var valueMap = { + none: '', + international: 'international', + currency: 'currency', + number: 'number' + }; + formatTypes.forEach(function (formatType) { + var value = formatType.value; + if (value in valueMap) { + var formatInput = document.getElementById("frm_format_".concat(formatType.dataset.fieldId)); + formatInput.value = valueMap[value]; + } + }); + } + function afterFormSave(button) { + button.classList.remove('frm_loading_form'); + button.classList.remove('frm_loading_button'); + resetOptionTextDetails(); + fieldsUpdated = 0; + button.setAttribute('aria-busy', 'false'); + setTimeout(function () { + jQuery('.frm_updated_message').fadeOut('slow', function () { + this.parentNode.removeChild(this); + }); + }, 5000); + } + function initUpgradeModal() { + var upgradePopup = __webpack_require__(/*! ./upgrade-popup */ "./js/src/admin/upgrade-popup.js"); + upgradePopup.initUpgradeModal(); + } + function addOneClick(element, type, upgradeLabel) { + var upgradePopup = __webpack_require__(/*! ./upgrade-popup */ "./js/src/admin/upgrade-popup.js"); + upgradePopup.addOneClick(element, type, upgradeLabel); + } + + /** + * Opens a basic modal with the given title and content. + * + * @param {Event} event The event object. + * @return {void} + */ + function showBasicModal(event) { + var _event$target$dataset; + var button = (_event$target$dataset = event.target.dataset) !== null && _event$target$dataset !== void 0 && _event$target$dataset.modalTitle ? event.target : event.target.closest('[data-modal-title]'); + if (!button) { + return; + } + var _button$dataset = button.dataset, + modalTitle = _button$dataset.modalTitle, + modalContent = _button$dataset.modalContent; + if (!modalTitle || !modalContent) { + return; + } + event.preventDefault(); + frmDom.modal.maybeCreateModal('frmBasicModal', { + title: modalTitle, + content: div({ + className: 'inside', + child: span(modalContent) + }) + }); + } + function getRequiredLicenseFromTrigger(element) { + if (element.dataset.requires) { + return element.dataset.requires; + } + return 'Pro'; + } + function populateUpgradeTab(element) { + var title = element.dataset.upgrade; + var tab = element.getAttribute('href').replace('#', ''); + var container = document.querySelector('.frm_' + tab) || document.querySelector('.' + tab); + if (!container) { + return; + } + if (container.querySelector('.frm-upgrade-message')) { + // Tab has already been populated. + return; + } + var h2 = container.querySelector('h2'); + h2.style.borderBottom = 'none'; + + /* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */ + h2.textContent = sprintf(__('%s are not installed', 'formidable'), title); + container.classList.add('frmcenter'); + var upgradeModal = document.getElementById('frm_upgrade_modal'); + appendClonedModalElementToContainer('frm-oneclick'); + appendClonedModalElementToContainer('frm-addon-status'); + + // Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions). + var upgradeModalLink = upgradeModal.querySelector('.frm-upgrade-link'); + if (upgradeModalLink) { + var upgradeButton; + var upgradeActions = upgradeModalLink.closest('.frm-upgrade-modal-actions'); + if (upgradeActions) { + upgradeActions = upgradeActions.cloneNode(true); + upgradeButton = upgradeActions.querySelector('.frm-upgrade-link'); + } else { + upgradeButton = upgradeModalLink.cloneNode(true); + } + var level = upgradeButton.querySelector('.license-level'); + if (level) { + level.textContent = getRequiredLicenseFromTrigger(element); + } + container.appendChild(upgradeActions || upgradeButton); + + // Maybe append the secondary "Already purchased?" link from the upgradeModal as well. + if (upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector('.frm-link-secondary')) { + container.appendChild(upgradeModalLink.nextElementSibling.cloneNode(true)); + } + appendClonedModalElementToContainer('frm-oneclick-button'); + } + appendClonedModalElementToContainer('frm-upgrade-message'); + var upgradeLabel = element.dataset.message; + if (upgradeLabel === undefined) { + upgradeLabel = element.dataset.upgrade; + } + addOneClick(element, 'tab', upgradeLabel); + if (element.dataset.screenshot) { + container.appendChild(getScreenshotWrapper(element.dataset.screenshot)); + } + function appendClonedModalElementToContainer(className) { + container.appendChild(upgradeModal.querySelector('.' + className).cloneNode(true)); + } + } + function getScreenshotWrapper(screenshot) { + var folderUrl = frmGlobal.url + '/images/screenshots/'; + var wrapper = div({ + className: 'frm-settings-screenshot-wrapper', + children: [getToolbar(), div({ + child: img({ + src: folderUrl + screenshot + }) + })] + }); + function getToolbar() { + var children = getColorIcons(); + children.push(img({ + src: frmGlobal.url + '/images/tab.svg' + })); + return div({ + className: 'frm-settings-screenshot-toolbar', + children: children + }); + } + function getColorIcons() { + return ['#ED8181', '#EDE06A', '#80BE30'].map(function (color) { + var circle = div({ + className: 'frm-minmax-icon' + }); + circle.style.backgroundColor = color; + return circle; + }); + } + return wrapper; + } + + /* Form settings */ + + function showInputIcon(parentClass) { + if (typeof parentClass === 'undefined') { + parentClass = ''; + } + maybeAddFieldSelection(parentClass); + jQuery(parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea').wrap('').before(''); + } + + /** + * For reverse compatibility. Check for fields that were + * using the old sidebar. + */ + function maybeAddFieldSelection(parentClass) { + var i, + missingClass = jQuery(parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject'); + for (i = 0; i < missingClass.length; i++) { + missingClass[i].parentNode.classList.add('frm_has_shortcodes'); + } + } + function showSuccessOpt() { + /*jshint validthis:true */ + var c = 'success'; + if (this.name === 'options[edit_action]') { + c = 'edit'; + } + var v = jQuery(this).val(); + jQuery('.' + c + '_action_box').hide(); + if (v === 'redirect') { + jQuery('.' + c + '_action_redirect_box.' + c + '_action_box').fadeIn('slow'); + } else if (v === 'page') { + jQuery('.' + c + '_action_page_box.' + c + '_action_box').fadeIn('slow'); + } else { + jQuery('.' + c + '_action_message_box.' + c + '_action_box').fadeIn('slow'); + } + } + function copyFormAction(event) { + if (waitForActionToLoadBeforeCopy(event.target)) { + return; + } + var targetSettings = event.target.closest('.frm_form_action_settings'); + var wysiwygs = targetSettings.querySelectorAll('.wp-editor-area'); + if (wysiwygs.length) { + // Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts. + wysiwygs.forEach(function (wysiwyg) { + tinymce.EditorManager.execCommand('mceRemoveEditor', true, wysiwyg.id); + }); + } + var $action = jQuery(targetSettings).clone(); + var currentID = $action.attr('id').replace('frm_form_action_', ''); + var newID = newActionId(currentID); + $action.find('.frm_action_id, .frm-btn-group').remove(); + $action.find('input[name$="[' + currentID + '][ID]"]').val(''); + $action.find('.widget-inside').hide(); + + // the .html() gets original values, so they need to be set + $action.find('input[type=text], textarea, input[type=number]').prop('defaultValue', function () { + return this.value; + }); + $action.find('input[type=checkbox], input[type=radio]').prop('defaultChecked', function () { + return this.checked; + }); + var rename = new RegExp('\\[' + currentID + '\\]', 'g'); + var reid = new RegExp('_' + currentID + '"', 'g'); + var reclass = new RegExp('-' + currentID + '"', 'g'); + var revalue = new RegExp('"' + currentID + '"', 'g'); // if a field id matches, this could cause trouble + + var html = $action.html().replace(rename, '[' + newID + ']').replace(reid, '_' + newID + '"'); + html = html.replace(reclass, '-' + newID + '"').replace(revalue, '"' + newID + '"'); + var newAction = div({ + id: 'frm_form_action_' + newID, + className: $action.get(0).className + }); + newAction.setAttribute('data-actionkey', newID); + newAction.innerHTML = html; + newAction.querySelectorAll('.wp-editor-wrap, .wp-editor-wrap *').forEach(function (element) { + if ('string' === typeof element.className) { + element.className = element.className.replace(currentID, newID); + } + element.id = element.id.replace(currentID, newID); + }); + newAction.classList.remove('open'); + document.getElementById('frm_notification_settings').appendChild(newAction); + if (wysiwygs.length) { + // Re-initialize the original wysiwyg which was removed before cloning. + wysiwygs.forEach(function (wysiwyg) { + frmDom.wysiwyg.init(wysiwyg); + }); + newAction.querySelectorAll('.wp-editor-area').forEach(function (wysiwyg) { + frmDom.wysiwyg.init(wysiwyg); + }); + } + if (newAction.classList.contains('frm_single_on_submit_settings')) { + var autocompleteInput = newAction.querySelector('input.frm-page-search'); + if (autocompleteInput) { + initAutocomplete(newAction); + } + } + initiateMultiselect(); + var hookName = 'frm_after_duplicate_action'; + wp.hooks.doAction(hookName, newAction); + } + function waitForActionToLoadBeforeCopy(element) { + var $trigger = jQuery(element), + $original = $trigger.closest('.frm_form_action_settings'), + $inside = $original.find('.widget-inside'), + $top; + if ($inside.find('p, div, table').length) { + return false; + } + $top = $original.find('.widget-top'); + $top.on('frm-action-loaded', function () { + $trigger.trigger('click'); + $original.removeClass('open'); + $inside.hide(); + }); + $top.trigger('click'); + return true; + } + function newActionId(currentID) { + var newID = parseInt(currentID, 10) + 11; + var exists = document.getElementById('frm_form_action_' + newID); + if (exists !== null) { + newID++; + newID = newActionId(newID); + } + return newID; + } + function addFormAction() { + /*jshint validthis:true */ + var type = jQuery(this).data('actiontype'); + if (isAtLimitForActionType(type)) { + return; + } + var actionId = getNewActionId(); + var formId = thisFormId; + var placeholderSetting = document.createElement('div'); + placeholderSetting.classList.add('frm_single_' + type + '_settings'); + var actionsList = document.getElementById('frm_notification_settings'); + actionsList.appendChild(placeholderSetting); + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_add_form_action', + type: type, + list_id: actionId, + form_id: formId, + nonce: frmGlobal.nonce + }, + success: handleAddFormActionSuccess + }); + function handleAddFormActionSuccess(html) { + fieldUpdated(); + placeholderSetting.remove(); + closeOpenActions(); + var newActionContainer = div(); + newActionContainer.innerHTML = html; + var widgetTop = newActionContainer.querySelector('.widget-top'); + Array.from(newActionContainer.children).forEach(function (child) { + return actionsList.appendChild(child); + }); + jQuery('.frm_form_action_settings').fadeIn('slow'); + var newAction = document.getElementById('frm_form_action_' + actionId); + newAction.classList.add('open'); + document.getElementById('post-body-content').scroll({ + top: newAction.offsetTop + 10, + left: 0, + behavior: 'smooth' + }); + + // Check if icon should be active + checkActiveAction(type); + showInputIcon('#frm_form_action_' + actionId); + initiateMultiselect(); + initAutocomplete(newAction); + if (widgetTop) { + jQuery(widgetTop).trigger('frm-action-loaded'); + } + + /** + * Fires after added a new form action. + * + * @since 5.5.4 + * + * @param {HTMLElement} formAction Form action element. + */ + frmAdminBuild.hooks.doAction('frm_added_form_action', newAction); + } + } + function closeOpenActions() { + document.querySelectorAll('.frm_form_action_settings.open').forEach(function (setting) { + return setting.classList.remove('open'); + }); + } + function toggleActionGroups() { + /*jshint validthis:true */ + var actions = document.getElementById('frm_email_addon_menu').classList, + search = document.getElementById('actions-search-input'); + if (actions.contains('frm-all-actions')) { + actions.remove('frm-all-actions'); + actions.add('frm-limited-actions'); + } else { + actions.add('frm-all-actions'); + actions.remove('frm-limited-actions'); + } + + // Reset search. + search.value = ''; + triggerEvent(search, 'input'); + } + function getNewActionId() { + var actionSettings = document.querySelectorAll('.frm_form_action_settings'), + len = getNewRowId(actionSettings, 'frm_form_action_'); + if (typeof document.getElementById('frm_form_action_' + len) !== 'undefined') { + len = len + 100; + } + if (lastNewActionIdReturned >= len) { + len = lastNewActionIdReturned + 1; + } + lastNewActionIdReturned = len; + return len; + } + function clickAction(obj) { + var $thisobj = jQuery(obj); + if (obj.className.indexOf('selected') !== -1) { + return; + } + if (obj.className.indexOf('edit_field_type_end_divider') !== -1 && $thisobj.closest('.edit_field_type_divider').hasClass('no_repeat_section')) { + return; + } + deselectFields(); + $thisobj.addClass('selected'); + showFieldOptions(obj); + } + + /** + * When a field is selected, show the field settings in the sidebar. + */ + function showFieldOptions(obj) { + var _document$querySelect4; + var i, + singleField, + fieldId = obj.getAttribute('data-fid'), + fieldType = obj.getAttribute('data-type'), + allFieldSettings = document.querySelectorAll('.frm-single-settings:not(.frm_hidden)'); + for (i = 0; i < allFieldSettings.length; i++) { + allFieldSettings[i].classList.add('frm_hidden'); + } + singleField = document.getElementById('frm-single-settings-' + fieldId); + moveFieldSettings(singleField); + if (fieldType && 'quantity' === fieldType) { + popProductFields(jQuery(singleField).find('.frmjs_prod_field_opt')[0]); + } + + // Scroll settings panel to top + (_document$querySelect4 = document.querySelector('.frm-settings-panel.frm-scrollbar-wrapper')) === null || _document$querySelect4 === void 0 || _document$querySelect4.scrollTo({ + top: 0, + behavior: 'instant' + }); + singleField.classList.remove('frm_hidden'); + document.getElementById('frm-options-panel-tab').click(); + var editor = singleField.querySelector('.wp-editor-area'); + if (editor) { + frmDom.wysiwyg.init(editor, { + setupCallback: setupTinyMceEventHandlers + }); + } + wp.hooks.doAction('frmShowedFieldSettings', obj, singleField); + maybeAddShortcodesModalTriggerIcon(fieldType, fieldId, singleField); + } + function maybeAddShortcodesModalTriggerIcon(fieldType, fieldId, singleField) { + var _singleField$querySel; + if (!shouldAddShortcodesModalTriggerIcon(fieldType)) { + return; + } + var fieldSettingsSelector = '#frm-single-settings-' + fieldId; + if (document.querySelector(fieldSettingsSelector + ' .frm-show-box')) { + return; + } + (_singleField$querySel = singleField.querySelector('.wp-editor-container')) === null || _singleField$querySel === void 0 || _singleField$querySel.classList.add('frm_has_shortcodes'); + var wrapTextareaWithIconContainer = function wrapTextareaWithIconContainer() { + var textareas = document.querySelectorAll(fieldSettingsSelector + ' .frm_has_shortcodes textarea'); + textareas.forEach(function (textarea) { + var wrapperSpan = span({ + className: 'frm-with-right-icon' + }); + textarea.parentNode.insertBefore(wrapperSpan, textarea); + wrapperSpan.appendChild(createModalTriggerIcon()); + wrapperSpan.appendChild(textarea); + }); + }; + var createModalTriggerIcon = function createModalTriggerIcon() { + return frmDom.svg({ + href: '#frm_more_horiz_solid_icon', + classList: ['frm-show-box'] + }); + }; + wrapTextareaWithIconContainer(); + } + function shouldAddShortcodesModalTriggerIcon(fieldType) { + var fieldsWithShortcodesBox = wp.hooks.applyFilters('frm_fields_with_shortcode_popup', ['html']); + return fieldsWithShortcodesBox.includes(fieldType); + } + function setupTinyMceEventHandlers(editor) { + editor.on('Change', function () { + handleTinyMceChange(editor); + }); + } + function handleTinyMceChange(editor) { + if (!isTinyMceActive() || tinyMCE.activeEditor.isHidden()) { + return; + } + editor.targetElm.value = editor.getContent(); + jQuery(editor.targetElm).trigger('change'); + } + function isTinyMceActive() { + var activeSettings, wrapper; + activeSettings = document.querySelector('.frm-single-settings:not(.frm_hidden)'); + if (!activeSettings) { + return false; + } + wrapper = activeSettings.querySelector('.wp-editor-wrap'); + return null !== wrapper && wrapper.classList.contains('tmce-active'); + } + + /** + * Move the settings to the sidebar the first time they are changed or selected. + * Keep the end marker at the end of the form. + */ + function moveFieldSettings(singleField) { + var self = this; + if (singleField === null) { + // The field may have not been loaded yet via ajax. + return; + } + this.fragment = document.createDocumentFragment(); + this.initOnceInAllInstances = function () { + if ('undefined' !== typeof moveFieldSettings.prototype.endMarker) { + return; + } + // perform a single search in the DOM and use it across all moveFieldSettings instances + moveFieldSettings.prototype.endMarker = document.getElementById('frm-end-form-marker'); + }; + this.append = function (field) { + var classname = null !== field ? field.parentElement.classList : ''; + if (null === field || !classname.contains('frm_field_box') && !classname.contains('divider_section_only')) { + return; + } + self.fragment.appendChild(field); + }; + this.moveFields = function () { + builderForm.insertBefore(self.fragment, moveFieldSettings.prototype.endMarker); + }; + this.initOnceInAllInstances(); + + // Move the field if function is called as function with a singleField passed as arg. + // In this particular case only 1 field is needed to be moved so the field will get instantly moved. + // "singleField" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through "append" and move these all at once via "moveFields". + if ('undefined' !== typeof singleField) { + this.append(singleField); + this.moveFields(); + return; + } + return { + append: this.append, + moveFields: this.moveFields + }; + } + function showEmailRow() { + /*jshint validthis:true */ + var actionKey = jQuery(this).closest('.frm_form_action_settings').data('actionkey'); + var rowType = this.getAttribute('data-emailrow'); + jQuery('#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row').fadeIn('slow'); + jQuery(this).fadeOut('slow'); + } + function hideEmailRow() { + /*jshint validthis:true */ + var actionBox = jQuery(this).closest('.frm_form_action_settings'), + rowType = this.getAttribute('data-emailrow'), + emailRowSelector = '.frm_' + rowType + '_row', + emailButtonSelector = '.frm_' + rowType + '_button'; + jQuery(actionBox).find(emailButtonSelector).fadeIn('slow'); + jQuery(actionBox).find(emailRowSelector).fadeOut('slow', function () { + jQuery(actionBox).find(emailRowSelector + ' input').val(''); + }); + } + function showEmailWarning() { + /*jshint validthis:true */ + var actionBox = jQuery(this).closest('.frm_form_action_settings'), + emailRowSelector = '.frm_from_to_match_row', + fromVal = actionBox.find('input[name$="[post_content][from]"]').val(), + toVal = actionBox.find('input[name$="[post_content][email_to]"]').val(); + if (fromVal === toVal) { + jQuery(actionBox).find(emailRowSelector).fadeIn('slow'); + } else { + jQuery(actionBox).find(emailRowSelector).fadeOut('slow'); + } + } + function checkActiveAction(type) { + var actionTriggers = document.querySelectorAll('.frm_' + type + '_action'); + if (isAtLimitForActionType(type)) { + var addAlreadyUsedClass = getLimitForActionType(type) > 0; + markActionTriggersInactive(actionTriggers, addAlreadyUsedClass); + return; + } + markActionTriggersActive(actionTriggers); + } + function markActionTriggersActive(triggers) { + triggers.forEach(function (trigger) { + if (trigger.querySelector('.frm_show_upgrade')) { + // Prevent disabled action becoming active. + return; + } + trigger.classList.remove('frm_inactive_action', 'frm_already_used'); + trigger.classList.add('frm_active_action'); + }); + } + function markActionTriggersInactive(triggers, addAlreadyUsedClass) { + triggers.forEach(function (trigger) { + trigger.classList.remove('frm_active_action'); + trigger.classList.add('frm_inactive_action'); + if (addAlreadyUsedClass) { + trigger.classList.add('frm_already_used'); + } + }); + } + function isAtLimitForActionType(type) { + var atLimit = getNumberOfActionsForType(type) >= getLimitForActionType(type); + var hookName = 'frm_action_at_limit'; + var hookArgs = { + type: type + }; + atLimit = wp.hooks.applyFilters(hookName, atLimit, hookArgs); + return atLimit; + } + function getLimitForActionType(type) { + return parseInt(jQuery('.frm_' + type + '_action').data('limit'), 10); + } + function getNumberOfActionsForType(type) { + return jQuery('.frm_single_' + type + '_settings').length; + } + function actionLimitMessage() { + var message = frmAdminJs.only_one_action; + var limit = this.dataset.limit; + if ('undefined' !== typeof limit) { + limit = parseInt(limit); + if (limit > 1) { + message = message.replace(1, limit).trim(); + } else { + message += ' ' + frmAdminJs.edit_action_text; + } + } + infoModal(message); + } + function addFormLogicRow() { + /*jshint validthis:true */ + var id = jQuery(this).data('emailkey'); + var type = jQuery(this).closest('.frm_form_action_settings').find('.frm_action_name').val(); + var formId = document.getElementById('form_id').value; + var logicRowsContainer = document.getElementById('frm_logic_row_' + id); + var logicRows = logicRowsContainer.querySelectorAll('.frm_logic_row'); + var newRowID = getNewRowId(logicRows, 'frm_logic_' + id + '_'); + var placeholder = div({ + id: 'frm_logic_' + id + '_' + newRowID, + className: 'frm_logic_row frm_hidden' + }); + logicRowsContainer.appendChild(placeholder); + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_add_form_logic_row', + email_id: id, + form_id: formId, + meta_name: newRowID, + type: type, + nonce: frmGlobal.nonce + }, + success: function success(html) { + jQuery(document.getElementById('logic_link_' + id)).fadeOut('slow', function () { + placeholder.insertAdjacentHTML('beforebegin', html); + placeholder.remove(); + + // Show conditional logic options after "Add Conditional Logic" is clicked. + jQuery(logicRowsContainer).parent('.frm_logic_rows').fadeIn('slow'); + }); + } + }); + return false; + } + function checkDupPost() { + /*jshint validthis:true */ + var postField = jQuery('select.frm_single_post_field'); + postField.css('border-color', ''); + var $t = this; + var v = jQuery($t).val(); + if (v === '' || v === 'checkbox') { + return false; + } + postField.each(function () { + if (jQuery(this).val() === v && this.name !== $t.name) { + this.style.borderColor = 'red'; + jQuery($t).val(''); + infoModal(frmAdminJs.field_already_used); + return false; + } + }); + } + function togglePostContent() { + /*jshint validthis:true */ + var v = jQuery(this).val(); + if ('' === v) { + jQuery('.frm_post_content_opt, select.frm_dyncontent_opt').hide().val(''); + jQuery('.frm_dyncontent_opt').hide(); + } else if ('post_content' === v) { + jQuery('.frm_post_content_opt').show(); + jQuery('.frm_dyncontent_opt').hide(); + jQuery('select.frm_dyncontent_opt').val(''); + } else { + jQuery('.frm_post_content_opt').hide().val(''); + jQuery('select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt').show(); + } + } + function fillDyncontent() { + /*jshint validthis:true */ + var v = jQuery(this).val(); + var $dyn = jQuery(document.getElementById('frm_dyncontent')); + if ('' === v || 'new' === v) { + $dyn.val(''); + jQuery('.frm_dyncontent_opt').show(); + } else { + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_display_get_content', + id: v, + nonce: frmGlobal.nonce + }, + success: function success(val) { + $dyn.val(val); + jQuery('.frm_dyncontent_opt').show(); + } + }); + } + } + function switchPostType() { + /*jshint validthis:true */ + // update all rows of categories/taxonomies + var curSelect, + newSelect, + catRows = document.getElementById('frm_posttax_rows').childNodes, + postParentField = document.querySelector('.frm_post_parent_field'), + postMenuOrderField = document.querySelector('.frm_post_menu_order_field'), + postType = this.value; + + // Get new category/taxonomy options + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_replace_posttax_options', + post_type: postType, + nonce: frmGlobal.nonce + }, + success: function success(html) { + // Loop through each category row, and replace the first dropdown + for (i = 0; i < catRows.length; i++) { + // Check if current element is a div + if (catRows[i].tagName !== 'DIV') { + continue; + } + + // Get current category select + curSelect = catRows[i].getElementsByTagName('select')[0]; + + // Set up new select + newSelect = document.createElement('select'); + newSelect.innerHTML = html; + newSelect.className = curSelect.className; + newSelect.name = curSelect.name; + + // Replace the old select with the new select + catRows[i].replaceChild(newSelect, curSelect); + } + } + }); + + // Get new post parent option. + if (postParentField) { + getActionOption(postParentField, postType, 'frm_get_post_parent_option', function (response, optName) { + // The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version. + postParentField.querySelector('.frm_post_parent_opt_wrapper').innerHTML = response.replaceAll('REPLACETHISNAME', optName); + initAutocomplete(postParentField); + }); + } + if (postMenuOrderField) { + getActionOption(postMenuOrderField, postType, 'frm_should_use_post_menu_order_option'); + } + } + function getActionOption(field, postType, action, successHandler) { + var opt = field.querySelector('.frm_autocomplete_value_input') || field.querySelector('select'), + optName = opt.getAttribute('name'); + jQuery.ajax({ + url: ajaxurl, + method: 'POST', + data: { + action: action, + post_type: postType, + _wpnonce: frmGlobal.nonce + }, + success: function success(response) { + if ('string' !== typeof response) { + console.error(response); + return; + } + if ('0' === response) { + // This post type does not support this field. + field.classList.add('frm_hidden'); + field.value = ''; + return; + } + field.classList.remove('frm_hidden'); + if ('function' === typeof successHandler) { + successHandler(response, optName); + } + }, + error: function error(response) { + return console.error(response); + } + }); + } + function addPosttaxRow() { + /*jshint validthis:true */ + addPostRow('tax', this); + } + function addPostmetaRow() { + /*jshint validthis:true */ + addPostRow('meta', this); + } + function addPostRow(type, button) { + var name, + id = jQuery('input[name="id"]').val(), + settings = jQuery(button).closest('.frm_form_action_settings'), + key = settings.data('actionkey'), + postType = settings.find('.frm_post_type').val(), + metaName = 0, + postTypeRows = document.querySelectorAll('.frm_post' + type + '_row'); + if (postTypeRows.length) { + name = postTypeRows[postTypeRows.length - 1].id.replace('frm_post' + type + '_', ''); + if (isNumeric(name)) { + metaName = 1 + parseInt(name, 10); + } else { + metaName = 1; + } + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_add_post' + type + '_row', + form_id: id, + meta_name: metaName, + tax_key: metaName, + post_type: postType, + action_key: key, + nonce: frmGlobal.nonce + }, + success: function success(html) { + var cfOpts, optIndex; + jQuery(document.getElementById('frm_post' + type + '_rows')).append(html); + jQuery('.frm_add_post' + type + '_row.button').hide(); + if (type === 'meta') { + jQuery('.frm_name_value').show(); + cfOpts = document.querySelectorAll('.frm_toggle_cf_opts'); + for (optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex) { + cfOpts[optIndex].style.display = 'none'; + } + } else if (type === 'tax') { + jQuery('.frm_posttax_labels').show(); + } + } + }); + } + function isNumeric(value) { + return !isNaN(parseFloat(value)) && isFinite(value); + } + function changePosttaxRow() { + /*jshint validthis:true */ + if (!jQuery(this).closest('.frm_posttax_row').find('.frm_posttax_opt_list').length) { + return; + } + jQuery(this).closest('.frm_posttax_row').find('.frm_posttax_opt_list').html('
                                                                                      '); + var postType = jQuery(this).closest('.frm_form_action_settings').find('select[name$="[post_content][post_type]"]').val(), + actionKey = jQuery(this).closest('.frm_form_action_settings').data('actionkey'), + taxKey = jQuery(this).closest('.frm_posttax_row').attr('id').replace('frm_posttax_', ''), + metaName = jQuery(this).val(), + showExclude = jQuery(document.getElementById(taxKey + '_show_exclude')).is(':checked') ? 1 : 0, + fieldId = jQuery('select[name$="[post_category][' + taxKey + '][field_id]"]').val(), + id = jQuery('input[name="id"]').val(); + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_add_posttax_row', + form_id: id, + post_type: postType, + tax_key: taxKey, + action_key: actionKey, + meta_name: metaName, + field_id: fieldId, + show_exclude: showExclude, + nonce: frmGlobal.nonce + }, + success: function success(html) { + var $tax = jQuery(document.getElementById('frm_posttax_' + taxKey)); + $tax.replaceWith(html); + } + }); + } + function toggleCfOpts() { + /*jshint validthis:true */ + var row = jQuery(this).closest('.frm_postmeta_row'); + var cancel = row.find('.frm_cancelnew'); + var select = row.find('.frm_enternew'); + if (row.find('select.frm_cancelnew').is(':visible')) { + cancel.hide(); + select.show(); + } else { + cancel.show(); + select.hide(); + } + row.find('input.frm_enternew, select.frm_cancelnew').val(''); + return false; + } + function toggleFormOpts() { + /*jshint validthis:true */ + var changedOpt = jQuery(this); + var val = changedOpt.val(); + if (changedOpt.attr('type') === 'checkbox') { + if (this.checked === false) { + val = ''; + } + } + var toggleClass = changedOpt.data('toggleclass'); + if (val === '') { + jQuery('.' + toggleClass).hide(); + } else { + jQuery('.' + toggleClass).show(); + jQuery('.hide_' + toggleClass + '_' + val).hide(); + } + } + function submitSettings() { + if (showNameYourFormModal()) { + return; + } + + /*jshint validthis:true */ + preFormSave(this); + triggerSubmit(document.querySelector('.frm_form_settings')); + } + + /* Customization Panel */ + function insertCode(e) { + /*jshint validthis:true */ + e.preventDefault(); + insertFieldCode(jQuery(this), this.getAttribute('data-code')); + return false; + } + function insertFieldCode(element, variable) { + var rich = false, + elementId = element; + if (_typeof(element) === 'object') { + if (element.hasClass('frm_noallow')) { + return; + } + elementId = jQuery(element).closest('[data-fills]').attr('data-fills'); + if (typeof elementId === 'undefined') { + elementId = element.closest('div').attr('class'); + if (typeof elementId !== 'undefined') { + elementId = elementId.split(' ')[1]; + } + } + } + if (typeof elementId === 'undefined') { + var active = document.activeElement; + if (active.type === 'search') { + // If the search field has focus, find the correct field. + elementId = active.id.replace('-search-input', ''); + if (elementId.match(/\d/gi) === null) { + active = jQuery('.frm-single-settings:visible .' + elementId); + elementId = active.attr('id'); + } + } else { + elementId = active.id; + } + } + if (elementId) { + rich = jQuery('#wp-' + elementId + '-wrap.wp-editor-wrap').length > 0; + } + var contentBox = jQuery(document.getElementById(elementId)); + if (typeof element.attr('data-shortcode') === 'undefined' && (!contentBox.length || typeof contentBox.attr('data-shortcode') === 'undefined')) { + // this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field + var doShortcode = element.parents('ul.frm_code_list').attr('data-shortcode'); + if (doShortcode === 'undefined' || doShortcode !== 'no') { + variable = '[' + variable + ']'; + } + } + if (rich) { + wpActiveEditor = elementId; + } + if (!contentBox.length) { + return false; + } + if (variable === '[default-html]' || variable === '[default-plain]') { + var p = 0; + if (variable === '[default-plain]') { + p = 1; + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_get_default_html', + form_id: jQuery('input[name="id"]').val(), + plain_text: p, + nonce: frmGlobal.nonce + }, + elementId: elementId, + success: function success(msg) { + if (rich) { + var _p = document.createElement('p'); + _p.innerText = msg; + send_to_editor(_p.innerHTML); + } else { + insertContent(contentBox, msg); + } + } + }); + } else { + variable = maybeAddSanitizeUrlToShortcodeVariable(variable, element, contentBox); + if (rich) { + send_to_editor(variable); + } else { + insertContent(contentBox, variable); + } + } + return false; + } + function maybeAddSanitizeUrlToShortcodeVariable(variable, element, contentBox) { + if ('object' !== _typeof(element) || !(element instanceof jQuery) || 0 !== contentBox[0].id.indexOf('success_url_')) { + return variable; + } + element = element[0]; + if (!element.closest('#frm-insert-fields-box')) { + // Only add sanitize_url=1 to field shortcodes. + return variable; + } + if (!element.parentNode.classList.contains('frm_insert_url')) { + variable = variable.replace(']', ' sanitize_url=1]'); + } + return variable; + } + function insertContent(contentBox, variable) { + if (document.selection) { + contentBox[0].focus(); + document.selection.createRange().text = variable; + } else { + obj = contentBox[0]; + var e = obj.selectionEnd; + variable = maybeFormatInsertedContent(contentBox, variable, obj.selectionStart, e); + obj.value = obj.value.substr(0, obj.selectionStart) + variable + obj.value.substr(obj.selectionEnd, obj.value.length); + var _s = e + variable.length; + maybeRemoveLayoutClasses(obj, variable); + obj.focus(); + obj.setSelectionRange(_s, _s); + } + triggerChange(contentBox); + } + + /** + * When a layout class is added, remove any previous layout classes to avoid conflicts. + * We only expect one layout class to exist for a given field. + * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed. + * + * @since 6.11 + * + * @param {HTMLElement} obj + * @param {string} variable + * @return {void} + */ + function maybeRemoveLayoutClasses(obj, variable) { + if (!obj.classList.contains('frm_classes') || !isALayoutClass(variable)) { + return; + } + var removeClasses = obj.value.split(' ').filter(isALayoutClass); + if (removeClasses.length) { + obj.value = maybeRemoveClasses(obj.value, removeClasses, variable.trim()); + } + } + + /** + * Check if a given class is a layout class. + * + * @since 6.11 + * + * @param {string} className + * @return {boolean} + */ + function isALayoutClass(className) { + var layoutClasses = ['frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12']; + return layoutClasses.includes(className.trim()); + } + + /** + * @since 6.11 + * + * @param {string} beforeValue + * @param {Array} removeClasses + * @param {string} variable + * @return {string} + */ + function maybeRemoveClasses(beforeValue, removeClasses, variable) { + var currentClasses = beforeValue.split(' ').filter(function (currentClass) { + currentClass = currentClass.trim(); + return currentClass.length && !removeClasses.includes(currentClass); + }); + if (!currentClasses.includes(variable)) { + currentClasses.push(variable); + } + return currentClasses.join(' '); + } + function maybeFormatInsertedContent(input, textToInsert, selectionStart, selectionEnd) { + var separator = input.data('sep'); + if (undefined === separator) { + return textToInsert; + } + var value = input.val(); + if (!value.trim().length) { + return textToInsert; + } + var startPattern = new RegExp(separator + '\\s*$'); + var endPattern = new RegExp('^\\s*' + separator); + if (value.substr(0, selectionStart).trim().length && false === startPattern.test(value.substr(0, selectionStart))) { + textToInsert = separator + textToInsert; + } + if (value.substr(selectionEnd, value.length).trim().length && false === endPattern.test(value.substr(selectionEnd, value.length))) { + textToInsert += separator; + } + return textToInsert; + } + function resetLogicBuilder() { + /*jshint validthis:true */ + var id = document.getElementById('frm-id-condition'), + key = document.getElementById('frm-key-condition'); + if (this.value === 'id') { + id.classList.remove('frm_hidden'); + key.classList.add('frm_hidden'); + triggerEvent(key, 'change'); + } else { + id.classList.add('frm_hidden'); + key.classList.remove('frm_hidden'); + triggerEvent(id, 'change'); + } + } + function setLogicExample() { + var field, + code, + idKey = document.getElementById('frm-id-key-condition-id').checked ? 'frm-id-condition' : 'frm-key-condition', + is = document.getElementById('frm-is-condition').value, + text = document.getElementById('frm-text-condition').value, + result = document.getElementById('frm-insert-condition'); + idKey = document.getElementById(idKey); + field = idKey.options[idKey.selectedIndex].value; + code = 'if ' + field + ' ' + is + '="' + text + '"]'; + result.setAttribute('data-code', code + frmAdminJs.conditional_text + '[/if ' + field); + result.innerHTML = '[' + code + '[/if ' + field + ']'; + } + function maybeShowModal(input) { + var moreIcon; + if (input.parentNode.parentNode.classList.contains('frm_has_shortcodes')) { + hideShortcodes(); + moreIcon = getIconForInput(input); + if (moreIcon.tagName === 'use') { + moreIcon = moreIcon.firstElementChild; + if (moreIcon.getAttributeNS('http://www.w3.org/1999/xlink', 'href').indexOf('frm_close_icon') === -1) { + showShortcodeBox(moreIcon, 'nofocus'); + } + } else if (!moreIcon.classList.contains('frm_close_icon')) { + showShortcodeBox(moreIcon, 'nofocus'); + } + } + } + function showShortcodes(e) { + /*jshint validthis:true */ + e.preventDefault(); + e.stopPropagation(); + showShortcodeBox(this); + } + + /** + * Handles 'change' event on the document. + * + * @since 6.16.3 + * + * @param {Event} event + * @return {void} + */ + function handleBuilderChangeEvent(event) { + maybeShowSaveAndReloadModal(event.target); + } + + /** + * Shows 'Save and Reload' modal if the target field's type is changed. + * + * @since 6.16.3 + * + * @param {HTMLElement} target + * @return {void} + */ + function maybeShowSaveAndReloadModal(target) { + var _document$querySelect5; + if (!target.id.startsWith('field_options_type_')) { + return; + } + var idParts = target.id.split('_'); + var fieldId = idParts.length && idParts[idParts.length - 1]; + if ((_document$querySelect5 = document.querySelector("#frm-single-settings-".concat(fieldId))) !== null && _document$querySelect5 !== void 0 && _document$querySelect5.classList.contains("frm-type-".concat(target.value))) { + // Do not show modal if the field type is reverted back to the original type when builder is loaded. + return; + } + showSaveAndReloadModal(); + } + + /** + * Shows 'Save and Reload' modal with the given message. + * + * @since 6.16.3 + * + * @param {string} message + * @return {void} + */ + function showSaveAndReloadModal(message) { + if ('undefined' === typeof message) { + message = __('You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable'); + } + frmDom.modal.maybeCreateModal('frmSaveAndReloadModal', { + title: __('Save and Reload?', 'formidable'), + content: getModalContent(), + footer: getModalFooter() + }); + function getModalContent() { + var modalContent = div(message); + modalContent.style.padding = 'var(--gap-md)'; + return modalContent; + } + function getModalFooter() { + var continueButton = frmDom.modal.footerButton({ + text: __('Save and Reload', 'formidable'), + buttonType: 'primary' + }); + onClickPreventDefault(continueButton, function () { + saveAndReloadFormBuilder(); + }); + var cancelButton = frmDom.modal.footerButton({ + text: __('Cancel', 'formidable'), + buttonType: 'cancel' + }); + cancelButton.classList.add('dismiss'); + return frmDom.div({ + children: [cancelButton, continueButton] + }); + } + } + function updateShortcodesPopupPosition(target) { + var moreIcon; + if (target instanceof Event) { + var useElements = document.querySelectorAll('.frm-single-settings .frm-show-box.frmsvg use'); + var openTrigger = Array.from(useElements).find(function (use) { + return use.getAttribute('href') === '#frm_close_icon'; + }); + if ('undefined' === typeof openTrigger) { + return; + } + moreIcon = openTrigger.parentElement; + } else { + moreIcon = target; + } + var moreIconPosition = moreIcon.getBoundingClientRect(); + var shortCodesPopup = document.getElementById('frm_adv_info'); + var parentPos = shortCodesPopup.parentElement.getBoundingClientRect(); + shortCodesPopup.style.top = moreIconPosition.top - parentPos.top + 32 + 'px'; + shortCodesPopup.style.left = moreIconPosition.left - parentPos.left - 280 + 'px'; + } + function showShortcodeBox(moreIcon, shouldFocus) { + var input = getInputForIcon(moreIcon), + box = document.getElementById('frm_adv_info'), + classes = moreIcon.className; + if (moreIcon.tagName === 'svg') { + moreIcon = moreIcon.firstElementChild; + } + if (moreIcon.tagName === 'use') { + classes = moreIcon.getAttributeNS('http://www.w3.org/1999/xlink', 'href'); + if (null === classes) { + // If the deprecated xlink:href is not defined, check for href. + classes = moreIcon.getAttribute('href'); + } + } + if (classes.indexOf('frm_close_icon') !== -1) { + hideShortcodes(box); + } else { + updateShortcodesPopupPosition(moreIcon); + jQuery('.frm_code_list a').removeClass('frm_noallow'); + if (input.classList.contains('frm_not_email_to')) { + jQuery('#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a').addClass('frm_noallow'); + } else if (input.classList.contains('frm_not_email_subject')) { + jQuery('.frm_code_list li.hide_frm_not_email_subject a').addClass('frm_noallow'); + } + box.setAttribute('data-fills', input.id); + box.style.display = 'block'; + if (moreIcon.tagName === 'use') { + if (moreIcon.hasAttributeNS('http://www.w3.org/1999/xlink', 'href')) { + moreIcon.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#frm_close_icon'); + } else { + var newMoreIcon = document.createElementNS('http://www.w3.org/2000/svg', 'use'); + newMoreIcon.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#frm_close_icon'); + moreIcon.parentNode.replaceChild(newMoreIcon, moreIcon); + } + } else { + moreIcon.className = classes.replace('frm_more_horiz_solid_icon', 'frm_close_icon'); + } + if (shouldFocus !== 'nofocus') { + if ('none' !== input.style.display) { + input.focus(); + } else { + jQuery(tinymce.get(input.id)).trigger('focus'); + } + } + showOrHideContextualShortcodes(input); + } + } + + /** + * Returns true if a shortcode could be shown in the search result. + * + * @since 6.16.3 + * + * @param {HTMLElement} item + * @return {Boolean} + */ + function checkContextualShortcode(item) { + if (frmAdminJs.contextualShortcodes.length === 0) { + return true; + } + return !isContextualShortcode(item) || canShowContextualShortcode(item); + } + + /** + * Returns true if a shortcode is contextual to fields. + * + * @since 6.16.3 + * + * @param {HTMLElement} item + * @return {Boolean} + */ + function isContextualShortcode(item) { + var anchor = item.querySelector('a'); + if (!anchor) { + return false; + } + var shortcode = anchor.dataset.code; + return frmAdminJs.contextualShortcodes.address.includes(shortcode) || frmAdminJs.contextualShortcodes.body.includes(shortcode); + } + + /** + * @since 6.16.3 + * + * @param {HTMLElement} item + * @return {Boolean} + */ + function canShowContextualShortcode(item) { + var shortcode = item.querySelector('a').dataset.code; + var inputId = document.getElementById('frm_adv_info').dataset.fills; + var input = document.getElementById(inputId); + var contextualShortcodes = frmAdminJs.contextualShortcodes; + if (contextualShortcodes.address.includes(shortcode)) { + return input.matches(contextualShortcodes.addressSelector); + } + return input.matches(contextualShortcodes.bodySelector); + } + + /** + * @since 6.16.3 + * + * @param {HTMLElement} input + * @return {void} + */ + function showOrHideContextualShortcodes(input) { + ['address', 'body'].forEach(function (type) { + toggleContextualShortcodes(input, type); + }); + } + + /** + * @since 6.16.3 + * + * @param {HTMLElement} input + * @param {string} type + * + * @return {void} + */ + function toggleContextualShortcodes(input, type) { + var selector, contextualShortcodes; + selector = frmAdminJs.contextualShortcodes[type + 'Selector']; + contextualShortcodes = frmAdminJs.contextualShortcodes[type]; + var shouldShowShortcodes = input.matches(selector); + var _iterator = _createForOfIteratorHelper(contextualShortcodes), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _document$querySelect6; + var shortcode = _step.value; + var shortcodeLi = (_document$querySelect6 = document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="' + shortcode + '"]')) === null || _document$querySelect6 === void 0 ? void 0 : _document$querySelect6.closest('li'); + shortcodeLi === null || shortcodeLi === void 0 || shortcodeLi.classList.toggle('frm_hidden', !shouldShowShortcodes); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + /** + * Returns shortcodes that are contextual to the current input field. + * + * @since 6.16.3 + * + * @return {Array} + */ + function getContextualShortcodes() { + var _document$getElementB4; + var contextualShortcodes = (_document$getElementB4 = document.getElementById('frm_adv_info')) === null || _document$getElementB4 === void 0 ? void 0 : _document$getElementB4.dataset.contextualShortcodes; + if (!contextualShortcodes) { + return []; + } + contextualShortcodes = JSON.parse(contextualShortcodes); + contextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]'; + contextualShortcodes.bodySelector = '[id^=email_message_]'; + return contextualShortcodes; + } + function fieldUpdated() { + if (!fieldsUpdated) { + fieldsUpdated = 1; + window.addEventListener('beforeunload', confirmExit); + } + } + function buildSubmittedNoAjax() { + // set fieldsUpdated to 0 to avoid the unsaved changes pop up + fieldsUpdated = 0; + } + function settingsSubmitted() { + // set fieldsUpdated to 0 to avoid the unsaved changes pop up + fieldsUpdated = 0; + } + function resetFieldsUpdated() { + fieldsUpdated = 0; + } + function reloadIfAddonActivatedAjaxSubmitOnly() { + var submitButton = document.getElementById('frm_submit_side_top'); + if (submitButton.hasAttribute('data-new-addon-installed') && 'true' === submitButton.getAttribute('data-new-addon-installed')) { + submitButton.removeAttribute('data-new-addon-installed'); + window.location.reload(); + } + } + function saveAndReloadFormBuilder() { + var submitButton = document.getElementById('frm_submit_side_top'); + if (submitButton.classList.contains('frm_submit_ajax')) { + submitButton.setAttribute('data-new-addon-installed', true); + } + submitButton.click(); + } + function confirmExit(event) { + if (fieldsUpdated) { + event.preventDefault(); + event.returnValue = ''; + } + } + function offsetModalY($modal, amount) { + var position = { + my: 'top', + at: 'top+' + amount, + of: window + }; + $modal.dialog('option', 'position', position); + } + + /** + * Get the input box for the selected icon or calculation field. + * + * @param {Element} moreIcon The icon element + * @return {Element} The associated input or textarea + */ + function getInputForIcon(moreIcon) { + if (moreIcon.classList.contains('frm-input-icon')) { + return moreIcon.previousElementSibling; + } + + // For regular fields + var input = moreIcon.nextElementSibling; + while (input !== null && (input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' || input.classList.contains('frm-token-input-field'))) { + input = getInputForIcon(input); + } + + // For calculation fields + if (!input) { + var _moreIcon$closest; + input = (_moreIcon$closest = moreIcon.closest('.frm-field-formula')) === null || _moreIcon$closest === void 0 ? void 0 : _moreIcon$closest.querySelector('.frm-calc-field'); + } + return input; + } + + /** + * Get the ... icon for the selected input box. + */ + function getIconForInput(input) { + var _input$nextElementSib; + if ((_input$nextElementSib = input.nextElementSibling) !== null && _input$nextElementSib !== void 0 && _input$nextElementSib.classList.contains('frm-input-icon')) { + return input.nextElementSibling; + } + var moreIcon = input.previousElementSibling; + while (moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg') { + moreIcon = getIconForInput(moreIcon); + } + return moreIcon; + } + function hideShortcodes(box) { + var i, u, closeIcons, closeSvg; + if (typeof box === 'undefined') { + box = document.getElementById('frm_adv_info'); + if (box === null) { + return; + } + } + if (document.getElementById('frm_dyncontent') !== null) { + // Don't run when in the sidebar. + return; + } + box.style.display = 'none'; + closeIcons = document.querySelectorAll('.frm-show-box.frm_close_icon'); + for (i = 0; i < closeIcons.length; i++) { + closeIcons[i].classList.remove('frm_close_icon'); + closeIcons[i].classList.add('frm_more_horiz_solid_icon'); + } + closeSvg = document.querySelectorAll('.frm_has_shortcodes use'); + for (u = 0; u < closeSvg.length; u++) { + if (closeSvg[u].getAttributeNS('http://www.w3.org/1999/xlink', 'href') === '#frm_close_icon') { + if (closeSvg[u].closest('.frm_remove_field')) { + // Don't change the icon for the email fields remove button. + continue; + } + closeSvg[u].setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon'); + } + } + } + function toggleAllowedHTML(input) { + var b, + id = input.id; + if (typeof id === 'undefined' || id.indexOf('-search-input') !== -1) { + return; + } + jQuery('#frm-adv-info-tab').attr('data-fills', id.trim()); + if (input.classList.contains('field_custom_html')) { + id = 'field_custom_html'; + } + b = ['after_html', 'before_html', 'submit_html', 'field_custom_html']; + if (jQuery.inArray(id, b) >= 0) { + jQuery('.frm_code_list li:not(.show_' + id + ')').addClass('frm_hidden'); + jQuery('.frm_code_list li.show_' + id).removeClass('frm_hidden'); + } + } + function toggleKeyID(switchTo, e) { + e.stopPropagation(); + jQuery('.frm_code_list .frmids, .frm_code_list .frmkeys').addClass('frm_hidden'); + jQuery('.frm_code_list .' + switchTo).removeClass('frm_hidden'); + jQuery('.frmids, .frmkeys').removeClass('current'); + jQuery('.' + switchTo).addClass('current'); + } + function onActionLoaded(event) { + var settings = event.target.closest('.frm_form_action_settings'); + if (settings && (settings.classList.contains('frm_single_email_settings') || settings.classList.contains('frm_single_on_submit_settings'))) { + initWysiwygOnActionLoaded(settings); + } + } + function initWysiwygOnActionLoaded(settings) { + settings.querySelectorAll('.wp-editor-area').forEach(function (wysiwyg) { + frmDom.wysiwyg.init(wysiwyg, { + height: 160, + addFocusEvents: true + }); + }); + } + + /* Global settings page */ + function loadSettingsTab(anchor) { + var holder = anchor.replace('#', ''); + var holderContainer = jQuery('.frm_' + holder + '_ajax'); + if (holderContainer.length) { + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: 'frm_settings_tab', + tab: holder.replace('_settings', ''), + nonce: frmGlobal.nonce + }, + success: function success(html) { + holderContainer.replaceWith(html); + } + }); + } + } + function uninstallNow() { + /*jshint validthis:true */ + if (confirmLinkClick(this) === true) { + jQuery('.frm_uninstall .frm-wait').css('visibility', 'visible'); + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: 'action=frm_uninstall&nonce=' + frmGlobal.nonce, + success: function success(msg) { + jQuery('.frm_uninstall').fadeOut('slow'); + window.location = msg; + } + }); + } + return false; + } + function saveAddonLicense() { + /*jshint validthis:true */ + var button = jQuery(this); + var buttonName = this.name; + var pluginSlug = this.getAttribute('data-plugin'); + var action = buttonName.replace('edd_' + pluginSlug + '_license_', ''); + var license = document.getElementById('edd_' + pluginSlug + '_license_key').value; + button.get(0).disabled = true; + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + dataType: 'json', + data: { + action: 'frm_addon_' + action, + license: license, + plugin: pluginSlug, + nonce: frmGlobal.nonce + }, + success: function success(msg) { + button.get(0).disabled = false; + var thisRow = button.closest('.edd_frm_license_row'); + if (action === 'deactivate') { + license = ''; + document.getElementById('edd_' + pluginSlug + '_license_key').value = ''; + } + thisRow.find('.edd_frm_license').html(license); + var eddWrapper = button.get(0).closest('.frm_form_field'); + var actionIsSuccess = msg.success === true; + eddWrapper.querySelector(".frm_icon_font.frm_action_success").classList.toggle('frm_hidden', !actionIsSuccess || action === 'deactivate'); + eddWrapper.querySelector(".frm_icon_font.frm_action_error").classList.toggle('frm_hidden', actionIsSuccess); + var messageBox = thisRow.find('.frm_license_msg'); + messageBox.html(msg.message); + if (msg.message !== '') { + setTimeout(function () { + messageBox.html(''); + thisRow.find('.frm_icon_font').addClass('frm_hidden'); + if (actionIsSuccess) { + var actionIsActivate = action === 'activate'; + thisRow.get(0).querySelector('.edd_frm_unauthorized').classList.toggle('frm_hidden', actionIsActivate); + thisRow.get(0).querySelector('.edd_frm_authorized').classList.toggle('frm_hidden', !actionIsActivate); + } + }, 2000); + } + } + }); + } + + /* Import/Export page */ + + function startFormMigration(event) { + event.preventDefault(); + var checkedBoxes = jQuery(event.target).find('input:checked'); + if (!checkedBoxes.length) { + return; + } + var ids = []; + checkedBoxes.each(function (i) { + ids[i] = this.value; + }); + + // Begin the import process. + importForms(ids, event.target); + } + + /** + * Begins the process of importing the forms. + */ + function importForms(forms, targetForm) { + // Hide the form select section. + var $form = jQuery(targetForm), + $processSettings = $form.next('.frm-importer-process'); + + // Display total number of forms we have to import. + $processSettings.find('.form-total').text(forms.length); + $processSettings.find('.form-current').text('1'); + $form.hide(); + + // Show processing status. + // '.process-completed' might have been shown earlier during a previous import, so hide now. + $processSettings.find('.process-completed').hide(); + $processSettings.show(); + + // Create global import queue. + s.importQueue = forms; + s.imported = 0; + + // Import the first form in the queue. + importForm($processSettings); + } + + /** + * Imports a single form from the import queue. + */ + function importForm($processSettings) { + var formID = s.importQueue[0], + provider = jQuery('#welcome-panel').find('input[name="slug"]').val(), + data = { + action: 'frm_import_' + provider, + form_id: formID, + nonce: frmGlobal.nonce + }; + + // Trigger AJAX import for this form. + jQuery.post(ajaxurl, data, function (res) { + if (res.success) { + var statusUpdate; + if (res.data.error) { + statusUpdate = '

                                                                                      ' + res.data.name + ': ' + res.data.msg + '

                                                                                      '; + } else { + statusUpdate = '

                                                                                      Imported ' + res.data.name + '

                                                                                      '; + } + $processSettings.find('.status').prepend(statusUpdate); + $processSettings.find('.status').show(); + + // Remove this form ID from the queue. + s.importQueue = jQuery.grep(s.importQueue, function (value) { + return value != formID; + }); + s.imported++; + if (s.importQueue.length === 0) { + $processSettings.find('.process-count').hide(); + $processSettings.find('.forms-completed').text(s.imported); + $processSettings.find('.process-completed').show(); + } else { + // Import next form in the queue. + $processSettings.find('.form-current').text(s.imported + 1); + importForm($processSettings); + } + } + }); + } + function validateExport(e) { + /*jshint validthis:true */ + e.preventDefault(); + var s = false; + var $exportForms = jQuery('input[name="frm_export_forms[]"]'); + if (!jQuery('input[name="frm_export_forms[]"]:checked').val()) { + $exportForms.closest('.frm-table-box').addClass('frm_blank_field'); + s = 'stop'; + } + var $exportType = jQuery('input[name="type[]"]'); + if (!jQuery('input[name="type[]"]:checked').val() && $exportType.attr('type') === 'checkbox') { + $exportType.closest('p').addClass('frm_blank_field'); + s = 'stop'; + } + if (s === 'stop') { + return false; + } + e.stopPropagation(); + this.submit(); + } + function removeExportError() { + /*jshint validthis:true */ + var t = jQuery(this).closest('.frm_blank_field'); + if (typeof t === 'undefined') { + return; + } + var $thisName = this.name; + if ($thisName === 'type[]' && jQuery('input[name="type[]"]:checked').val()) { + t.removeClass('frm_blank_field'); + } else if ($thisName === 'frm_export_forms[]' && jQuery(this).val()) { + t.removeClass('frm_blank_field'); + } + } + function checkCSVExtension() { + /*jshint validthis:true */ + var f = jQuery(this).val(); + var re = /\.csv$/i; + if (f.match(re) !== null) { + jQuery('.show_csv').fadeIn(); + } else { + jQuery('.show_csv').fadeOut(); + } + } + function getExportOption() { + var exportFormatSelect = document.querySelector('select[name="format"]'); + if (exportFormatSelect) { + return exportFormatSelect.value; + } + return ''; + } + function exportTypeChanged(event) { + var value = event.target.value; + showOrHideRepeaters(value); + checkExportTypes.call(event.target); + checkSelectedAllFormsCheckbox(value); + } + function checkSelectedAllFormsCheckbox(exportType) { + var selectAllCheckbox = document.getElementById('frm-export-select-all'); + if (exportType === 'csv') { + selectAllCheckbox.checked = false; + selectAllCheckbox.disabled = true; + } else { + selectAllCheckbox.disabled = false; + } + } + function checkExportTypes() { + /*jshint validthis:true */ + var $dropdown = jQuery(this); + var $selected = $dropdown.find(':selected'); + var s = $selected.data('support'); + var multiple = s.indexOf('|'); + jQuery('input[name="type[]"]').each(function () { + this.checked = false; + if (s.indexOf(this.value) >= 0) { + this.disabled = false; + if (multiple === -1) { + this.checked = true; + } + } else { + this.disabled = true; + } + }); + if ($dropdown.val() === 'csv') { + jQuery('.csv_opts').show(); + jQuery('.xml_opts').hide(); + } else { + jQuery('.csv_opts').hide(); + jQuery('.xml_opts').show(); + } + var c = $selected.data('count'); + var exportField = jQuery('input[name="frm_export_forms[]"]'); + if (c === 'single') { + exportField.prop('multiple', false); + exportField.prop('checked', false); + } else { + exportField.prop('multiple', true); + exportField.prop('disabled', false); + } + $dropdown.trigger('change'); + } + function showOrHideRepeaters(exportOption) { + if (exportOption === '') { + return; + } + var repeaters = document.querySelectorAll('.frm-is-repeater'); + if (!repeaters.length) { + return; + } + if (exportOption === 'csv') { + repeaters.forEach(function (form) { + form.classList.remove('frm_hidden'); + }); + } else { + repeaters.forEach(function (form) { + form.classList.add('frm_hidden'); + }); + } + searchContent.call(document.querySelector('.frm-auto-search')); + } + function preventMultipleExport() { + var type = jQuery('select[name=format]'), + selected = type.find(':selected'), + count = selected.data('count'), + exportField = jQuery('input[name="frm_export_forms[]"]'); + if (count === 'single') { + // Disable all other fields to prevent multiple selections. + if (this.checked) { + exportField.prop('disabled', true); + this.removeAttribute('disabled'); + } else { + exportField.prop('disabled', false); + } + } else { + exportField.prop('disabled', false); + } + } + function initiateMultiselect() { + jQuery('.frm_multiselect').hide().each(frmDom.bootstrap.multiselect.init); + } + + /* Addons page */ + function installMultipleAddons(e) { + e.preventDefault(); + toggleAddonState(this, 'frm_multiple_addons'); + } + function activateAddon(e) { + e.preventDefault(); + toggleAddonState(this, 'frm_activate_addon'); + } + function installAddon(e) { + e.preventDefault(); + toggleAddonState(this, 'frm_install_addon'); + } + function toggleAddonState(clicked, action) { + var addonState = __webpack_require__(/*! ./addon-state */ "./js/src/admin/addon-state.js"); + addonState.toggleAddonState(clicked, action); + } + function installAddonWithCreds(e) { + // Prevent the default action, let the user know we are attempting to install again and go with it. + e.preventDefault(); + + // Now let's make another Ajax request once the user has submitted their credentials. + var proceed = jQuery(this); + var el = proceed.parent().parent(); + var plugin = proceed.attr('rel'); + proceed.addClass('frm_loading_button'); + jQuery.ajax({ + url: ajaxurl, + type: 'POST', + async: true, + cache: false, + dataType: 'json', + data: { + action: 'frm_install_addon', + nonce: frmAdminJs.nonce, + plugin: plugin, + hostname: el.find('#hostname').val(), + username: el.find('#username').val(), + password: el.find('#password').val() + }, + success: function success(response) { + var _response$data, _response; + response = (_response$data = (_response = response) === null || _response === void 0 ? void 0 : _response.data) !== null && _response$data !== void 0 ? _response$data : response; + var error = extractErrorFromAddOnResponse(response); + if (error) { + addonError(error, el, proceed); + return; + } + afterAddonInstall(response, proceed, message, el); + }, + error: function error() { + proceed.removeClass('frm_loading_button'); + } + }); + } + function afterAddonInstall(response, button, message, el, saveAndReload) { + var action = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'frm_activate_addon'; + var addonState = __webpack_require__(/*! ./addon-state */ "./js/src/admin/addon-state.js"); + addonState.afterAddonInstall(response, button, message, el, saveAndReload, action); + } + function extractErrorFromAddOnResponse(response) { + var addonState = __webpack_require__(/*! ./addon-state */ "./js/src/admin/addon-state.js"); + return addonState.extractErrorFromAddOnResponse(response); + } + function addonError(response, el, button) { + var addonState = __webpack_require__(/*! ./addon-state */ "./js/src/admin/addon-state.js"); + addonState.addonError(response, el, button); + } + + /* Templates */ + function showActiveCampaignForm() { + loadApiEmailForm(); + } + function handleApiFormError(inputId, errorId, type, message) { + var $error = jQuery(errorId); + $error.removeClass('frm_hidden').attr('frm-error', type); + if (typeof message !== 'undefined') { + $error.find('span[frm-error="' + type + '"]').text(message); + } + jQuery(inputId).one('keyup', function () { + $error.addClass('frm_hidden'); + }); + } + function handleEmailAddressError(type) { + handleApiFormError('#frm_leave_email', '#frm_leave_email_error', type); + } + function loadApiEmailForm() { + var formContainer = document.getElementById('frmapi-email-form'); + jQuery.ajax({ + dataType: 'json', + url: formContainer.getAttribute('data-url'), + success: function success(json) { + var form = json.renderedHtml; + form = form.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, ''); + formContainer.innerHTML = form; + } + }); + } + function initAutocomplete(container) { + frmDom.autocomplete.initSelectionAutocomplete(container); + } + function nextInstallStep(thisStep) { + thisStep.classList.add('frm_grey'); + thisStep.nextElementSibling.classList.remove('frm_grey'); + } + function installTemplateFieldset(e) { + /*jshint validthis:true */ + var fieldset = this.parentNode.parentNode, + action = fieldset.elements.type.value, + button = this; + e.preventDefault(); + button.classList.add('frm_loading_button'); + installNewForm(fieldset, action, button); + } + function installTemplate(e) { + /*jshint validthis:true */ + var action = this.elements.type.value, + button = this.querySelector('button'); + e.preventDefault(); + button.classList.add('frm_loading_button'); + installNewForm(this, action, button); + } + function installNewForm(form, action, button) { + var formData = formToData(form); + var formName = formData.template_name; + var formDesc = formData.template_desc; + var link = form.elements.link.value; + var data = { + action: action, + xml: link, + name: formName, + desc: formDesc, + form: JSON.stringify(formData), + nonce: frmGlobal.nonce + }; + var hookName = 'frm_before_install_new_form'; + var filterArgs = { + formData: formData + }; + data = wp.hooks.applyFilters(hookName, data, filterArgs); + postAjax(data, function (response) { + if (typeof response.redirect !== 'undefined') { + var redirect = response.redirect; + if (typeof form.elements.redirect === 'undefined') { + window.location = redirect; + } else { + var href = document.getElementById('frm-redirect-link'); + if (typeof link !== 'undefined' && href !== null) { + // Show the next installation step. + href.setAttribute('href', redirect); + href.classList.remove('frm_grey', 'disabled'); + nextInstallStep(form.parentNode.parentNode); + button.classList.add('frm_grey', 'disabled'); + } + } + } else { + jQuery('.spinner').css('visibility', 'hidden'); + + // Show response.message + if ('string' === typeof response.message) { + showInstallFormErrorModal(response.message); + } + } + button.classList.remove('frm_loading_button'); + }); + } + function showInstallFormErrorModal(message) { + var modalContent = div(message); + modalContent.style.padding = '20px 40px'; + var modal = frmDom.modal.maybeCreateModal('frmInstallFormErrorModal', { + title: __('Unable to install template', 'formidable'), + content: modalContent + }); + modal.classList.add('frm_common_modal'); + } + function handleCaptchaTypeChange(e) { + var thresholdContainer = document.getElementById('frm_captcha_threshold_container'); + if (thresholdContainer) { + thresholdContainer.classList.toggle('frm_hidden', 'v3' !== e.target.value); + } + } + function trashTemplate(e) { + /*jshint validthis:true */ + var id = this.getAttribute('data-id'); + e.preventDefault(); + data = { + action: 'frm_forms_trash', + id: id, + nonce: frmGlobal.nonce + }; + postAjax(data, function () { + var card = document.getElementById('frm-template-custom-' + id); + fadeOut(card, function () { + card.parentNode.removeChild(card); + }); + }); + } + function searchContent() { + /*jshint validthis:true */ + var i, + regEx = false, + searchText = this.value.toLowerCase(), + toSearch = this.getAttribute('data-tosearch'), + items = document.getElementsByClassName(toSearch); + if (this.tagName === 'SELECT') { + searchText = selectedOptions(this); + searchText = searchText.join('|').toLowerCase(); + regEx = true; + } + if (toSearch === 'frm-action' && searchText !== '') { + var addons = document.getElementById('frm_email_addon_menu').classList; + addons.remove('frm-all-actions'); + addons.add('frm-limited-actions'); + } + for (i = 0; i < items.length; i++) { + var innerText = items[i].innerText.toLowerCase(); + var itemCanBeShown = !(getExportOption() === 'xml' && items[i].classList.contains('frm-is-repeater')); + if (searchText === '') { + if (itemCanBeShown && checkContextualShortcode(items[i])) { + items[i].classList.remove('frm_hidden'); + } + items[i].classList.remove('frm-search-result'); + } else if (regEx && new RegExp(searchText).test(innerText) || innerText.indexOf(searchText) >= 0 || textMatchesPlural(innerText, searchText)) { + if (itemCanBeShown && checkContextualShortcode(items[i])) { + items[i].classList.remove('frm_hidden'); + } + items[i].classList.add('frm-search-result'); + } else { + items[i].classList.add('frm_hidden'); + items[i].classList.remove('frm-search-result'); + } + } + + // Updates the visibility of category headings based on search results. + updateCatHeadingVisibility(); + jQuery(this).trigger('frmAfterSearch'); + } + + /** + * Allow a search for "signatures" to still match "signature" for example when searching fields. + * + * @since 6.15 + * + * @param {string} text The text in the element we are checking for a match. + * @param {string} searchText The text value that is being searched. + * @return {boolean} + */ + function textMatchesPlural(text, searchText) { + if (searchText === 's') { + // Don't match everything when just "s" is searched. + return false; + } + if (text[text.length - 1] === 's') { + // Do not match something with double s if the text already ends in s. + return false; + } + return (text + 's').indexOf(searchText) >= 0; + } + + /** + * Updates the visibility of category headings based on search results. + * If all associated fields are hidden (indicating no search matches), + * the heading is hidden. + * + * @since 6.4.1 + */ + function updateCatHeadingVisibility() { + var insertFieldsElement = document.querySelector('#frm-insert-fields'); + if (!insertFieldsElement) { + return; + } + var headingElements = insertFieldsElement.querySelectorAll(':scope > .frm-with-line'); + headingElements.forEach(function (heading) { + var fieldsListElement = heading.nextElementSibling; + if (!fieldsListElement) { + return; + } + var listItemElements = fieldsListElement.querySelectorAll(':scope > li.frmbutton'); + var allHidden = Array.from(listItemElements).every(function (li) { + return li.classList.contains('frm_hidden'); + }); + + // Add or remove class based on `allHidden` condition + heading.classList.toggle('frm_hidden', allHidden); + }); + } + function stopPropagation(e) { + e.stopPropagation(); + } + + /* Helpers */ + + function selectedOptions(select) { + var opt, + result = [], + options = select && select.options; + for (var _i13 = 0, iLen = options.length; _i13 < iLen; _i13++) { + opt = options[_i13]; + if (opt.selected) { + result.push(opt.value); + } + } + return result; + } + function triggerEvent(element, event) { + var evt = document.createEvent('HTMLEvents'); + evt.initEvent(event, false, true); + element.dispatchEvent(evt); + } + function postAjax(data, success) { + var response; + var xmlHttp = new XMLHttpRequest(); + var params = typeof data === 'string' ? data : Object.keys(data).map(function (k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(data[k]); + }).join('&'); + xmlHttp.open('post', ajaxurl, true); + xmlHttp.onreadystatechange = function () { + if (xmlHttp.readyState > 3 && xmlHttp.status == 200) { + response = xmlHttp.responseText; + try { + response = JSON.parse(response); + } catch (e) { + // The response may not be JSON, so just return it. + } + success(response); + } + }; + xmlHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + xmlHttp.send(params); + return xmlHttp; + } + function fadeOut(element, success) { + element.classList.add('frm-fade'); + setTimeout(success, 1000); + } + function invisible(classes) { + jQuery(classes).css('visibility', 'hidden'); + } + function visible(classes) { + jQuery(classes).css('visibility', 'visible'); + } + function initModal(id, width) { + var upgradePopup = __webpack_require__(/*! ./upgrade-popup */ "./js/src/admin/upgrade-popup.js"); + return upgradePopup.initModal(id, width); + } + function toggle(cname, id) { + if (id === '#') { + var cont = document.getElementById(cname); + var hidden = cont.style.display; + if (hidden === 'none') { + cont.style.display = 'block'; + } else { + cont.style.display = 'none'; + } + } else { + var vis = cname.is(':visible'); + if (vis) { + cname.hide(); + } else { + cname.show(); + } + } + } + function removeWPUnload() { + window.onbeforeunload = null; + var w = jQuery(window); + w.off('beforeunload.widgets'); + w.off('beforeunload.edit-post'); + } + function addMultiselectLabelListener() { + var clickListener = function clickListener(e) { + if ('LABEL' !== e.target.nodeName) { + return; + } + var labelFor = e.target.getAttribute('for'); + if (!labelFor) { + return; + } + var input = document.getElementById(labelFor); + if (!input || !input.nextElementSibling) { + return; + } + var buttonToggle = input.nextElementSibling.querySelector('button.dropdown-toggle.multiselect'); + if (!buttonToggle) { + return; + } + var triggerMultiselectClick = function triggerMultiselectClick() { + return buttonToggle.click(); + }; + setTimeout(triggerMultiselectClick, 0); + }; + document.addEventListener('click', clickListener); + } + function maybeChangeEmbedFormMsg() { + var fieldId = jQuery(this).closest('.frm-single-settings').data('fid'); + var fieldItem = document.getElementById('frm_field_id_' + fieldId); + if (null === fieldItem || 'form' !== fieldItem.dataset.type) { + return; + } + fieldItem = jQuery(fieldItem); + if (this.options[this.selectedIndex].value) { + fieldItem.find('.frm-not-set')[0].classList.add('frm_hidden'); + var embedMsg = fieldItem.find('.frm-embed-message'); + embedMsg.html(embedMsg.data('embedmsg') + this.options[this.selectedIndex].text); + fieldItem.find('.frm-embed-field-placeholder')[0].classList.remove('frm_hidden'); + } else { + fieldItem.find('.frm-not-set')[0].classList.remove('frm_hidden'); + fieldItem.find('.frm-embed-field-placeholder')[0].classList.add('frm_hidden'); + } + } + function toggleProductType() { + var settings = jQuery(this).closest('.frm-single-settings'), + container = settings.find('.frmjs_product_choices'), + heading = settings.find('.frm_prod_options_heading'), + currentVal = this.options[this.selectedIndex].value; + container.removeClass('frm_prod_type_single frm_prod_type_user_def'); + heading.removeClass('frm_prod_user_def'); + if ('single' === currentVal) { + container.addClass('frm_prod_type_single'); + } else if ('user_def' === currentVal) { + container.addClass('frm_prod_type_user_def'); + heading.addClass('frm_prod_user_def'); + } + } + + /** + * @param {Number | string} fieldId + * @return {boolean} True if the field is a product field. + */ + function isProductField(fieldId) { + var field = document.getElementById('frm_field_id_' + fieldId); + if (field === null) { + return false; + } + return 'product' === field.getAttribute('data-type'); + } + + /** + * Serialize form data with vanilla JS. + */ + function formToData(form) { + var subKey, + i, + object = {}, + formData = form.elements; + for (i = 0; i < formData.length; i++) { + var input = formData[i], + key = input.name, + value = input.value, + names = key.match(/(.*)\[(.*)\]/); + if ((input.type === 'radio' || input.type === 'checkbox') && !input.checked) { + continue; + } + if (names !== null) { + key = names[1]; + subKey = names[2]; + if (!Reflect.has(object, key)) { + object[key] = {}; + } + object[key][subKey] = value; + continue; + } + + // Reflect.has in favor of: object.hasOwnProperty(key) + if (!Reflect.has(object, key)) { + object[key] = value; + continue; + } + if (!Array.isArray(object[key])) { + object[key] = [object[key]]; + } + object[key].push(value); + } + return object; + } + + /** + * Show, hide, and sort subfields of Name field on form builder. + * + * @since 4.11 + */ + function handleNameFieldOnFormBuilder() { + /** + * Gets subfield element from cache. + * + * @param {string} fieldId Field ID. + * @param {string} key Cache key. + * @return {HTMLElement|undefined} Return the element from cache or undefined if not found. + */ + var getSubFieldElFromCache = function getSubFieldElFromCache(fieldId, key) { + window.frmCachedSubFields = window.frmCachedSubFields || {}; + window.frmCachedSubFields[fieldId] = window.frmCachedSubFields[fieldId] || {}; + return window.frmCachedSubFields[fieldId][key]; + }; + + /** + * Sets subfield element to cache. + * + * @param {string} fieldId Field ID. + * @param {string} key Cache key. + * @param {HTMLElement} el Element. + */ + var setSubFieldElToCache = function setSubFieldElToCache(fieldId, key, el) { + window.frmCachedSubFields = window.frmCachedSubFields || {}; + window.frmCachedSubFields[fieldId] = window.frmCachedSubFields[fieldId] || {}; + window.frmCachedSubFields[fieldId][key] = el; + }; + + /** + * Gets column class from the number of columns. + * + * @param {Number} colCount Number of columns. + * @return {string} + */ + var getColClass = function getColClass(colCount) { + return 'frm' + parseInt(12 / colCount); + }; + var colClasses = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map(function (num) { + return 'frm' + num; + }); + var allSubFieldNames = ['first', 'middle', 'last']; + + /** + * Handles name layout change. + * + * @param {Event} event Event object. + */ + var onChangeLayout = function onChangeLayout(event) { + var value = event.target.value; + var subFieldNames = value.split('_'); + var fieldId = event.target.dataset.fieldId; + + /* + * Live update form on the form builder. + */ + var container = document.querySelector('#field_' + fieldId + '_inner_container .frm_combo_inputs_container'); + var newColClass = getColClass(subFieldNames.length); + + // Set all sub field elements to cache and hide all of them first. + allSubFieldNames.forEach(function (name) { + var subFieldEl = container.querySelector('[data-sub-field-name="' + name + '"]'); + if (subFieldEl) { + var _subFieldEl$classList; + subFieldEl.classList.add('frm_hidden'); + (_subFieldEl$classList = subFieldEl.classList).remove.apply(_subFieldEl$classList, _toConsumableArray(colClasses)); + setSubFieldElToCache(fieldId, name, subFieldEl); + } + }); + subFieldNames.forEach(function (subFieldName) { + var subFieldEl = getSubFieldElFromCache(fieldId, subFieldName); + if (!subFieldEl) { + return; + } + subFieldEl.classList.remove('frm_hidden'); + subFieldEl.classList.add(newColClass); + container.append(subFieldEl); + }); + + /* + * Live update subfield options. + */ + // Hide all subfield options. + allSubFieldNames.forEach(function (name) { + var optionsEl = document.querySelector('.frm_sub_field_options-' + name + '[data-field-id="' + fieldId + '"]'); + if (optionsEl) { + optionsEl.classList.add('frm_hidden'); + setSubFieldElToCache(fieldId, name + '_options', optionsEl); + } + }); + subFieldNames.forEach(function (subFieldName) { + var optionsEl = getSubFieldElFromCache(fieldId, subFieldName + '_options'); + if (!optionsEl) { + return; + } + optionsEl.classList.remove('frm_hidden'); + }); + }; + var dropdownSelector = '.frm_name_layout_dropdown'; + document.addEventListener('change', function (event) { + if (event.target.matches(dropdownSelector)) { + onChangeLayout(event); + } + }, false); + } + function debounce(func) { + var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100; + return frmDom.util.debounce(func, wait); + } + function addSaveAndDragIconsToOption(fieldId, liObject) { + var li, useTag, useTagHref; + var hasDragIcon = false; + var hasSaveIcon = false; + if (liObject.newOption) { + var parser = new DOMParser(); + li = parser.parseFromString(liObject.newOption, 'text/html').body.childNodes[0]; + } else { + li = liObject; + } + var liIcons = li.querySelectorAll('svg'); + liIcons.forEach(function (svg, key) { + useTag = svg.getElementsByTagNameNS('http://www.w3.org/2000/svg', 'use')[0]; + if (!useTag) { + return; + } + useTagHref = useTag.getAttributeNS('http://www.w3.org/1999/xlink', 'href') || useTag.getAttribute('href'); + if (useTagHref === '#frm_drag_icon') { + hasDragIcon = true; + } + if (useTagHref === '#frm_save_icon') { + hasSaveIcon = true; + } + }); + if (!hasDragIcon) { + li.prepend(icons.drag.cloneNode(true)); + } + if (li.querySelector("[id^=field_key_".concat(fieldId, "-]")) && !hasSaveIcon) { + li.querySelector("[id^=field_key_".concat(fieldId, "-]")).after(icons.save.cloneNode(true)); + } + if (liObject.newOption) { + liObject.newOption = li; + } + } + function maybeAddSaveAndDragIcons(fieldId) { + var fieldOptions = document.querySelectorAll("[id^=frm_delete_field_".concat(fieldId, "-]")); + // return if there are no options. + if (fieldOptions.length < 2) { + return; + } + var options = _toConsumableArray(fieldOptions).slice(1); + options.forEach(function (li, _key) { + if (li.classList.contains('frm_other_option')) { + return; + } + addSaveAndDragIconsToOption(fieldId, li); + }); + } + + /** + * Enforce the maximum number of entries list columns dynamically. + * + * @since 6.24 + * + * @return {void} + */ + function maybeInitEntriesListPage() { + if (!document.body.classList.contains('frm-admin-page-entries')) { + return; + } + var screenOptionsWrapper = document.getElementById('screen-options-wrap'); + if (!screenOptionsWrapper) { + return; + } + var maxSelectionsNote = div({ + className: 'frm_warning_style', + text: __('Only 10 columns can be selected at a time.', 'formidable') + }); + maxSelectionsNote.style.margin = 0; + var legend = screenOptionsWrapper.querySelector('legend'); + legend.parentNode.insertBefore(maxSelectionsNote, legend.nextElementSibling); + var checkboxes = Array.from(screenOptionsWrapper.querySelectorAll('input[type="checkbox"]')); + var maximumColumns = 10; + var getSelectedCount = function getSelectedCount() { + return checkboxes.reduce(function (count, checkbox) { + return checkbox.checked ? count + 1 : count; + }, 0); + }; + var disableCheckboxesIfAtMax = function disableCheckboxesIfAtMax() { + if (getSelectedCount() >= maximumColumns) { + maxSelectionsNote.classList.remove('frm_hidden'); + checkboxes.forEach(function (checkbox) { + if (!checkbox.checked) { + checkbox.parentNode.classList.add('frm_noallow'); + checkbox.disabled = true; + } + }); + } else { + maxSelectionsNote.classList.add('frm_hidden'); + } + }; + var addCheckboxListeners = function addCheckboxListeners() { + checkboxes.forEach(function (checkbox) { + checkbox.addEventListener('change', function (event) { + if (event.target.checked) { + disableCheckboxesIfAtMax(); + } else { + maxSelectionsNote.classList.add('frm_hidden'); + + // Enable all checkboxes when a checkbox is unchecked. + checkboxes.forEach(function (checkbox) { + checkbox.parentNode.classList.remove('frm_noallow'); + checkbox.disabled = false; + }); + } + }); + }); + }; + disableCheckboxesIfAtMax(); + addCheckboxListeners(); + } + function initOnSubmitAction() { + var onChangeType = function onChangeType(event) { + if (!event.target.checked) { + return; + } + var actionEl = event.target.closest('.frm_form_action_settings'); + actionEl.querySelectorAll('.frm_on_submit_dependent_setting:not(.frm_hidden)').forEach(function (el) { + el.classList.add('frm_hidden'); + }); + var activeEls = actionEl.querySelectorAll('.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']'); + activeEls.forEach(function (activeEl) { + activeEl.classList.remove('frm_hidden'); + }); + actionEl.setAttribute('data-on-submit-type', event.target.value); + }; + frmDom.util.documentOn('change', '.frm_on_submit_type input[type="radio"]', onChangeType); + } + + /** + * Listen for click events for an API-loaded email collection form. + * + * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages). + */ + function initAddMyEmailAddress() { + jQuery(document).on('click', '#frm-add-my-email-address', function (event) { + event.preventDefault(); + addMyEmailAddress(); + }); + var emptyInbox = document.getElementById('frm_empty_inbox'); + var leaveEmailInput = document.getElementById('frm_leave_email'); + if (emptyInbox && leaveEmailInput) { + var leaveEmailModal = document.getElementById('frm-leave-email-modal'); + leaveEmailModal.classList.remove('frm_hidden'); + leaveEmailModal.querySelector('.frm_modal_footer').classList.add('frm_hidden'); + leaveEmailInput.addEventListener('keyup', function (event) { + if ('Enter' === event.key) { + var button = document.getElementById('frm-add-my-email-address'); + if (button) { + button.click(); + } + } + }); + } + } + function addMyEmailAddress() { + var email = document.getElementById('frm_leave_email').value.trim(); + if ('' === email) { + handleEmailAddressError('empty'); + return; + } + var regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i; + if (regex.test(email) === false) { + handleEmailAddressError('invalid'); + return; + } + var $hiddenForm = jQuery('#frmapi-email-form').find('form'); + var $hiddenEmailField = $hiddenForm.find('[type="email"]').not('.frm_verify'); + if (!$hiddenEmailField.length) { + return; + } + var emptyInbox = document.getElementById('frm_empty_inbox'); + if (emptyInbox) { + document.getElementById('frm-add-my-email-address').remove(); + var emailWrapper = document.getElementById('frm_leave_email_wrapper'); + if (emailWrapper) { + emailWrapper.classList.add('frm_hidden'); + var spinner = span({ + className: 'frm-wait frm_spinner' + }); + spinner.style.visibility = 'visible'; + spinner.style.float = 'none'; + spinner.style.width = 'unset'; + emailWrapper.parentElement.insertBefore(spinner, emailWrapper.nextElementSibling); + } + } + $hiddenEmailField.val(email); + jQuery.ajax({ + type: 'POST', + url: $hiddenForm.attr('action'), + data: $hiddenForm.serialize() + '&action=frm_forms_preview' + }).done(function (data) { + var message = jQuery(data).find('.frm_message').text().trim(); + if (message.indexOf('Thanks!') === -1) { + handleEmailAddressError('invalid'); + return; + } + var apiForm = document.getElementById('frmapi-email-form'); + var spinner = apiForm.parentElement.querySelector('.frm_spinner'); + if (spinner) { + spinner.remove(); + } + var showSuccessMessage = wp.hooks.applyFilters('frm_thank_you_on_signup', true); + if (showSuccessMessage) { + // Handle successful form submission. + // handle the Active Campaign form on the inbox page. + document.getElementById('frm_leave_email_wrapper').replaceWith(span(__('Thank you for signing up!', 'formidable'))); + } + }); + } + + /** + * Adds footer links to the admin body content. + * + * @return {void} + */ + function addAdminFooterLinks() { + var _document$querySelect7; + var footerLinks = document.querySelector('.frm-admin-footer-links'); + var container = (_document$querySelect7 = document.querySelector('.frm_page_container')) !== null && _document$querySelect7 !== void 0 ? _document$querySelect7 : document.getElementById('wpbody-content'); + if (!footerLinks || !container) { + return; + } + container.appendChild(footerLinks); + footerLinks.classList.remove('frm_hidden'); + } + + /** + * Apply zebra striping to a table while ignoring empty rows. + * + * @param {string} tableSelector The CSS selector for the table. + * @param {string} emptyRowClass The class name used to identify empty rows. + */ + function applyZebraStriping(tableSelector, emptyRowClass) { + // Get all non-empty table rows within the specified table + var rows = document.querySelectorAll("".concat(tableSelector, " tr").concat(emptyRowClass ? ":not(.".concat(emptyRowClass, ")") : '')); + if (rows.length < 1) { + return; + } + var isOdd = true; + rows.forEach(function (row) { + // Clean old "frm-odd" or "frm-even" classes and add the appropriate new class + row.classList.remove('frm-odd', 'frm-even'); + row.classList.add(isOdd ? 'frm-odd' : 'frm-even'); + isOdd = !isOdd; + }); + var tables = document.querySelectorAll(tableSelector); + tables.forEach(function (table) { + return table.classList.add('frm-zebra-striping'); + }); + } + function maybeHideShortcodes(e) { + if (!builderPage) { + e.stopPropagation(); + } + if (e.target.classList.contains('frm-show-box') || e.target.parentElement && e.target.parentElement.classList.contains('frm-show-box')) { + return; + } + var sidebar = document.getElementById('frm_adv_info'); + if (!sidebar) { + return; + } + if (sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined') { + return; + } + var isChild = e.target.closest('#frm_adv_info'); + if (!isChild && sidebar.style.display !== 'none') { + hideShortcodes(sidebar); + } + } + + /** + * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class. + * It sets up initial visibility at page load and updates it on each dropdown change. + * + * @since 6.9 + * + * @return {void} + */ + function initSelectDependencies() { + var selects = document.querySelectorAll('select.frm_select_with_dependency'); + + /** + * Toggles the visibility of dependent elements associated with a select element based on its current selection. + * + * @since 6.9 + * + * @param {HTMLElement} select The select element whose dependencies need to be managed. + * @return {void} + */ + function toggleDependencyVisibility(select) { + var selectedOption = select.options[select.selectedIndex]; + select.querySelectorAll('option[data-dependency]:not([data-dependency-skip])').forEach(function (option) { + var dependencyElement = document.querySelector(option.dataset.dependency); + dependencyElement === null || dependencyElement === void 0 || dependencyElement.classList.toggle('frm_hidden', selectedOption !== option); + }); + } + + // Initial setup: Show dependencies based on the current selection in each dropdown + selects.forEach(toggleDependencyVisibility); + + // Update dependencies visibility on dropdown change + frmDom.util.documentOn('change', 'select.frm_select_with_dependency', function (event) { + return toggleDependencyVisibility(event.target); + }); + } + + /** + * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text. + * + * @param {HTMLElement} currentInput The currently focused input element. + */ + function focusNextSingleOptionInput(currentInput) { + var optionsList = currentInput.closest('.frm_single_option').parentElement; + var inputs = optionsList.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'); + var inputsArray = Array.from(inputs); + + // Find the index of the currently focused input + var currentIndex = inputsArray.indexOf(currentInput); + if (currentIndex < 0) { + return; + } + + // Find the next visible input field + var nextInput = inputsArray.slice(currentIndex + 1).find(function (input) { + return input.offsetParent !== null; + }); + if (nextInput) { + nextInput.focus(); + + // Move the cursor to the end of the text in the next input field + var textLength = nextInput.value.length; + nextInput.setSelectionRange(textLength, textLength); + } + } + return { + init: function init() { + initAddMyEmailAddress(); + addAdminFooterLinks(); + document.addEventListener('show.bs.dropdown', function () { + // Fixes issues with tooltips lingering after a dropdown is shown. + deleteTooltips(); + }); + s = {}; + + // Bootstrap dropdown button + jQuery('.wp-admin').on('click', function (e) { + var t = jQuery(e.target); + var $openDrop = jQuery('.dropdown.open'); + if ($openDrop.length && !t.hasClass('dropdown') && !t.closest('.dropdown').length) { + $openDrop.removeClass('open'); + } + }); + jQuery('#frm_bs_dropdown:not(.open) a').on('click', focusSearchBox); + if (typeof thisFormId === 'undefined') { + thisFormId = jQuery(document.getElementById('form_id')).val(); + } + + // Add event listener for dismissible warning messages. + document.querySelectorAll('.frm-warning-dismiss').forEach(function (dismissIcon) { + onClickPreventDefault(dismissIcon, dismissWarningMessage); + }); + frmAdminBuild.inboxBannerInit(); + if ($newFields.length > 0) { + // only load this on the form builder page + frmAdminBuild.buildInit(); + } else if (document.getElementById('frm_notification_settings') !== null) { + // only load on form settings page + frmAdminBuild.settingsInit(); + } else if (document.getElementById('frm_styling_form') !== null) { + // load styling settings js + frmAdminBuild.styleInit(); + } else if (document.getElementById('form_global_settings') !== null) { + // global settings page + frmAdminBuild.globalSettingsInit(); + } else if (document.getElementById('frm_export_xml') !== null) { + // import/export page + frmAdminBuild.exportInit(); + } else if (null !== document.querySelector('.frm-inbox-wrapper')) { + // Dashboard page inbox. + frmAdminBuild.inboxInit(); + } else if (document.getElementById('frm-welcome') !== null) { + // Solution install page + frmAdminBuild.solutionInit(); + } else { + maybeInitEntriesListPage(); + initAutocomplete(); + jQuery('[data-frmprint]').on('click', function () { + window.print(); + return false; + }); + } + jQuery(document).on('change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts); + initSelectDependencies(); + var $advInfo = jQuery(document.getElementById('frm_adv_info')); + if ($advInfo.length > 0 || jQuery('.frm_field_list').length > 0) { + // only load on the form, form settings, and view settings pages + frmAdminBuild.panelInit(); + } + loadTooltips(); + initUpgradeModal(); + frmDom.util.documentOn('click', '[data-modal-title]', showBasicModal); + + // used on build, form settings, and view settings + var $shortCodeDiv = jQuery(document.getElementById('frm_shortcodediv')); + if ($shortCodeDiv.length > 0) { + jQuery('a.edit-frm_shortcode').on('click', function () { + if ($shortCodeDiv.is(':hidden')) { + $shortCodeDiv.slideDown('fast'); + this.style.display = 'none'; + } + return false; + }); + jQuery('.cancel-frm_shortcode', '#frm_shortcodediv').on('click', function () { + $shortCodeDiv.slideUp('fast'); + $shortCodeDiv.siblings('a.edit-frm_shortcode').show(); + return false; + }); + } + + // tabs + jQuery(document).on('click', '#frm-nav-tabs a', clickNewTab); + jQuery('.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a').on('click', function () { + var showUpgradeTab = this.classList.contains('frm_show_upgrade_tab'); + if (this.classList.contains('frm_noallow') && !showUpgradeTab) { + return; + } + if (showUpgradeTab) { + populateUpgradeTab(this); + } + clickTab(this); + return false; + }); + clickTab(jQuery('.starttab a'), 'auto'); + + // submit the search form with dropdown + jQuery(document).on('click', '#frm-fid-search-menu a', function () { + var val = this.id.replace('fid-', ''); + jQuery('select[name="fid"]').val(val); + triggerSubmit(document.getElementById('posts-filter')); + return false; + }); + jQuery('.frm_select_box').on('click focus', function () { + this.select(); + }); + jQuery(document).on('input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent); + jQuery(document).on('focusin click', '.frm-auto-search', stopPropagation); + var autoSearch = jQuery('.frm-auto-search'); + if (autoSearch.val() !== '') { + autoSearch.trigger('keyup'); + } + + // Initialize Formidable Connection. + FrmFormsConnect.init(); + jQuery(document).on('click', '.frm-install-addon', installAddon); + jQuery(document).on('click', '.frm-activate-addon', activateAddon); + jQuery(document).on('click', '.frm-solution-multiple', installMultipleAddons); + + // prevent annoying confirmation message from WordPress + jQuery('button, input[type=submit]').on('click', removeWPUnload); + addMultiselectLabelListener(); + frmAdminBuild.hooks.addFilter('frm_before_embed_modal', function (ids, _ref4) { + var element = _ref4.element, + type = _ref4.type; + if ('form' !== type) { + return ids; + } + var formId, formKey; + var row = element.closest('tr'); + if (row) { + // Embed icon on form index. + formId = parseInt(row.querySelector('.column-id').textContent); + formKey = row.querySelector('.column-form_key').textContent; + } else { + // Embed button in form builder / form settings. + formId = document.getElementById('form_id').value; + var formKeyInput = document.getElementById('frm_form_key'); + if (formKeyInput) { + formKey = formKeyInput.value; + } else { + var previewDrop = document.getElementById('frm-previewDrop'); + if (previewDrop) { + formKey = previewDrop.nextElementSibling.querySelector('.dropdown-item a').getAttribute('href').split('form=')[1]; + } + } + } + return [formId, formKey]; + }); + document.querySelectorAll('#frm-show-fields > li, .frm_grid_container li').forEach(function (el, _key) { + el.addEventListener('click', function () { + var _this$querySelector; + var fieldId = ((_this$querySelector = this.querySelector('li')) === null || _this$querySelector === void 0 ? void 0 : _this$querySelector.dataset.fid) || this.dataset.fid; + maybeAddSaveAndDragIcons(fieldId); + }); + }); + var smallScreenProceedButton = document.getElementById('frm_small_screen_proceed_button'); + if (smallScreenProceedButton) { + onClickPreventDefault(smallScreenProceedButton, function () { + var _document$getElementB5; + (_document$getElementB5 = document.getElementById('frm_small_device_message_container')) === null || _document$getElementB5 === void 0 || _document$getElementB5.remove(); + doJsonPost('small_screen_proceed', new FormData()); + }); + } + var saleBanner = document.getElementById('frm_sale_banner'); + var saleDismiss = saleBanner === null || saleBanner === void 0 ? void 0 : saleBanner.querySelector('.dismiss'); + if (saleBanner) { + onClickPreventDefault(saleBanner, function (event) { + var target = event.target; + if (target.closest('.dismiss')) { + return; + } + window.location.href = saleBanner.getAttribute('data-url'); + }); + if (saleDismiss) { + onClickPreventDefault(saleDismiss, function () { + saleBanner.remove(); + var formData = new FormData(); + doJsonPost('sale_banner_dismiss', formData); + }); + } + } + }, + buildInit: function buildInit() { + jQuery('#frm_builder_page').on('mouseup', '*:not(.frm-show-box)', maybeHideShortcodes); + var loadFieldId, $builderForm, builderArea; + debouncedSyncAfterDragAndDrop = debounce(syncAfterDragAndDrop, 10); + postBodyContent = document.getElementById('post-body-content'); + $postBodyContent = jQuery(postBodyContent); + if (jQuery('.frm_field_loading').length) { + loadFieldId = jQuery('.frm_field_loading').first().attr('id'); + loadFields(loadFieldId); + } + setupSortable('ul.frm_sorting'); + document.querySelectorAll('.field_type_list > li:not(.frm_show_upgrade)').forEach(makeDraggable); + jQuery('ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a').disableSelection(); + jQuery('.frm_submit_ajax').on('click', submitBuild); + jQuery('.frm_submit_no_ajax').on('click', submitNoAjax); + addFormNameModalEvents(); + jQuery('a.edit-form-status').on('click', slideDown); + jQuery('.cancel-form-status').on('click', slideUp); + jQuery('.save-form-status').on('click', function () { + var newStatus = jQuery(document.getElementById('form_change_status')).val(); + jQuery('input[name="new_status"]').val(newStatus); + jQuery(document.getElementById('form-status-display')).html(newStatus); + jQuery('.cancel-form-status').trigger('click'); + return false; + }); + jQuery('.frm_form_builder form').first().on('submit', function () { + jQuery('.inplace_field').trigger('blur'); + }); + initiateMultiselect(); + renumberPageBreaks(); + $builderForm = jQuery(builderForm); + builderArea = document.getElementById('frm_form_editor_container'); + $builderForm.on('click', '.frm_add_logic_row', addFieldLogicRow); + $builderForm.on('click', '.frm_add_watch_lookup_row', addWatchLookupRow); + $builderForm.on('change', '.frm_get_values_form', updateGetValueFieldSelection); + $builderForm.on('change', '.frm_logic_field_opts', getFieldValues); + $builderForm.on('frm-multiselect-changed', 'select[name^="field_options[admin_only_"]', adjustVisibilityValuesForEveryoneValues); + jQuery(document.getElementById('frm-insert-fields')).on('click', '.frm_add_field', addFieldClick); + $newFields.on('click', '.frm_clone_field', duplicateField); + $builderForm.on('blur', 'input[id^="frm_calc"]', checkCalculationCreatedByUser); + $builderForm.on('change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg); + $builderForm.on('change click', '[data-changeme]', liveChanges); + $builderForm.on('click', 'input.frm_req_field', markRequired); + $builderForm.on('click', '.frm_mark_unique', markUnique); + $builderForm.on('change', '.frm_repeat_format', toggleRepeatButtons); + $builderForm.on('change', '.frm_repeat_limit', checkRepeatLimit); + $builderForm.on('change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit); + $builderForm.on('input', 'input[name^="field_options[add_label_"]', function () { + updateRepeatText(this, 'add'); + }); + $builderForm.on('input', 'input[name^="field_options[remove_label_"]', function () { + updateRepeatText(this, 'remove'); + }); + $builderForm.on('change', 'select[name^="field_options[data_type_"]', maybeClearWatchFields); + jQuery(builderArea).on('click', '.frm-collapse-page', maybeCollapsePage); + jQuery(builderArea).on('click', '.frm-collapse-section', maybeCollapseSection); + $builderForm.on('click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings); + $builderForm.on('keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function (event) { + // If so, only proceed if the key pressed was 'Enter' or 'Space' + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault(); + maybeCollapseSettings.call(this, event); + } + }); + jQuery(builderArea).on('show.bs.dropdown hide.bs.dropdown', changeSectionStyle); + $builderForm.on('click', '.frm_toggle_sep_values', toggleSepValues); + $builderForm.on('click', '.frm_toggle_image_options', toggleImageOptions); + $builderForm.on('click', '.frm_remove_image_option', removeImageFromOption); + $builderForm.on('click', '.frm_choose_image_box', addImageToOption); + $builderForm.on('change', '.frm_hide_image_text', refreshOptionDisplay); + $builderForm.on('change', '.frm_field_options_image_size', setImageSize); + $builderForm.on('click', '.frm_multiselect_opt', toggleMultiselect); + $newFields.on('mousedown', 'input, textarea, select', stopFieldFocus); + $newFields.on('click', 'input[type=radio], input[type=checkbox]', stopFieldFocus); + $newFields.on('click', '.frm_delete_field', clickDeleteField); + $newFields.on('click', '.frm_select_field', clickSelectField); + jQuery(document).on('click', '.frm_delete_field_group', clickDeleteFieldGroup); + jQuery(document).on('click', '.frm_clone_field_group', duplicateFieldGroup); + jQuery(document).on('click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout); + jQuery(document).on('click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick); + jQuery(document).on('click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick); + jQuery(document).on('click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick); + jQuery(document).on('click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick); + jQuery(document).on('click', '.frm-break-field-group', breakFieldGroupClick); + $newFields.on('click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick); + jQuery(document).on('click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick); + jQuery(document).on('click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick); + $newFields.on('click', 'ul.frm_sorting', fieldGroupClick); + jQuery(document).on('click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick); + jQuery(document).on('click', '.frm-delete-field-groups', deleteFieldGroupsClick); + $newFields.on('click', '.frm-field-action-icons [data-toggle="dropdown"]', function () { + this.closest('li.form-field').classList.add('frm-field-settings-open'); + jQuery(document).on('click', '#frm_builder_page', handleClickOutsideOfFieldSettings); + }); + $newFields.on('mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove); + $newFields.on('show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow); + jQuery(document).on('show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow); + $builderForm.on('click', '.frm_single_option a[data-removeid]', deleteFieldOption); + $builderForm.on('mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio); + $builderForm.on('focusin', '.frm_single_option input[type=text]', maybeClearOptText); + $builderForm.on('click', '.frm_add_opt', addFieldOption); + $builderForm.on('change', '.frm_single_option input', resetOptOnChange); + $builderForm.on('change', '.frm_image_id', resetOptOnChange); + $builderForm.on('change', '.frm_toggle_mult_sel', toggleMultSel); + $newFields.on('click', '.frm_primary_label', clickLabel); + $newFields.on('click', '.frm_description', clickDescription); + $newFields.on('click', 'li.ui-state-default:not(.frm_noallow)', clickVis); + $newFields.on('dblclick', 'li.ui-state-default', openAdvanced); + $builderForm.on('change', '.frm_tax_form_select', toggleFormTax); + $builderForm.on('change', 'select.conf_field', addConf); + $builderForm.on('change', '.frm_get_field_selection', getFieldSelection); + $builderForm.on('click', '.frm-show-inline-modal', maybeShowInlineModal); + $builderForm.on('keydown', '.frm-show-inline-modal', function (event) { + var key = event.key; + if (key === 'Enter' || key === ' ') { + event.preventDefault(); + maybeShowInlineModal.call(this, event); + } + }); + $builderForm.on('click', '.frm-inline-modal .dismiss', dismissInlineModal); + jQuery(document).on('change', '[data-frmchange]', changeInputtedValue); + document.addEventListener('click', closeModalOnOutsideClick); + $builderForm.on('change', '.frm_include_extras_field', rePopCalcFieldsForSummary); + $builderForm.on('change', 'select[name^="field_options[form_select_"]', maybeChangeEmbedFormMsg); + jQuery(document).on('submit', '#frm_js_build_form', buildSubmittedNoAjax); + jQuery(document).on('change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated); + popAllProductFields(); + jQuery(document).on('change', '.frmjs_prod_data_type_opt', toggleProductType); + jQuery(document).on('focus', '.frm-single-settings ul input[type="text"][name^="field_options[options_"]', onOptionTextFocus); + jQuery(document).on('blur', '.frm-single-settings ul input[type="text"][name^="field_options[options_"]', onOptionTextBlur); + frmDom.util.documentOn('click', '.frm-show-field-settings', clickVis); + frmDom.util.documentOn('change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput); + + // Navigate to the next input field on pressing Enter in a single option field + $builderForm.on('keydown', '.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]', function (event) { + if ('Enter' === event.key) { + focusNextSingleOptionInput(event.currentTarget); + } + }); + initBulkOptionsOverlay(); + hideEmptyEle(); + document.addEventListener('frm_added_field', hideEmptyEle); + maybeHideQuantityProductFieldOption(); + handleNameFieldOnFormBuilder(); + toggleSectionHolder(); + handleShowPasswordLiveUpdate(); + document.addEventListener('scroll', updateShortcodesPopupPosition, true); + document.addEventListener('change', handleBuilderChangeEvent); + document.querySelector('.frm_form_builder').addEventListener('mousedown', function (event) { + if (event.shiftKey) { + event.preventDefault(); + } + }); + wp.hooks.addAction('frmShowedFieldSettings', 'formidableAdmin', function (showBtn, fieldSettingsEl) { + fieldSettingsEl.querySelectorAll('.frm-collapse-me').forEach(addSlideAnimationCssVars); + }, 9999); + }, + settingsInit: function settingsInit() { + var $formActions = jQuery(document.getElementById('frm_notification_settings')); + var formSettings, $loggedIn, $cookieExp, $editable; + + // BCC, CC, and Reply To button functionality + $formActions.on('click', '.frm_email_buttons', showEmailRow); + $formActions.on('click', '.frm_remove_field', hideEmailRow); + $formActions.on('change', '.frm_to_row, .frm_from_row', showEmailWarning); + $formActions.on('change', '.frm_tax_selector', changePosttaxRow); + $formActions.on('change', 'select.frm_single_post_field', checkDupPost); + $formActions.on('change', 'select.frm_toggle_post_content', togglePostContent); + $formActions.on('change', 'select.frm_dyncontent_opt', fillDyncontent); + $formActions.on('change', '.frm_post_type', switchPostType); + $formActions.on('click', '.frm_add_postmeta_row', addPostmetaRow); + $formActions.on('click', '.frm_add_posttax_row', addPosttaxRow); + $formActions.on('click', '.frm_toggle_cf_opts', toggleCfOpts); + $formActions.on('click', '.frm_duplicate_form_action', copyFormAction); + jQuery('.frm_actions_list').on('click', '.frm_active_action', addFormAction); + jQuery('#frm-show-groups, #frm-hide-groups').on('click', toggleActionGroups); + initiateMultiselect(); + + //set actions icons to inactive + jQuery('ul.frm_actions_list li').each(function () { + checkActiveAction(jQuery(this).children('a').data('actiontype')); + + // If the icon is a background image, don't add BG color. + var icon = jQuery(this).find('i'); + if (icon.css('background-image') !== 'none') { + icon.addClass('frm-inverse'); + } + }); + jQuery('.frm_submit_settings_btn').on('click', submitSettings); + addFormNameModalEvents(); + formSettings = jQuery('.frm_form_settings'); + formSettings.on('click', '.frm_add_form_logic', addFormLogicRow); + formSettings.on('click', '.frm_already_used', actionLimitMessage); + document.addEventListener('click', function handleImageUploadClickEvents(event) { + var target = event.target; + if (!target.closest('.frm_image_preview_wrapper')) { + return; + } + if (target.closest('.frm_choose_image_box')) { + addImageToOption.bind(target)(event); + return; + } + if (target.closest('.frm_remove_image_option')) { + removeImageFromOption.bind(target)(event); + } + }); + + // Close shortcode modal on click. + formSettings.on('mouseup', '*:not(.frm-show-box)', maybeHideShortcodes); + + //Warning when user selects "Do not store entries ..." + jQuery(document.getElementById('no_save')).on('change', function () { + if (this.checked) { + if (confirm(frmAdminJs.no_save_warning) !== true) { + // Uncheck box if user hits "Cancel" + jQuery(this).attr('checked', false); + } + } + }); + jQuery('select[name="options[edit_action]"]').on('change', showSuccessOpt); + $loggedIn = document.getElementById('logged_in'); + jQuery($loggedIn).on('change', function () { + if (this.checked) { + visible('.hide_logged_in'); + } else { + invisible('.hide_logged_in'); + } + }); + $cookieExp = jQuery(document.getElementById('frm_cookie_expiration')); + jQuery(document.getElementById('frm_single_entry_type')).on('change', function () { + if (this.value === 'cookie') { + $cookieExp.fadeIn('slow'); + } else { + $cookieExp.fadeOut('slow'); + } + }); + var $singleEntry = document.getElementById('single_entry'); + jQuery($singleEntry).on('change', function () { + if (this.checked) { + visible('.hide_single_entry'); + } else { + invisible('.hide_single_entry'); + } + if (this.checked && jQuery(document.getElementById('frm_single_entry_type')).val() === 'cookie') { + $cookieExp.fadeIn('slow'); + } else { + $cookieExp.fadeOut('slow'); + } + }); + jQuery('.hide_save_draft').hide(); + var $saveDraft = jQuery(document.getElementById('save_draft')); + $saveDraft.on('change', function () { + if (this.checked) { + jQuery('.hide_save_draft').fadeIn('slow'); + } else { + jQuery('.hide_save_draft').fadeOut('slow'); + } + }); + triggerChange($saveDraft); + + //If Allow editing is checked/unchecked + $editable = document.getElementById('editable'); + jQuery($editable).on('change', function () { + if (this.checked) { + jQuery('.hide_editable').fadeIn('slow'); + triggerChange(document.getElementById('edit_action')); + } else { + jQuery('.hide_editable').fadeOut('slow'); + jQuery('.edit_action_message_box').fadeOut('slow'); //Hide On Update message box + } + }); + + //If File Protection is checked/unchecked + jQuery(document).on('change', '#protect_files', function () { + if (this.checked) { + jQuery('.hide_protect_files').fadeIn('slow'); + } else { + jQuery('.hide_protect_files').fadeOut('slow'); + } + }); + jQuery(document).on('frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues); + jQuery(document).on('submit', '.frm_form_settings', settingsSubmitted); + jQuery(document).on('change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated); + + // Page Selection Autocomplete + initAutocomplete(); + jQuery(document).on('frm-action-loaded', onActionLoaded); + initOnSubmitAction(); + wp.hooks.addAction('frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated); + }, + panelInit: function panelInit() { + var customPanel, settingsPage, viewPage, insertFieldsTab; + jQuery('.frm_wrap, #postbox-container-1').on('click', '.frm_insert_code', insertCode); + jQuery(document).on('change', '.frm_insert_val', function () { + insertFieldCode(jQuery(this).data('target'), jQuery(this).val()); + jQuery(this).val(''); + }); + jQuery(document).on('click change', '[name="frm-id-key-condition"]', resetLogicBuilder); + jQuery(document).on('keyup change', '.frm-build-logic', setLogicExample); + showInputIcon(); + jQuery(document).on('frmElementAdded', function (event, parentEle) { + /* This is here for add-ons to trigger */ + showInputIcon(parentEle); + }); + jQuery(document).on('mousedown', '.frm-show-box', showShortcodes); + settingsPage = document.getElementById('form_settings_page'); + viewPage = document.body.classList.contains('post-type-frm_display'); + insertFieldsTab = document.getElementById('frm_insert_fields_tab'); + if (settingsPage !== null || viewPage || builderPage) { + jQuery(document).on('focusin', 'form input, form textarea', function (e) { + var htmlTab; + e.stopPropagation(); + maybeShowModal(this); + if (jQuery(this).is(':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])')) { + if (jQuery(e.target).closest('#frm_adv_info').length) { + // Don't trigger for fields inside of the modal. + return; + } + if (settingsPage !== null || builderPage) { + /* form settings page */ + htmlTab = jQuery('#frm_html_tab'); + if (jQuery(this).closest('#html_settings').length > 0) { + htmlTab.show(); + htmlTab.siblings().hide(); + jQuery('#frm_html_tab a').trigger('click'); + toggleAllowedHTML(this); + } else { + showElement(jQuery('.frm-category-tabs li')); + insertFieldsTab.click(); + htmlTab.hide(); + htmlTab.siblings().show(); + } + } else if (viewPage) { + var event = new CustomEvent('frm_legacy_views_handle_field_focus'); + event.frmData = { + idAttrValue: this.id + }; + document.dispatchEvent(event); + } + } + }); + } + jQuery('.frm_wrap, #postbox-container-1').on('mousedown', '#frm_adv_info a, .frm_field_list a', function (e) { + e.preventDefault(); + }); + customPanel = jQuery('#frm_adv_info'); + customPanel.on('click', '.subsubsub a.frmids', function (e) { + toggleKeyID('frmids', e); + }); + customPanel.on('click', '.subsubsub a.frmkeys', function (e) { + toggleKeyID('frmkeys', e); + }); + }, + inboxInit: function inboxInit() { + var _document$getElementB6; + jQuery('.frm_inbox_dismiss').on('click', function (e) { + var message = this.parentNode.parentNode; + var key = message.getAttribute('data-message'); + var href = this.getAttribute('href'); + var dismissedMessage = message.cloneNode(true); + var dismissedMessagesWrapper = document.querySelector('.frm-dismissed-inbox-messages'); + if ('free_templates' === key && !this.classList.contains('frm_inbox_dismiss')) { + return; + } + e.preventDefault(); + data = { + action: 'frm_inbox_dismiss', + key: key, + nonce: frmGlobal.nonce + }; + var isInboxSlideIn = 'frm_inbox_slide_in' === message.id; + if (isInboxSlideIn) { + message.classList.remove('s11-fadein'); + message.classList.add('s11-fadeout'); + message.addEventListener('animationend', function () { + return message.remove(); + }, { + once: true + }); + } + postAjax(data, function () { + if (isInboxSlideIn) { + return; + } + if (href !== '#') { + window.location = href; + return true; + } + fadeOut(message, function () { + if (null !== dismissedMessagesWrapper) { + var _dismissedMessage$que; + dismissedMessage.classList.remove('frm-fade'); + (_dismissedMessage$que = dismissedMessage.querySelector('.frm-inbox-message-heading')) === null || _dismissedMessage$que === void 0 || _dismissedMessage$que.removeChild(dismissedMessage.querySelector('.frm-inbox-message-heading .frm_inbox_dismiss')); + dismissedMessagesWrapper.append(dismissedMessage); + } + if (1 === message.parentNode.querySelectorAll('.frm-inbox-message-container').length) { + document.getElementById('frm_empty_inbox').classList.remove('frm_hidden'); + message.parentNode.closest('.frm-active').classList.add('frm-empty-inbox'); + showActiveCampaignForm(); + } + message.parentNode.removeChild(message); + }); + }); + }); + if (false === ((_document$getElementB6 = document.getElementById('frm_empty_inbox')) === null || _document$getElementB6 === void 0 ? void 0 : _document$getElementB6.classList.contains('frm_hidden'))) { + showActiveCampaignForm(); + } + }, + solutionInit: function solutionInit() { + jQuery(document).on('submit', '#frm-new-template', installTemplate); + }, + styleInit: function styleInit() { + var $previewWrapper = jQuery('.frm_image_preview_wrapper'); + $previewWrapper.on('click', '.frm_choose_image_box', addImageToOption); + $previewWrapper.on('click', '.frm_remove_image_option', removeImageFromOption); + wp.hooks.doAction('frm_style_editor_init'); + }, + customCSSInit: function customCSSInit() { + console.warn('Calling frmAdminBuild.customCSSInit is deprecated.'); + }, + globalSettingsInit: function globalSettingsInit() { + var licenseTab; + jQuery(document).on('click', '[data-frmuninstall]', uninstallNow); + initiateMultiselect(); + + // activate addon licenses + licenseTab = document.getElementById('licenses_settings'); + if (licenseTab !== null) { + jQuery(licenseTab).on('click', '.edd_frm_save_license', saveAddonLicense); + } + + // Solution install page + jQuery(document).on('click', '#frm-new-template button', installTemplateFieldset); + jQuery('#frm-dismissable-cta .dismiss').on('click', function (event) { + event.preventDefault(); + jQuery.post(ajaxurl, { + action: 'frm_lite_settings_upgrade', + nonce: frmGlobal.nonce + }); + jQuery('.settings-lite-cta').remove(); + }); + var captchaType = document.getElementById('frm_re_type'); + if (captchaType) { + captchaType.addEventListener('change', handleCaptchaTypeChange); + } + document.querySelector('.frm_captchas').addEventListener('change', function (event) { + var _document$querySelect8; + var captchaValueOnLoad = (_document$querySelect8 = document.querySelector('.frm_captchas input[checked="checked"]')) === null || _document$querySelect8 === void 0 ? void 0 : _document$querySelect8.value; + var showNote = event.target.value !== captchaValueOnLoad; + document.querySelector('.captcha_settings .frm_note_style').classList.toggle('frm_hidden', !showNote); + }); + + // Set fieldsUpdated to 0 to avoid the unsaved changes pop up. + frmDom.util.documentOn('submit', '.frm_settings_form', function () { + return fieldsUpdated = 0; + }); + var manageStyleSettings = document.getElementById('manage_styles_settings'); + if (manageStyleSettings) { + manageStyleSettings.addEventListener('change', function (event) { + var target = event.target; + if ('SELECT' !== target.nodeName || !target.dataset.name || target.getAttribute('name')) { + return; + } + target.setAttribute('name', target.dataset.name); + }); + } + var paymentsSettings = document.getElementById('payments_settings'); + var paymentSettingsTabs = paymentsSettings === null || paymentsSettings === void 0 ? void 0 : paymentsSettings.querySelectorAll('[name="frm_payment_section"]'); + if (paymentSettingsTabs) { + paymentSettingsTabs.forEach(function (element) { + element.addEventListener('change', function () { + if (!element.checked) { + return; + } + var label = paymentsSettings.querySelector("label[for=\"".concat(element.id, "\"]")); + if (label) { + label.setAttribute('aria-selected', 'true'); + } + paymentSettingsTabs.forEach(function (tab) { + if (tab === element) { + return; + } + var label = paymentsSettings.querySelector("label[for=\"".concat(tab.id, "\"]")); + if (label) { + label.setAttribute('aria-selected', 'false'); + } + }); + }); + }); + } + }, + exportInit: function exportInit() { + jQuery('.frm_form_importer').on('submit', startFormMigration); + jQuery(document.getElementById('frm_export_xml')).on('submit', validateExport); + jQuery('#frm_export_xml input, #frm_export_xml select').on('change', removeExportError); + jQuery('input[name="frm_import_file"]').on('change', checkCSVExtension); + document.querySelector('select[name="format"]').addEventListener('change', exportTypeChanged); + jQuery('input[name="frm_export_forms[]"]').on('click', preventMultipleExport); + initiateMultiselect(); + jQuery('.frm-feature-banner .dismiss').on('click', function (event) { + event.preventDefault(); + jQuery.post(ajaxurl, { + action: 'frm_dismiss_migrator', + plugin: this.id, + nonce: frmGlobal.nonce + }); + this.parentElement.remove(); + }); + showOrHideRepeaters(getExportOption()); + document.querySelector('#frm-export-select-all').addEventListener('change', function (event) { + document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function (cb) { + return cb.checked = event.target.checked; + }); + }); + }, + inboxBannerInit: function inboxBannerInit() { + var banner = document.getElementById('frm_banner'); + if (!banner) { + return; + } + var dismissButton = banner.querySelector('.frm-banner-dismiss'); + document.addEventListener('click', function (event) { + if (event.target !== dismissButton) { + return; + } + var data = { + action: 'frm_inbox_dismiss', + key: banner.dataset.key, + nonce: frmGlobal.nonce + }; + postAjax(data, function () { + jQuery(banner).fadeOut(400, function () { + banner.remove(); + }); + }); + }); + }, + updateOpts: function updateOpts(fieldId, opts, modal) { + var separate = usingSeparateValues(fieldId), + action = isProductField(fieldId) ? 'frm_bulk_products' : 'frm_import_options'; + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: { + action: action, + field_id: fieldId, + opts: opts, + separate: separate, + nonce: frmGlobal.nonce + }, + success: function success(html) { + document.getElementById('frm_field_' + fieldId + '_opts').innerHTML = html; + wp.hooks.doAction('frm_after_bulk_edit_opts', fieldId); + resetDisplayedOpts(fieldId); + if (typeof modal !== 'undefined') { + modal.dialog('close'); + document.getElementById('frm-update-bulk-opts').classList.remove('frm_loading_button'); + } + } + }); + }, + /* remove conditional logic if the field doesn't exist */ + triggerRemoveLogic: function triggerRemoveLogic(fieldID, metaName) { + jQuery('#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag').trigger('click'); + }, + downloadXML: function downloadXML(controller, ids, isTemplate) { + var url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids; + if (isTemplate !== null) { + url = url + '&is_template=' + isTemplate; + } + location.href = url; + }, + /** + * @since 5.0.04 + */ + hooks: { + applyFilters: function applyFilters(hookName) { + var _wp$hooks; + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + return (_wp$hooks = wp.hooks).applyFilters.apply(_wp$hooks, [hookName].concat(args)); + }, + addFilter: function addFilter(hookName, callback, priority) { + return wp.hooks.addFilter(hookName, 'formidable', callback, priority); + }, + doAction: function doAction(hookName) { + var _wp$hooks2; + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key3 = 1; _key3 < _len2; _key3++) { + args[_key3 - 1] = arguments[_key3]; + } + return (_wp$hooks2 = wp.hooks).doAction.apply(_wp$hooks2, [hookName].concat(args)); + }, + addAction: function addAction(hookName, callback, priority) { + return wp.hooks.addAction(hookName, 'formidable', callback, priority); + } + }, + applyZebraStriping: applyZebraStriping, + initModal: initModal, + infoModal: infoModal, + offsetModalY: offsetModalY, + adjustConditionalLogicOptionOrders: adjustConditionalLogicOptionOrders, + addRadioCheckboxOpt: addRadioCheckboxOpt, + installNewForm: installNewForm, + toggleAddonState: toggleAddonState, + purifyHtml: purifyHtml, + loadApiEmailForm: loadApiEmailForm, + addMyEmailAddress: addMyEmailAddress, + fillDropdownOpts: fillDropdownOpts, + showSaveAndReloadModal: showSaveAndReloadModal, + clearSettingsBox: clearSettingsBox, + deleteField: deleteField, + insertFormField: insertFormField, + confirmLinkClick: confirmLinkClick, + handleInsertFieldByDraggingResponse: handleInsertFieldByDraggingResponse, + handleAddFieldClickResponse: handleAddFieldClickResponse, + syncLayoutClasses: syncLayoutClasses, + moveFieldSettings: moveFieldSettings + }; +}; +window.frmAdminBuild = frmAdminBuildJS(); +jQuery(document).ready(function () { + var _document$querySelect9; + frmAdminBuild.init(); + document.querySelectorAll('.frm-dropdown-menu').forEach(convertOldBootstrapDropdownsToBootstrap5); + (_document$querySelect9 = document.querySelector('.preview.dropdown .frm-dropdown-toggle')) === null || _document$querySelect9 === void 0 || _document$querySelect9.setAttribute('data-bs-toggle', 'dropdown'); + + // Bootstrap 5 uses data-bs-toggle instead of data-toggle. + document.querySelectorAll('[data-toggle]').forEach(function (toggle) { + return toggle.setAttribute('data-bs-toggle', toggle.getAttribute('data-toggle')); + }); + function convertOldBootstrapDropdownsToBootstrap5(frmDropdownMenu) { + frmDropdownMenu.classList.add('dropdown-menu'); + var toggle = frmDropdownMenu.querySelector('.frm-dropdown-toggle'); + if (toggle) { + if (!toggle.hasAttribute('role')) { + toggle.setAttribute('role', 'button'); + } + if (!toggle.hasAttribute('tabindex')) { + toggle.setAttribute('tabindex', 0); + } + } + + // Convert
                                                                                    • and
                                                                                        tags. + if ('UL' === frmDropdownMenu.tagName) { + convertBootstrapUl(frmDropdownMenu); + } + } + function convertBootstrapUl(ul) { + var html = ul.outerHTML; + html = html.replace('
                                                                                          ', ''); + html = html.replaceAll('
                                                                                        • ', '
                                                                                        • ', ''); + ul.outerHTML = html; + } +}); +window.frm_show_div = function (div, value, showIf, classId) { + // eslint-disable-line camelcase + if (value == showIf) { + jQuery(classId + div).fadeIn('slow').css('visibility', 'visible'); + } else { + jQuery(classId + div).fadeOut('slow'); + } +}; +window.frmCheckAll = function (checked, n) { + jQuery('input[name^="' + n + '"]').prop('checked', !!checked); +}; +window.frmCheckAllLevel = function (checked, n, level) { + var $kids = jQuery('.frm_catlevel_' + level).children('.frm_checkbox').children('label'); + $kids.children('input[name^="' + n + '"]').prop('checked', !!checked); +}; +window.frmGetFieldValues = function (fieldId, cur, rowNumber, fieldType, htmlName, callback) { + if (!fieldId) { + return; + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery('input[name="frm_action"]').val() + '&nonce=' + frmGlobal.nonce, + success: function success(msg) { + document.getElementById('frm_show_selected_values_' + cur + '_' + rowNumber).innerHTML = msg; + if ('function' === typeof callback) { + callback(); + } + } + }); +}; +window.frmImportCsv = function (formID) { + var urlVars = ''; + if (typeof __FRMURLVARS !== 'undefined') { + urlVars = __FRMURLVARS; + } + jQuery.ajax({ + type: 'POST', + url: ajaxurl, + data: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars, + success: function success(count) { + var max = jQuery('.frm_admin_progress_bar').attr('aria-valuemax'); + var imported = max - count; + var percent = imported / max * 100; + jQuery('.frm_admin_progress_bar').css('width', percent + '%').attr('aria-valuenow', imported); + if (parseInt(count, 10) > 0) { + jQuery('.frm_csv_remaining').html(count); + frmImportCsv(formID); + } else { + jQuery(document.getElementById('frm_import_message')).html(frm_admin_js.import_complete); // eslint-disable-line camelcase + setTimeout(function () { + location.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1'; + }, 2000); + } + } + }); +}; +/******/ })() +; +//# sourceMappingURL=formidable_admin.js.map \ No newline at end of file diff --git a/js/formidable_admin.js.map b/js/formidable_admin.js.map index dc56e1468e..77c1da8308 100644 --- a/js/formidable_admin.js.map +++ b/js/formidable_admin.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable_admin.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B,yC;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA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K;AACb,C;;;;;;;;;;AChRA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;;AAEA,YAAY,4BAA4B;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/addon-state.js","webpack://formidable/./js/src/admin/upgrade-popup.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","import { __ } from '@wordpress/i18n';\n\nconst { div, svg } = frmDom;\n\n/**\n * Toggles the state of an add-on (ie. enable or disable an add-on).\n *\n * @param {Element} clicked\n * @param {string} action\n */\nexport function toggleAddonState( clicked, action ) {\n\tconst ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase\n\n\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\tjQuery( '.frm-addon-error' ).remove();\n\tconst button = jQuery( clicked );\n\tconst plugin = button.attr( 'rel' );\n\tconst el = button.parent();\n\tconst message = el.parent().find( '.addon-status-label' );\n\n\tbutton.addClass( 'frm_loading_button' );\n\n\t// Process the Ajax to perform the activation.\n\tjQuery.ajax( {\n\t\turl: ajaxurl,\n\t\ttype: 'POST',\n\t\tasync: true,\n\t\tcache: false,\n\t\tdataType: 'json',\n\t\tdata: {\n\t\t\taction: action,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\tplugin: plugin\n\t\t},\n\t\tsuccess: function( response ) {\n\t\t\tresponse = response?.data ?? response;\n\n\t\t\tlet saveAndReload;\n\n\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t}\n\t\t\t\tresponse = response.message;\n\t\t\t}\n\n\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\tif ( error ) {\n\t\t\t\taddonError( error, el, button );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t/**\n\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t *\n\t\t\t * @param {Object} response\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t},\n\t\terror: function() {\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t}\n\t} );\n}\n\nexport function extractErrorFromAddOnResponse( response ) {\n\tif ( typeof response !== 'string' ) {\n\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( response.form ) {\n\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn false;\n}\n\nexport function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\n\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\taddonStatuses.forEach(\n\t\taddonStatus => {\n\t\t\taddonStatus.textContent = response;\n\t\t\taddonStatus.style.display = 'block';\n\t\t}\n\t);\n\n\t// The Ajax request was successful, so let's update the output.\n\tbutton.css( { opacity: '0' } );\n\n\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\toneClick => {\n\t\t\toneClick.style.display = 'none';\n\t\t}\n\t);\n\n\tshowUpgradeModalSuccess();\n\n\t// Proceed with CSS changes\n\tconst actionMap = {\n\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t};\n\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\tconst messageElement = message[ 0 ];\n\tif ( messageElement ) {\n\t\tmessageElement.textContent = actionMap[ action ].message;\n\t}\n\n\tconst parentElement = el[ 0 ].parentElement;\n\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\tparentElement.classList.add( actionMap[ action ].class );\n\n\tconst buttonElement = button[ 0 ];\n\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t// Maybe refresh import and SMTP pages\n\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\tif ( refreshPage.length > 0 ) {\n\t\twindow.location.reload();\n\t\treturn;\n\t}\n\n\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport function addonError( response, el, button ) {\n\tif ( response.form ) {\n\t\tjQuery( '.frm-inline-error' ).remove();\n\t\tbutton.closest( '.frm-card' )\n\t\t\t.html( response.form )\n\t\t\t.css( { padding: 5 } )\n\t\t\t.find( '#upgrade' )\n\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t.on( 'click', installAddonWithCreds );\n\t} else {\n\t\tel.append( '

                                                                                          ' + response.message + '

                                                                                          ' );\n\t\tbutton.removeClass( 'frm_loading_button' );\n\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t}\n}\n\nfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\tconst className = 'frm-save-and-reload-options';\n\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\tif ( inModal ) {\n\t\tchildren.push( closePopupButton() );\n\t}\n\treturn div( { className, children } );\n}\n\nfunction saveAndReloadSettingsButton( saveAndReload ) {\n\tconst button = document.createElement( 'button' );\n\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\tbutton.addEventListener( 'click', () => {\n\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\tsaveAndReloadFormBuilder();\n\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\tsaveAndReloadSettings();\n\t\t}\n\t} );\n\treturn button;\n}\n\nfunction saveAndReloadSettings() {\n\tconst page = document.getElementById( 'form_settings_page' );\n\tif ( null !== page ) {\n\t\tconst form = page.querySelector( 'form.frm_form_settings' );\n\t\tif ( null !== form ) {\n\t\t\twp.hooks.doAction( 'frm_reset_fields_updated' );\n\t\t\tform.submit();\n\t\t}\n\t}\n}\n\nfunction closePopupButton() {\n\tconst a = document.createElement( 'a' );\n\ta.setAttribute( 'href', '#' );\n\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\ta.textContent = __( 'Not Now', 'formidable' );\n\treturn a;\n}\n\nfunction saveAndReloadFormBuilder() {\n\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t}\n\tsubmitButton.click();\n}\n\n/**\n * Updates the upgrade modal to show successful addon installation state.\n *\n * @private\n * @return {void}\n */\nfunction showUpgradeModalSuccess() {\n\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\tif ( ! upgradeModal ) {\n\t\treturn;\n\t}\n\n\tupgradeModal.classList.add( 'frm-success' );\n\n\tconst upgradeMessage = upgradeModal.querySelector( '.frm-upgrade-message' );\n\tif ( upgradeMessage ) {\n\t\tconst image = upgradeMessage.querySelector( 'img' );\n\t\tupgradeMessage.replaceChildren(\n\t\t\t__( 'Great! Everything\\'s ready to go!', 'formidable' ),\n\t\t\tdocument.createElement( 'br' ),\n\t\t\t__( 'You just need to refresh the builder so the new field becomes available.', 'formidable' )\n\t\t);\n\t\tif ( image ) {\n\t\t\tupgradeMessage.append( image );\n\t\t}\n\t}\n\n\tconst frmAddonStatus = document.querySelector( '.frm-addon-status' );\n\tif ( frmAddonStatus ) {\n\t\tfrmAddonStatus.textContent = '';\n\t}\n\n\tconst circledIcon = upgradeModal.querySelector( '.frm-circled-icon' );\n\tif ( circledIcon ) {\n\t\tcircledIcon.classList.add( 'frm-circled-icon-green' );\n\t\tcircledIcon.querySelector( 'svg' )?.replaceWith( svg( { href: '#frm_checkmark_icon' } ) );\n\t}\n}\n","import { __ } from '@wordpress/i18n';\n\nconst { svg } = frmDom;\n\nfunction getShowLinkHrefValue( link, showLink ) {\n\tlet customLink = link.getAttribute( 'data-link' );\n\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t}\n\treturn customLink;\n}\n\n/**\n * Allow addons to be installed from the upgrade modal.\n *\n * @param {Element} link\n * @param {string} context Either 'modal' or 'tab'.\n * @param {string|undefined} upgradeLabel\n */\nexport function addOneClick( link, context, upgradeLabel ) {\n\tlet container;\n\tif ( 'modal' === context ) {\n\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t} else if ( 'tab' === context ) {\n\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t} else {\n\t\treturn;\n\t}\n\n\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\tconst button = container.querySelector( '.frm-oneclick-button' );\n\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\tlet newMessage = link.getAttribute( 'data-message' );\n\tlet showIt = 'block';\n\tlet showMsg = 'block';\n\tlet hideIt = 'none';\n\n\tconst modalIconWrapper = container.querySelector( '.frm-circled-icon' );\n\tif ( modalIconWrapper ) {\n\t\tmodalIconWrapper.classList.remove( 'frm-circled-icon-green' );\n\t\tmodalIconWrapper.querySelector( 'svg' )?.replaceWith( svg( { href: '#frm_filled_lock_icon' } ) );\n\t}\n\n\tconst learnMoreLink = container.querySelector( '.frm-learn-more' );\n\tif ( learnMoreLink ) {\n\t\tlearnMoreLink.href = link.dataset.learnMore;\n\t}\n\n\t// If one click upgrade, hide other content.\n\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\tif ( newMessage === null ) {\n\t\t\tshowMsg = 'none';\n\t\t}\n\t\tshowIt = 'none';\n\t\thideIt = 'block';\n\t\toneclick = JSON.parse( oneclick );\n\n\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\tbutton.rel = oneclick.url;\n\n\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\n\t\tconst linkIcon = link.querySelector( 'use' );\n\t\tif ( linkIcon ) {\n\t\t\tmodalIconWrapper?.querySelector( 'svg' ).replaceWith(\n\t\t\t\tsvg( {\n\t\t\t\t\thref: linkIcon.getAttribute( 'href' ) || linkIcon.getAttribute( 'xlink:href' ), // Get the icon from xlink:href if it has not been updated to use href\n\t\t\t\t\tclassList: [ 'frm_svg32' ]\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( ! newMessage ) {\n\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t}\n\tif ( undefined !== upgradeLabel ) {\n\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t}\n\n\tupgradeMessage.innerHTML = newMessage;\n\n\tif ( link.dataset.upsellImage ) {\n\t\tupgradeMessage.appendChild(\n\t\t\tfrmDom.img( {\n\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\talt: link.dataset.upgrade\n\t\t\t} )\n\t\t);\n\t}\n\n\t// Either set the link or use the default.\n\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\taddonStatus.style.display = 'none';\n\n\toneclickMessage.style.display = hideIt;\n\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\tupgradeMessage.style.display = showMsg;\n\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n\n\tconst showLinkParent = showLink.closest( '.frm-upgrade-modal-actions' );\n\tif ( showLinkParent ) {\n\t\tshowLinkParent.style.display = showIt === 'block' ? 'flex' : showIt;\n\t}\n}\n\nexport function initModal( id, width ) {\n\tconst $info = jQuery( id );\n\tif ( ! $info.length ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof width === 'undefined' ) {\n\t\twidth = '552px';\n\t}\n\n\tconst dialogArgs = {\n\t\tdialogClass: 'frm-dialog',\n\t\tmodal: true,\n\t\tautoOpen: false,\n\t\tcloseOnEscape: true,\n\t\twidth: width,\n\t\tresizable: false,\n\t\tdraggable: false,\n\t\topen: function() {\n\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\tbindClickForDialogClose( $info );\n\t\t},\n\t\tclose: function() {\n\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\tif ( optionType ) {\n\t\t\t\toptionType.value = '';\n\t\t\t}\n\t\t}\n\t};\n\n\t$info.dialog( dialogArgs );\n\n\treturn $info;\n}\n\nfunction bindClickForDialogClose( $modal ) {\n\tconst closeModal = function() {\n\t\t$modal.dialog( 'close' );\n\t};\n\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t$modal.on( 'click', 'a.dismiss', closeModal );\n}\n\nexport function initUpgradeModal() {\n\tconst $info = initModal( '#frm_upgrade_modal' );\n\tif ( $info === false ) {\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'click', handleUpgradeClick );\n\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\tfunction handleUpgradeClick( event ) {\n\t\tlet element, link, content;\n\n\t\telement = event.target;\n\n\t\tif ( ! element.classList ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\telement = selectedOption;\n\t\t\t}\n\t\t}\n\n\t\tif ( ! element.dataset.upgrade ) {\n\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\tif ( ! parent ) {\n\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\telement.dataset.upgrade = '';\n\t\t\t}\n\t\t\telement = parent;\n\t\t}\n\n\t\tif ( showExpiredModal ) {\n\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\twp.hooks.doAction( hookName, element );\n\t\t\treturn;\n\t\t}\n\n\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst modal = $info.get( 0 );\n\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\tif ( lockIcon ) {\n\t\t\tlockIcon.style.display = 'block';\n\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t}\n\n\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\tif ( oldImage ) {\n\t\t\toldImage.remove();\n\t\t}\n\n\t\tif ( element.dataset.image ) {\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t}\n\t\t\tlockIcon.parentNode.insertBefore( frmDom.img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t}\n\n\t\tconst level = modal.querySelector( '.license-level' );\n\t\tif ( level ) {\n\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t}\n\n\t\t// If one click upgrade, hide other content\n\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image || element.dataset.oneclick ? 'none' : 'inline-block';\n\t\tmodal.querySelector( '.frm-upgrade-modal-title-prefix' ).style.display = element.dataset.oneclick ? 'inline' : 'none';\n\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\tmodal.querySelector( '.frm-upgrade-modal-title-suffix' ).style.display = 'none';\n\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t$info.dialog( 'open' );\n\n\t\t// set the utm medium\n\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\tcontent = element.getAttribute( 'data-content' );\n\t\tif ( content === null ) {\n\t\t\tcontent = '';\n\t\t}\n\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\tbutton.setAttribute( 'href', link );\n\t}\n}\n\nfunction getRequiredLicenseFromTrigger( element ) {\n\tif ( element.dataset.requires ) {\n\t\treturn element.dataset.requires;\n\t}\n\treturn 'Pro';\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst MAX_FIELD_GROUP_SIZE = 12;\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\t/**\n\t * Load a tooltip for a single element.\n\t *\n\t * @since x.x\n\t *\n\t * @param {HTMLElement} element\n\t * @param {boolean} show\n\t */\n\tfunction loadTooltip( element, show = false ) {\n\t\tlet tooltipTarget = element;\n\n\t\t// Bootstrap 5 does not allow tooltips on dropdown triggers, so move the tooltip to the parent element.\n\t\tif ( tooltipTarget.hasAttribute( 'data-toggle' ) || tooltipTarget.hasAttribute( 'data-bs-toggle' ) ) {\n\t\t\ttooltipTarget.parentElement.setAttribute( 'title', tooltipTarget.getAttribute( 'title' ) );\n\t\t\ttooltipTarget.removeAttribute( 'title' );\n\t\t\ttooltipTarget.classList.remove( 'frm_bstooltip' );\n\t\t\ttooltipTarget.parentElement.classList.add( 'frm_bstooltip' );\n\t\t\ttooltipTarget = tooltipTarget.parentElement;\n\t\t}\n\n\t\tjQuery( tooltipTarget ).tooltip();\n\n\t\tif ( show ) {\n\t\t\tdeleteTooltips();\n\t\t\tjQuery( tooltipTarget ).tooltip( 'show' );\n\t\t}\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\t\t\tloadTooltip( this, true );\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-bs-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-bs-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-bs-toggle': 'dropdown',\n\t\t\t\t'data-bs-container': 'body',\n\t\t\t\t'data-bs-display': 'static'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\tconst fieldArgs = {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak\n\t\t};\n\n\t\t// Only send last row field IDs to update their order if this field isn't added to a repeater.\n\t\tconst isInRepeater = sectionId > 0 && document.getElementById( 'form_id' ).value !== formId;\n\t\tif ( ! isInRepeater ) {\n\t\t\tfieldArgs.last_row_field_ids = getFieldIdsInSubmitRow();\n\t\t}\n\n\t\treturn fieldArgs;\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// Allow the maximum number if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = MAX_FIELD_GROUP_SIZE;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\n\t\t\t\tul = document.querySelector( '.dropdown .frm-dropdown-menu.show' );\n\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
                                                                                        • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
                                                                                            ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tconst lastRowOrderInput = field.querySelector( '#frm-last-row-fields-order' );\n\t\tif ( lastRowOrderInput ) {\n\t\t\tupdateLastRowFieldsOrder( JSON.parse( lastRowOrderInput.value ) );\n\t\t}\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle, and requires that elements have the dropdown-menu class.\n\t\tfield.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\t\tfield.querySelectorAll( '.frm-dropdown-menu' ).forEach( dropdownMenu => dropdownMenu.classList.add( 'dropdown-menu' ) );\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\tfunction updateLastRowFieldsOrder( fieldsOrder ) {\n\t\tif ( ! fieldsOrder || 'object' !== typeof fieldsOrder ) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys( fieldsOrder ).forEach( fieldId => {\n\t\t\tconst orderInput = document.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\tif ( orderInput ) {\n\t\t\t\torderInput.value = fieldsOrder[ fieldId ];\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\n\t\t\tconst $thisOption = this.closest( '.frm_single_option' );\n\t\t\tif ( $thisOption ) {\n\t\t\t\t$thisOption.after( newOption.newOption );\n\t\t\t} else {\n\t\t\t\t// Backwards compatibility \"@since 6.24\"\n\t\t\t\t// Note: Keep it jQuery since some events are attached to the element\n\t\t\t\tjQuery( `#frm_field_${ fieldId }_opts` ).append( newOption.newOption );\n\t\t\t}\n\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\tfieldOptionEnableAllRemoveButtons( this );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * Enable all remove buttons for field options.\n\t *\n\t * @param {HTMLElement} element The add option button element.\n\t */\n\tfunction fieldOptionEnableAllRemoveButtons( element ) {\n\t\t// Make sure all remove buttons are enabled\n\t\tconst parentEl = element.classList.contains( 'frm-add-option-legacy' ) // Backwards compatibility \"@since 6.24\"\n\t\t\t? element.closest( '.frm-collapse-me' )?.querySelector( '.frm_sortable_field_opts' )\n\t\t\t: element.closest( '.frm_sortable_field_opts' );\n\n\t\tparentEl?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\t\tif ( ! wp?.media || imagePreview?.dataset.upgrade ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tif ( sizeOfFieldGroup <= 6 ) {\n\t\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\t}\n\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\n\t\tif ( size > 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t\treturn wrapper;\n\t\t}\n\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif ( size > 6 ) {\n\t\t\t\t\t// We only show a single option at 6-12, so we use the full width.\n\t\t\t\t\tuseClass = 'frm_full';\n\t\t\t\t} else {\n\t\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {number|undefined} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( size > 6 ) {\n\t\t\treturn 'frm1';\n\t\t}\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > MAX_FIELD_GROUP_SIZE ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
                                                                                            ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
                                                                                            ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) );\n\t\tlet hasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\t/**\n\t * Get multiple options for a field.\n\t *\n\t * @param {string} fieldId The field id.\n\t * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels.\n\t */\n\tfunction getMultipleOpts( fieldId, showValueAsLabel = false ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' ).filter( '[name$=\"[label]\"], [name*=\"[other_\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\n\t\t\t\tif ( showValueAsLabel && '' === label ) {\n\t\t\t\t\tlabel = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.initUpgradeModal();\n\t}\n\n\tfunction addOneClick( element, type, upgradeLabel ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.addOneClick( element, type, upgradeLabel );\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tlet upgradeButton;\n\t\t\tlet upgradeActions = upgradeModalLink.closest( '.frm-upgrade-modal-actions' );\n\t\t\tif ( upgradeActions ) {\n\t\t\t\tupgradeActions = upgradeActions.cloneNode( true );\n\t\t\t\tupgradeButton = upgradeActions.querySelector( '.frm-upgrade-link' );\n\t\t\t} else {\n\t\t\t\tupgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\t}\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\t\t\tcontainer.appendChild( upgradeActions || upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
                                                                                            ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction resetFieldsUpdated() {\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

                                                                                            ' + res.data.name + ': ' + res.data.msg + '

                                                                                            ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

                                                                                            Imported ' + res.data.name + '

                                                                                            ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.toggleAddonState( clicked, action );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.afterAddonInstall( response, button, message, el, saveAndReload, action );\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tconst addonState = require( './addon-state' );\n\t\treturn addonState.extractErrorFromAddOnResponse( response );\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.addonError( response, el, button );\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\treturn upgradePopup.initModal( id, width );\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\tdocument.addEventListener( 'show.bs.dropdown', function() {\n\t\t\t\t// Fixes issues with tooltips lingering after a dropdown is shown.\n\t\t\t\tdeleteTooltips();\n\t\t\t} );\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\n\t\t\twp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated );\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tdocument.querySelectorAll( '.frm-dropdown-menu' ).forEach( convertOldBootstrapDropdownsToBootstrap5 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-bs-toggle', 'dropdown' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle.\n\t\tdocument.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap5( frmDropdownMenu ) {\n\t\t\tfrmDropdownMenu.classList.add( 'dropdown-menu' );\n\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
                                                                                          • and
                                                                                              tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
                                                                                                ', '' );\n\t\t\thtml = html.replaceAll( '
                                                                                              • ', '
                                                                                                ' );\n\t\t\thtml = html.replaceAll( '
                                                                                              • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["__","_frmDom","frmDom","div","svg","toggleAddonState","clicked","action","_window$ajaxurl","ajaxurl","window","frm_js","ajax_url","jQuery","remove","button","plugin","attr","el","parent","message","find","addClass","ajax","url","type","async","cache","dataType","data","nonce","frmGlobal","success","response","_response$data","_response","saveAndReload","error","extractErrorFromAddOnResponse","addonError","afterAddonInstall","wp","hooks","doAction","removeClass","form","is","html","arguments","length","undefined","frmAdminJs","frm_admin_js","addonStatuses","document","querySelectorAll","forEach","addonStatus","textContent","style","display","css","opacity","oneClick","showUpgradeModalSuccess","actionMap","frm_activate_addon","class","active","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","parentElement","classList","add","buttonElement","refreshPage","location","reload","includes","inModal","closest","appendChild","getSaveAndReloadSettingsOptions","padding","on","installAddonWithCreds","append","delay","fadeOut","className","children","saveAndReloadSettingsButton","push","closePopupButton","createElement","addEventListener","saveAndReloadFormBuilder","saveAndReloadSettings","page","getElementById","querySelector","submit","a","setAttribute","submitButton","contains","click","upgradeModal","upgradeMessage","image","replaceChildren","frmAddonStatus","circledIcon","_circledIcon$querySel","replaceWith","href","getShowLinkHrefValue","link","showLink","customLink","getAttribute","addOneClick","context","upgradeLabel","container","substr","oneclickMessage","oneclick","newMessage","showIt","showMsg","hideIt","modalIconWrapper","_modalIconWrapper$que","learnMoreLink","dataset","learnMore","JSON","parse","replace","rel","linkIcon","innerHTML","upsellImage","img","src","alt","upgrade","showLinkParent","initModal","id","width","$info","dialogArgs","dialogClass","modal","autoOpen","closeOnEscape","resizable","draggable","open","bindClickForDialogClose","close","removeAttribute","optionType","value","dialog","$modal","closeModal","initUpgradeModal","handleUpgradeClick","util","documentOn","event","element","content","target","showExpiredModal","selectedOption","options","selectedIndex","hookName","preventDefault","get","lockIcon","upgradeImageId","oldImage","parentNode","insertBefore","level","getRequiredLicenseFromTrigger","requires","FrmFormsConnect","$","messageBox","reset","setElements","app","init","deauthorize","authorize","reauthorize","pluginSlug","input","license","wpmu","checked","msg","afterAuthorize","showMessage","showProgress","showAuthorized","showInlineSuccess","setTimeout","show","from","to","box","successElement","frmAdminBuild","purifyHtml","confirm","frmAdminBuildJS","MAX_FIELD_GROUP_SIZE","tag","span","onClickPreventDefault","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","empty","$obj","firstChild","removeChild","confirmClick","e","stopPropagation","confirmLinkClick","loadedFrom","applyFilters","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","continueButton","createTextNode","removeAtts","infoModal","toggleItem","toggle","text","$items","hideShowItem","hide","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","current","uncheckItem","uncheckItemElement","nodeName","loadTooltip","tooltipTarget","hasAttribute","tooltip","deleteTooltips","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","isTop","suffix","bulkActionSelector","confirmBulkDelete","removeMore","parseInt","deleteButton","indexOf","last","fadeEle","$fadeEle","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookArgs","b","popCalcFields","cont","inside","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","allowDrop","parents","nextAll","handle","settings","helper","getDraggableHelper","revert","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","each","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","fieldArgs","field_type","has_break","isInRepeater","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","getDeleteActionOption","getDuplicateActionOption","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","lastRowOrderInput","updateLastRowFieldsOrder","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","dropdownMenu","addedEvent","frmField","frmSection","frmType","frmToggles","fieldsOrder","_typeof","keys","orderInput","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","updateOpts","addFieldOption","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","$thisOption","fieldOptionEnableAllRemoveButtons","_element$closest","_parentEl$querySelect","parentEl","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","_wp","imagePreview","media","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","showValueAsLabel","labelName","optObj","optVals","no_label","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","upgradePopup","require","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","populateUpgradeTab","tab","h2","borderBottom","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","upgradeActions","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","resetFieldsUpdated","returnValue","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","activateAddon","installAddon","addonState","proceed","hostname","username","password","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","convertOldBootstrapDropdownsToBootstrap5","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} +{"version":3,"file":"formidable_admin.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YA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DAAiD,mFAAmF,OAAO;;AAEtgB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAY;;AAE1B,cAAc,YAAY;;AAE1B;AACA,aAAa,sDAAsD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4DAA4D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,6EAA6E;AAC1F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8FAA8F;AAC3G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gEAAgE;AAC7E;AACA;AACA;;AAEA,cAAc,kCAAkC;;AAEhD;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA,cAAc,iBAAiB;AAC/B;AACA,cAAc,WAAW;AACzB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB;AACA,cAAc,KAAK;AACnB;AACA,cAAc,OAAO;AACrB,cAAc,gBAAgB;AAC9B;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,YAAY,4BAA4B;AACxC;;AAEO;AACP;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,8CAAM,GAAG;AAC5B;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,m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cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;;AAEA,YAAY,4BAA4B;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;;ACJqD;AACrD;AACA,+BAA+B,gEAAgB;A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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/addon-state.js","webpack://formidable/./js/src/admin/upgrade-popup.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/admin.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","import { __ } from '@wordpress/i18n';\n\nconst { div, svg } = frmDom;\n\n/**\n * Toggles the state of an add-on (ie. enable or disable an add-on).\n *\n * @param {Element} clicked\n * @param {string} action\n */\nexport function toggleAddonState( clicked, action ) {\n\tconst ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase\n\n\t// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.\n\tjQuery( '.frm-addon-error' ).remove();\n\tconst button = jQuery( clicked );\n\tconst plugin = button.attr( 'rel' );\n\tconst el = button.parent();\n\tconst message = el.parent().find( '.addon-status-label' );\n\n\tbutton.addClass( 'frm_loading_button' );\n\n\t// Process the Ajax to perform the activation.\n\tjQuery.ajax( {\n\t\turl: ajaxurl,\n\t\ttype: 'POST',\n\t\tasync: true,\n\t\tcache: false,\n\t\tdataType: 'json',\n\t\tdata: {\n\t\t\taction: action,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\tplugin: plugin\n\t\t},\n\t\tsuccess: function( response ) {\n\t\t\tresponse = response?.data ?? response;\n\n\t\t\tlet saveAndReload;\n\n\t\t\tif ( 'string' !== typeof response && 'string' === typeof response.message ) {\n\t\t\t\tif ( 'undefined' !== typeof response.saveAndReload ) {\n\t\t\t\t\tsaveAndReload = response.saveAndReload;\n\t\t\t\t}\n\t\t\t\tresponse = response.message;\n\t\t\t}\n\n\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\tif ( error ) {\n\t\t\t\taddonError( error, el, button );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tafterAddonInstall( response, button, message, el, saveAndReload, action );\n\n\t\t\t/**\n\t\t\t * Trigger an action after successfully toggling the addon state.\n\t\t\t *\n\t\t\t * @param {Object} response\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_update_addon_state', response );\n\t\t},\n\t\terror: function() {\n\t\t\tbutton.removeClass( 'frm_loading_button' );\n\t\t}\n\t} );\n}\n\nexport function extractErrorFromAddOnResponse( response ) {\n\tif ( typeof response !== 'string' ) {\n\t\tif ( typeof response.success !== 'undefined' && response.success ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( response.form ) {\n\t\t\tif ( jQuery( response.form ).is( '#message' ) ) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: jQuery( response.form ).find( 'p' ).html()\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn false;\n}\n\nexport function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\n\tconst addonStatuses = document.querySelectorAll( '.frm-addon-status' );\n\taddonStatuses.forEach(\n\t\taddonStatus => {\n\t\t\taddonStatus.textContent = response;\n\t\t\taddonStatus.style.display = 'block';\n\t\t}\n\t);\n\n\t// The Ajax request was successful, so let's update the output.\n\tbutton.css( { opacity: '0' } );\n\n\tdocument.querySelectorAll( '.frm-oneclick' ).forEach(\n\t\toneClick => {\n\t\t\toneClick.style.display = 'none';\n\t\t}\n\t);\n\n\tshowUpgradeModalSuccess();\n\n\t// Proceed with CSS changes\n\tconst actionMap = {\n\t\tfrm_activate_addon: { class: 'frm-addon-active', message: frmAdminJs.active },\n\t\tfrm_deactivate_addon: { class: 'frm-addon-installed', message: frmAdminJs.installed },\n\t\tfrm_uninstall_addon: { class: 'frm-addon-not-installed', message: frmAdminJs.not_installed }\n\t};\n\tactionMap.frm_install_addon = actionMap.frm_activate_addon;\n\n\tconst messageElement = message[ 0 ];\n\tif ( messageElement ) {\n\t\tmessageElement.textContent = actionMap[ action ].message;\n\t}\n\n\tconst parentElement = el[ 0 ].parentElement;\n\tparentElement.classList.remove( 'frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active' );\n\tparentElement.classList.add( actionMap[ action ].class );\n\n\tconst buttonElement = button[ 0 ];\n\tbuttonElement.classList.remove( 'frm_loading_button' );\n\n\t// Maybe refresh import and SMTP pages\n\tconst refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp, #frm-welcome' );\n\tif ( refreshPage.length > 0 ) {\n\t\twindow.location.reload();\n\t\treturn;\n\t}\n\n\tif ( [ 'settings', 'form_builder' ].includes( saveAndReload ) ) {\n\t\taddonStatuses.forEach(\n\t\t\taddonStatus => {\n\t\t\t\tconst inModal = null !== addonStatus.closest( '#frm_upgrade_modal' );\n\t\t\t\taddonStatus.appendChild( getSaveAndReloadSettingsOptions( saveAndReload, inModal ) );\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport function addonError( response, el, button ) {\n\tif ( response.form ) {\n\t\tjQuery( '.frm-inline-error' ).remove();\n\t\tbutton.closest( '.frm-card' )\n\t\t\t.html( response.form )\n\t\t\t.css( { padding: 5 } )\n\t\t\t.find( '#upgrade' )\n\t\t\t.attr( 'rel', button.attr( 'rel' ) )\n\t\t\t.on( 'click', installAddonWithCreds );\n\t} else {\n\t\tel.append( '

                                                                                                ' + response.message + '

                                                                                                ' );\n\t\tbutton.removeClass( 'frm_loading_button' );\n\t\tjQuery( '.frm-addon-error' ).delay( 4000 ).fadeOut();\n\t}\n}\n\nfunction getSaveAndReloadSettingsOptions( saveAndReload, inModal ) {\n\tconst className = 'frm-save-and-reload-options';\n\tconst children = [ saveAndReloadSettingsButton( saveAndReload ) ];\n\tif ( inModal ) {\n\t\tchildren.push( closePopupButton() );\n\t}\n\treturn div( { className, children } );\n}\n\nfunction saveAndReloadSettingsButton( saveAndReload ) {\n\tconst button = document.createElement( 'button' );\n\tbutton.classList.add( 'frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary' );\n\tbutton.textContent = __( 'Save and Reload', 'formidable' );\n\tbutton.addEventListener( 'click', () => {\n\t\tif ( saveAndReload === 'form_builder' ) {\n\t\t\tsaveAndReloadFormBuilder();\n\t\t} else if ( saveAndReload === 'settings' ) {\n\t\t\tsaveAndReloadSettings();\n\t\t}\n\t} );\n\treturn button;\n}\n\nfunction saveAndReloadSettings() {\n\tconst page = document.getElementById( 'form_settings_page' );\n\tif ( null !== page ) {\n\t\tconst form = page.querySelector( 'form.frm_form_settings' );\n\t\tif ( null !== form ) {\n\t\t\twp.hooks.doAction( 'frm_reset_fields_updated' );\n\t\t\tform.submit();\n\t\t}\n\t}\n}\n\nfunction closePopupButton() {\n\tconst a = document.createElement( 'a' );\n\ta.setAttribute( 'href', '#' );\n\ta.classList.add( 'button', 'button-secondary', 'frm-button-secondary', 'dismiss' );\n\ta.textContent = __( 'Not Now', 'formidable' );\n\treturn a;\n}\n\nfunction saveAndReloadFormBuilder() {\n\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t}\n\tsubmitButton.click();\n}\n\n/**\n * Updates the upgrade modal to show successful addon installation state.\n *\n * @private\n * @return {void}\n */\nfunction showUpgradeModalSuccess() {\n\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\tif ( ! upgradeModal ) {\n\t\treturn;\n\t}\n\n\tupgradeModal.classList.add( 'frm-success' );\n\n\tconst upgradeMessage = upgradeModal.querySelector( '.frm-upgrade-message' );\n\tif ( upgradeMessage ) {\n\t\tconst image = upgradeMessage.querySelector( 'img' );\n\t\tupgradeMessage.replaceChildren(\n\t\t\t__( 'Great! Everything\\'s ready to go!', 'formidable' ),\n\t\t\tdocument.createElement( 'br' ),\n\t\t\t__( 'You just need to refresh the builder so the new field becomes available.', 'formidable' )\n\t\t);\n\t\tif ( image ) {\n\t\t\tupgradeMessage.append( image );\n\t\t}\n\t}\n\n\tconst frmAddonStatus = document.querySelector( '.frm-addon-status' );\n\tif ( frmAddonStatus ) {\n\t\tfrmAddonStatus.textContent = '';\n\t}\n\n\tconst circledIcon = upgradeModal.querySelector( '.frm-circled-icon' );\n\tif ( circledIcon ) {\n\t\tcircledIcon.classList.add( 'frm-circled-icon-green' );\n\t\tcircledIcon.querySelector( 'svg' )?.replaceWith( svg( { href: '#frm_checkmark_icon' } ) );\n\t}\n}\n","import { __ } from '@wordpress/i18n';\n\nconst { svg } = frmDom;\n\nfunction getShowLinkHrefValue( link, showLink ) {\n\tlet customLink = link.getAttribute( 'data-link' );\n\tif ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {\n\t\tcustomLink = showLink.getAttribute( 'data-default' );\n\t}\n\treturn customLink;\n}\n\n/**\n * Allow addons to be installed from the upgrade modal.\n *\n * @param {Element} link\n * @param {string} context Either 'modal' or 'tab'.\n * @param {string|undefined} upgradeLabel\n */\nexport function addOneClick( link, context, upgradeLabel ) {\n\tlet container;\n\tif ( 'modal' === context ) {\n\t\tcontainer = document.getElementById( 'frm_upgrade_modal' );\n\t} else if ( 'tab' === context ) {\n\t\tcontainer = document.getElementById( link.getAttribute( 'href' ).substr( 1 ) );\n\t} else {\n\t\treturn;\n\t}\n\n\tconst oneclickMessage = container.querySelector( '.frm-oneclick' );\n\tconst upgradeMessage = container.querySelector( '.frm-upgrade-message' );\n\tconst showLink = container.querySelector( '.frm-upgrade-link' );\n\tconst button = container.querySelector( '.frm-oneclick-button' );\n\tconst addonStatus = container.querySelector( '.frm-addon-status' );\n\n\tlet oneclick = link.getAttribute( 'data-oneclick' );\n\tlet newMessage = link.getAttribute( 'data-message' );\n\tlet showIt = 'block';\n\tlet showMsg = 'block';\n\tlet hideIt = 'none';\n\n\tconst modalIconWrapper = container.querySelector( '.frm-circled-icon' );\n\tif ( modalIconWrapper ) {\n\t\tmodalIconWrapper.classList.remove( 'frm-circled-icon-green' );\n\t\tmodalIconWrapper.querySelector( 'svg' )?.replaceWith( svg( { href: '#frm_filled_lock_icon' } ) );\n\t}\n\n\tconst learnMoreLink = container.querySelector( '.frm-learn-more' );\n\tif ( learnMoreLink ) {\n\t\tlearnMoreLink.href = link.dataset.learnMore;\n\t}\n\n\t// If one click upgrade, hide other content.\n\tif ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {\n\t\tif ( newMessage === null ) {\n\t\t\tshowMsg = 'none';\n\t\t}\n\t\tshowIt = 'none';\n\t\thideIt = 'block';\n\t\toneclick = JSON.parse( oneclick );\n\n\t\tbutton.className = button.className.replace( ' frm-install-addon', '' ).replace( ' frm-activate-addon', '' );\n\t\tbutton.className = button.className + ' ' + oneclick.class;\n\t\tbutton.rel = oneclick.url;\n\n\t\toneclickMessage.textContent = __( 'This plugin is not activated. Would you like to activate it now?', 'formidable' );\n\t\tbutton.textContent = __( 'Activate', 'formidable' );\n\n\t\tconst linkIcon = link.querySelector( 'use' );\n\t\tif ( linkIcon ) {\n\t\t\tmodalIconWrapper?.querySelector( 'svg' ).replaceWith(\n\t\t\t\tsvg( {\n\t\t\t\t\thref: linkIcon.getAttribute( 'href' ) || linkIcon.getAttribute( 'xlink:href' ), // Get the icon from xlink:href if it has not been updated to use href\n\t\t\t\t\tclassList: [ 'frm_svg32' ]\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( ! newMessage ) {\n\t\tnewMessage = upgradeMessage.getAttribute( 'data-default' );\n\t}\n\tif ( undefined !== upgradeLabel ) {\n\t\tnewMessage = newMessage.replace( '', upgradeLabel );\n\t}\n\n\tupgradeMessage.innerHTML = newMessage;\n\n\tif ( link.dataset.upsellImage ) {\n\t\tupgradeMessage.appendChild(\n\t\t\tfrmDom.img( {\n\t\t\t\tsrc: link.dataset.upsellImage,\n\t\t\t\talt: link.dataset.upgrade\n\t\t\t} )\n\t\t);\n\t}\n\n\t// Either set the link or use the default.\n\tshowLink.href = getShowLinkHrefValue( link, showLink );\n\n\taddonStatus.style.display = 'none';\n\n\toneclickMessage.style.display = hideIt;\n\tbutton.style.display = hideIt === 'block' ? 'inline-block' : hideIt;\n\tupgradeMessage.style.display = showMsg;\n\tshowLink.style.display = showIt === 'block' ? 'inline-block' : showIt;\n\n\tconst showLinkParent = showLink.closest( '.frm-upgrade-modal-actions' );\n\tif ( showLinkParent ) {\n\t\tshowLinkParent.style.display = showIt === 'block' ? 'flex' : showIt;\n\t}\n}\n\nexport function initModal( id, width ) {\n\tconst $info = jQuery( id );\n\tif ( ! $info.length ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof width === 'undefined' ) {\n\t\twidth = '552px';\n\t}\n\n\tconst dialogArgs = {\n\t\tdialogClass: 'frm-dialog',\n\t\tmodal: true,\n\t\tautoOpen: false,\n\t\tcloseOnEscape: true,\n\t\twidth: width,\n\t\tresizable: false,\n\t\tdraggable: false,\n\t\topen: function() {\n\t\t\tjQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' );\n\t\t\tjQuery( '#wpwrap' ).addClass( 'frm_overlay' );\n\t\t\tjQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' );\n\t\t\t$info.removeClass( 'ui-dialog-content ui-widget-content' );\n\t\t\tbindClickForDialogClose( $info );\n\t\t},\n\t\tclose: function() {\n\t\t\tjQuery( '#wpwrap' ).removeClass( 'frm_overlay' );\n\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\tthis.removeAttribute( 'data-option-type' );\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' );\n\t\t\tif ( optionType ) {\n\t\t\t\toptionType.value = '';\n\t\t\t}\n\t\t}\n\t};\n\n\t$info.dialog( dialogArgs );\n\n\treturn $info;\n}\n\nfunction bindClickForDialogClose( $modal ) {\n\tconst closeModal = function() {\n\t\t$modal.dialog( 'close' );\n\t};\n\tjQuery( '.ui-widget-overlay' ).on( 'click', closeModal );\n\t$modal.on( 'click', 'a.dismiss', closeModal );\n}\n\nexport function initUpgradeModal() {\n\tconst $info = initModal( '#frm_upgrade_modal' );\n\tif ( $info === false ) {\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'click', handleUpgradeClick );\n\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_upgrade', handleUpgradeClick );\n\n\tfunction handleUpgradeClick( event ) {\n\t\tlet element, link, content;\n\n\t\telement = event.target;\n\n\t\tif ( ! element.classList ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst showExpiredModal = element.classList.contains( 'frm_show_expired_modal' ) || null !== element.querySelector( '.frm_show_expired_modal' ) || element.closest( '.frm_show_expired_modal' );\n\n\t\t// If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute\n\t\tif ( event.type === 'change' && element.classList.contains( 'frm_select_with_upgrade' ) ) {\n\t\t\tconst selectedOption = element.options[ element.selectedIndex ];\n\t\t\tif ( selectedOption && selectedOption.dataset.upgrade ) {\n\t\t\t\telement = selectedOption;\n\t\t\t}\n\t\t}\n\n\t\tif ( ! element.dataset.upgrade ) {\n\t\t\tlet parent = element.closest( '[data-upgrade]' );\n\t\t\tif ( ! parent ) {\n\t\t\t\tparent = element.closest( '.frm_field_box' );\n\t\t\t\tif ( ! parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Fake it if it's missing to avoid error.\n\t\t\t\telement.dataset.upgrade = '';\n\t\t\t}\n\t\t\telement = parent;\n\t\t}\n\n\t\tif ( showExpiredModal ) {\n\t\t\tconst hookName = 'frm_show_expired_modal';\n\t\t\twp.hooks.doAction( hookName, element );\n\t\t\treturn;\n\t\t}\n\n\t\tconst upgradeLabel = element.dataset.upgrade;\n\t\tif ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst modal = $info.get( 0 );\n\t\tconst lockIcon = modal.querySelector( '.frm_lock_icon' );\n\n\t\tif ( lockIcon ) {\n\t\t\tlockIcon.style.display = 'block';\n\t\t\tlockIcon.classList.remove( 'frm_lock_open_icon' );\n\t\t\tlockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );\n\t\t}\n\n\t\tconst upgradeImageId = 'frm_upgrade_modal_image';\n\t\tconst oldImage = document.getElementById( upgradeImageId );\n\t\tif ( oldImage ) {\n\t\t\toldImage.remove();\n\t\t}\n\n\t\tif ( element.dataset.image ) {\n\t\t\tif ( lockIcon ) {\n\t\t\t\tlockIcon.style.display = 'none';\n\t\t\t}\n\t\t\tlockIcon.parentNode.insertBefore( frmDom.img( { id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image } ), lockIcon );\n\t\t}\n\n\t\tconst level = modal.querySelector( '.license-level' );\n\t\tif ( level ) {\n\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t}\n\n\t\t// If one click upgrade, hide other content\n\t\taddOneClick( element, 'modal', upgradeLabel );\n\n\t\tmodal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image || element.dataset.oneclick ? 'none' : 'inline-block';\n\t\tmodal.querySelector( '.frm-upgrade-modal-title-prefix' ).style.display = element.dataset.oneclick ? 'inline' : 'none';\n\t\tmodal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;\n\t\tmodal.querySelector( '.frm-upgrade-modal-title-suffix' ).style.display = 'none';\n\t\tmodal.querySelector( 'h2' ).style.display = 'block';\n\n\t\t$info.dialog( 'open' );\n\n\t\t// set the utm medium\n\t\tconst button = modal.querySelector( '.button-primary:not(.frm-oneclick-button)' );\n\t\tlink = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );\n\t\tcontent = element.getAttribute( 'data-content' );\n\t\tif ( content === null ) {\n\t\t\tcontent = '';\n\t\t}\n\t\tlink = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );\n\t\tbutton.setAttribute( 'href', link );\n\t}\n}\n\nfunction getRequiredLicenseFromTrigger( element ) {\n\tif ( element.dataset.requires ) {\n\t\treturn element.dataset.requires;\n\t}\n\treturn 'Pro';\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */\n/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */\n\nwindow.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) {\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */\n\n\tconst el = {\n\t\tmessageBox: null,\n\t\treset: null,\n\n\t\tsetElements: function() {\n\t\t\tel.messageBox = document.querySelector( '.frm_pro_license_msg' );\n\t\t\tel.reset = document.getElementById( 'frm_reconnect_link' );\n\t\t}\n\t};\n\n\t/**\n\t * Public functions and properties.\n\t *\n\t * @since 4.03\n\t *\n\t * @type {Object}\n\t */\n\tconst app = {\n\n\t\t/**\n\t\t * Register connect button event.\n\t\t *\n\t\t * @since 4.03\n\t\t */\n\t\tinit: function() {\n\t\t\tel.setElements();\n\n\t\t\t$( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize );\n\t\t\t$( '.frm_authorize_link' ).on( 'click', app.authorize );\n\t\t\t// Handles FF dashboard Authorize & Reauthorize events.\n\t\t\t// Attach click event to parent as #frm_deauthorize_link & #frm_reconnect_link dynamically recreated by bootstrap.setupBootstrapDropdowns in dom.js\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_deauthorize_link', app.deauthorize );\n\t\t\t$( '.frm-dashboard-license-options' ).on( 'click', '#frm_reconnect_link', app.reauthorize );\n\n\t\t\tif ( el.reset !== null ) {\n\t\t\t\t$( el.reset ).on( 'click', app.reauthorize );\n\t\t\t}\n\t\t},\n\n\t\t/* Manual license authorization */\n\t\tauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tconst button = this;\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\t\tconst input = document.getElementById( 'edd_' + pluginSlug + '_license_key' );\n\t\t\tconst license = input.value;\n\t\t\tlet wpmu = document.getElementById( 'proplug-wpmu' );\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tif ( wpmu === null ) {\n\t\t\t\twpmu = 0;\n\t\t\t} else if ( wpmu.checked ) {\n\t\t\t\twpmu = 1;\n\t\t\t} else {\n\t\t\t\twpmu = 0;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_activate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\twpmu: wpmu,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tapp.afterAuthorize( msg, input );\n\t\t\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tafterAuthorize: function( msg, input ) {\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tinput.value = '•••••••••••••••••••';\n\t\t\t}\n\n\t\t\twp.hooks.doAction( 'frm_after_authorize', msg );\n\t\t\tapp.showMessage( msg );\n\t\t},\n\n\t\tshowProgress: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\n\t\t\tconst messageBox = el.messageBox;\n\t\t\tif ( messageBox === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tmessageBox.classList.remove( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.add( 'frm_message', 'frm_updated_message' );\n\t\t\t} else {\n\t\t\t\tmessageBox.classList.add( 'frm_error_style' );\n\t\t\t\tmessageBox.classList.remove( 'frm_message', 'frm_updated_message' );\n\t\t\t}\n\t\t\tmessageBox.classList.remove( 'frm_hidden' );\n\t\t\tmessageBox.innerHTML = msg.message;\n\t\t},\n\n\t\tshowMessage: function( msg ) {\n\t\t\tif ( el.messageBox === null ) {\n\t\t\t\t// In case the message box was added after page load.\n\t\t\t\tel.setElements();\n\t\t\t}\n\t\t\tconst messageBox = el.messageBox;\n\n\t\t\tif ( msg.success === true ) {\n\t\t\t\tapp.showAuthorized( true );\n\t\t\t\tapp.showInlineSuccess();\n\n\t\t\t\t/**\n\t\t\t\t * Triggers the after license is authorized action for a confirmation/success modal.\n\t\t\t\t *\n\t\t\t\t * @param {Object} msg An object containing message data received from Authorize request.\n\t\t\t\t */\n\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseAuthorizeSuccess', { msg } );\n\t\t\t}\n\t\t\tapp.showProgress( msg );\n\n\t\t\tif ( msg.message !== '' ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tmessageBox.innerHTML = '';\n\t\t\t\t\tmessageBox.classList.add( 'frm_hidden' );\n\t\t\t\t\tmessageBox.classList.remove( 'frm_error_style', 'frm_message', 'frm_updated_message' );\n\t\t\t\t}, 10000 );\n\t\t\t\tconst refreshPage = document.querySelector( '.frm-admin-page-dashboard' );\n\t\t\t\tif ( refreshPage ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowAuthorized: function( show ) {\n\t\t\tconst from = show ? 'unauthorized' : 'authorized';\n\t\t\tconst to = show ? 'authorized' : 'unauthorized';\n\t\t\tconst container = document.querySelectorAll( '.frm_' + from + '_box' );\n\t\t\tif ( container.length ) {\n\t\t\t\t// Replace all authorized boxes with unauthorized boxes.\n\t\t\t\tcontainer.forEach( function( box ) {\n\t\t\t\t\tbox.className = box.className.replace( 'frm_' + from + '_box', 'frm_' + to + '_box' );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use the data-success element to replace the element content.\n\t\t */\n\t\tshowInlineSuccess: function() {\n\t\t\tconst successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' );\n\t\t\tif ( successElement.length ) {\n\t\t\t\tsuccessElement.forEach( function( element ) {\n\t\t\t\t\telement.innerHTML = frmAdminBuild.purifyHtml( element.getAttribute( 'data-success' ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\t/* Clear the site license cache */\n\t\treauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_reset_cache',\n\t\t\t\t\tplugin: 'formidable_pro',\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tel.reset.textContent = msg.message;\n\t\t\t\t\tif ( el.reset.getAttribute( 'data-refresh' ) === '1' ) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t},\n\n\t\tdeauthorize: function() {\n\t\t\t/*jshint validthis:true */\n\t\t\tif ( ! confirm( frmGlobal.deauthorize ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst pluginSlug = this.getAttribute( 'data-plugin' ),\n\t\t\t\tinput = document.getElementById( 'edd_' + pluginSlug + '_license_key' ),\n\t\t\t\tlicense = input.value,\n\t\t\t\tlink = this;\n\n\t\t\tthis.innerHTML = '';\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_addon_deactivate',\n\t\t\t\t\tlicense: license,\n\t\t\t\t\tplugin: pluginSlug,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tapp.showAuthorized( false );\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tlink.replaceWith( 'Disconnected' );\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers the after license is deauthorized sruccess action.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frmAdmin.afterLicenseDeauthorizeSuccess', {} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t// Provide access to public functions/properties.\n\treturn app;\n}( document, window, jQuery ) );\n\nwindow.frmAdminBuildJS = function() {\n\t//'use strict';\n\n\t/*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */\n\n\tconst MAX_FIELD_GROUP_SIZE = 12;\n\n\tconst frmAdminJs = frm_admin_js; // eslint-disable-line camelcase\n\tconst { tag, div, span, a, svg, img } = frmDom;\n\tconst { onClickPreventDefault } = frmDom.util;\n\tconst { doJsonFetch, doJsonPost } = frmDom.ajax;\n\tfrmAdminJs.contextualShortcodes = getContextualShortcodes();\n\tconst icons = {\n\t\tsave: svg( { href: '#frm_save_icon' } ),\n\t\tdrag: svg( { href: '#frm_drag_icon', classList: [ 'frm_drag_icon', 'frm-drag' ] } )\n\t};\n\n\tlet $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),\n\t\tbuilderForm = document.getElementById( 'new_fields' ),\n\t\tthisForm = document.getElementById( 'form_id' ),\n\t\tcopyHelper = false,\n\t\tfieldsUpdated = 0,\n\t\tthisFormId = 0,\n\t\tautoId = 0,\n\t\toptionMap = {},\n\t\tlastNewActionIdReturned = 0;\n\n\tconst { __, sprintf } = wp.i18n;\n\tlet debouncedSyncAfterDragAndDrop, postBodyContent, $postBodyContent;\n\n\tconst dragState = {\n\t\tdragging: false\n\t};\n\n\tif ( thisForm !== null ) {\n\t\tthisFormId = thisForm.value;\n\t}\n\n\tconst currentURL = new URL( window.location.href );\n\tconst urlParams = currentURL.searchParams;\n\tconst builderPage = document.getElementById( 'frm_builder_page' );\n\n\t// Global settings\n\tlet s;\n\n\tfunction showElement( element ) {\n\t\tif ( ! element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\t\telement[ 0 ].style.display = '';\n\t}\n\n\tfunction empty( $obj ) {\n\t\tif ( $obj !== null ) {\n\t\t\twhile ( $obj.firstChild ) {\n\t\t\t\t$obj.removeChild( $obj.firstChild );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addClass( $obj, className ) {\n\t\tif ( $obj.classList ) {\n\t\t\t$obj.classList.add( className );\n\t\t} else {\n\t\t\t$obj.className += ' ' + className;\n\t\t}\n\t}\n\n\tfunction confirmClick( e ) {\n\t\t/*jshint validthis:true */\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconfirmLinkClick( this );\n\t}\n\n\tfunction confirmLinkClick( link ) {\n\t\tconst message = link.getAttribute( 'data-frmverify' ),\n\t\t\tloadedFrom = link.getAttribute( 'data-loaded-from' );\n\n\t\tif ( message === null || link.id === 'frm-confirmed-click' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( 'entries-list' === loadedFrom ) {\n\t\t\treturn wp.hooks.applyFilters( 'frm_on_multiple_entries_delete', { link, initModal } );\n\t\t}\n\n\t\treturn confirmModal( link );\n\t}\n\n\tfunction confirmModal( link ) {\n\t\tlet verify, $confirmMessage, i, dataAtts, btnClass,\n\t\t\t$info = initModal( '#frm_confirm_modal', '400px' ),\n\t\t\tcontinueButton = document.getElementById( 'frm-confirmed-click' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverify = link.getAttribute( 'data-frmverify' );\n\t\tbtnClass = verify ? link.getAttribute( 'data-frmverify-btn' ) : '';\n\t\t$confirmMessage = jQuery( '.frm-confirm-msg' );\n\t\t$confirmMessage.empty();\n\n\t\tif ( verify ) {\n\t\t\t$confirmMessage.append( document.createTextNode( verify ) );\n\t\t\tif ( btnClass ) {\n\t\t\t\tcontinueButton.classList.add( btnClass );\n\t\t\t}\n\t\t}\n\n\t\tremoveAtts = continueButton.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tcontinueButton.removeAttribute( 'data-' + i );\n\t\t}\n\n\t\tdataAtts = link.dataset;\n\t\tfor ( i in dataAtts ) {\n\t\t\tif ( i !== 'frmverify' ) {\n\t\t\t\tcontinueButton.setAttribute( 'data-' + i, dataAtts[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Triggers the pre-open action for a confirmation modal. This action passes\n\t\t * relevant modal information and associated link to any listening hooks.\n\t\t *\n\t\t * @param {Object} options An object containing modal elements and data.\n\t\t * @param {HTMLElement} options.$info The HTML element containing modal information.\n\t\t * @param {string} options.link The link associated with the modal action.\n\t\t */\n\t\twp.hooks.doAction( 'frmAdmin.beforeOpenConfirmModal', { $info, link } );\n\n\t\t$info.dialog( 'open' );\n\t\tcontinueButton.setAttribute( 'href', link.getAttribute( 'href' ) || link.getAttribute( 'data-href' ) );\n\t\treturn false;\n\t}\n\n\tfunction infoModal( msg ) {\n\t\tconst $info = initModal( '#frm_info_modal', '400px' );\n\n\t\tif ( $info === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '.frm-info-msg' ).html( msg );\n\n\t\t$info.dialog( 'open' );\n\t\treturn false;\n\t}\n\n\tfunction toggleItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst toggle = this.getAttribute( 'data-frmtoggle' );\n\t\tconst text = this.getAttribute( 'data-toggletext' );\n\t\tconst $items = jQuery( toggle );\n\n\t\te.preventDefault();\n\n\t\t$items.toggle();\n\n\t\tif ( text !== null && text !== '' ) {\n\t\t\tthis.setAttribute( 'data-toggletext', this.innerHTML );\n\t\t\tthis.textContent = text;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected.\n\t *\n\t * @param {Event} e Event with either the change or click type.\n\t * @return {false}\n\t */\n\tfunction hideShowItem( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet hide = this.getAttribute( 'data-frmhide' );\n\t\tlet show = this.getAttribute( 'data-frmshow' );\n\t\tlet uncheckList = this.getAttribute( 'data-frmuncheck' );\n\t\tlet uncheckListArray = uncheckList ? uncheckList.split( ',' ) : [];\n\n\t\t// Flip unchecked checkboxes so an off value undoes the on value.\n\t\tif ( isUncheckedCheckbox( this ) ) {\n\t\t\tif ( hide !== null ) {\n\t\t\t\tshow = hide;\n\t\t\t\thide = null;\n\t\t\t} else if ( show !== null ) {\n\t\t\t\thide = show;\n\t\t\t\tshow = null;\n\t\t\t}\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst toggleClass = this.getAttribute( 'data-toggleclass' ) || 'frm_hidden';\n\n\t\tif ( hide !== null ) {\n\t\t\tjQuery( hide ).addClass( toggleClass );\n\t\t}\n\n\t\tif ( show !== null ) {\n\t\t\tjQuery( show ).removeClass( toggleClass );\n\t\t}\n\n\t\tconst current = this.parentNode.querySelectorAll( 'a.current' );\n\t\tif ( current !== null ) {\n\t\t\tfor ( let i = 0; i < current.length; i++ ) {\n\t\t\t\tcurrent[ i ].classList.remove( 'current' );\n\t\t\t}\n\t\t\tthis.classList.add( 'current' );\n\t\t}\n\n\t\tif ( uncheckListArray.length ) {\n\t\t\tuncheckListArray.forEach( function( uncheckItem ) {\n\t\t\t\tconst uncheckItemElement = document.querySelector( uncheckItem );\n\t\t\t\tif ( uncheckItemElement ) {\n\t\t\t\t\tuncheckItemElement.checked = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction isUncheckedCheckbox( element ) {\n\t\treturn 'INPUT' === element.nodeName && 'checkbox' === element.type && ! element.checked;\n\t}\n\n\t/**\n\t * Load a tooltip for a single element.\n\t *\n\t * @since x.x\n\t *\n\t * @param {HTMLElement} element\n\t * @param {boolean} show\n\t */\n\tfunction loadTooltip( element, show = false ) {\n\t\tlet tooltipTarget = element;\n\n\t\t// Bootstrap 5 does not allow tooltips on dropdown triggers, so move the tooltip to the parent element.\n\t\tif ( tooltipTarget.hasAttribute( 'data-toggle' ) || tooltipTarget.hasAttribute( 'data-bs-toggle' ) ) {\n\t\t\ttooltipTarget.parentElement.setAttribute( 'title', tooltipTarget.getAttribute( 'title' ) );\n\t\t\ttooltipTarget.removeAttribute( 'title' );\n\t\t\ttooltipTarget.classList.remove( 'frm_bstooltip' );\n\t\t\ttooltipTarget.parentElement.classList.add( 'frm_bstooltip' );\n\t\t\ttooltipTarget = tooltipTarget.parentElement;\n\t\t}\n\n\t\tjQuery( tooltipTarget ).tooltip();\n\n\t\tif ( show ) {\n\t\t\tdeleteTooltips();\n\t\t\tjQuery( tooltipTarget ).tooltip( 'show' );\n\t\t}\n\t}\n\n\tfunction loadTooltips() {\n\t\tlet wrapClass = jQuery( '.wrap, .frm_wrap' ),\n\t\t\tconfirmModal = document.getElementById( 'frm_confirm_modal' ),\n\t\t\tdoAction = false,\n\t\t\tconfirmedBulkDelete = false;\n\n\t\tjQuery( confirmModal ).on( 'click', '[data-deletefield]', deleteFieldConfirmed );\n\t\tjQuery( confirmModal ).on( 'click', '[data-removeid]', removeThisTag );\n\t\tjQuery( confirmModal ).on( 'click', '[data-trashtemplate]', trashTemplate );\n\n\t\twrapClass.on( 'click', '.frm_remove_tag, .frm_remove_form_action', removeThisTag );\n\t\twrapClass.on( 'click', 'a[data-frmverify]', confirmClick );\n\t\twrapClass.on( 'click', 'a[data-frmtoggle]', toggleItem );\n\t\twrapClass.on( 'click', 'a[data-frmhide], a[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'change', 'input[data-frmhide], input[data-frmshow]', hideShowItem );\n\t\twrapClass.on( 'click', '.widget-top,a.widget-action', clickWidget );\n\n\t\twrapClass.on( 'mouseenter.frm', '.frm_bstooltip, .frm_help', function() {\n\t\t\tjQuery( this ).off( 'mouseenter.frm' );\n\t\t\tloadTooltip( this, true );\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#doaction, #doaction2', function( event ) {\n\t\t\tconst isTop = this.id === 'doaction',\n\t\t\t\tsuffix = isTop ? 'top' : 'bottom',\n\t\t\t\tbulkActionSelector = document.getElementById( 'bulk-action-selector-' + suffix ),\n\t\t\t\tconfirmBulkDelete = document.getElementById( 'confirm-bulk-delete-' + suffix );\n\n\t\t\tif ( bulkActionSelector !== null && confirmBulkDelete !== null ) {\n\t\t\t\tdoAction = this;\n\n\t\t\t\tif ( ! confirmedBulkDelete && bulkActionSelector.value === 'bulk_delete' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconfirmLinkClick( confirmBulkDelete );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdoAction = false;\n\t\t\t}\n\t\t} );\n\n\t\tjQuery( document ).on( 'click', '#frm-confirmed-click', function( event ) {\n\t\t\tif ( doAction === false || event.target.classList.contains( 'frm-btn-inactive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.getAttribute( 'href' ) === 'confirm-bulk-delete' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconfirmedBulkDelete = true;\n\t\t\t\tdoAction.click();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction deleteTooltips() {\n\t\tdocument.querySelectorAll( '.tooltip' ).forEach(\n\t\t\tfunction( tooltip ) {\n\t\t\t\ttooltip.remove();\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction removeThisTag() {\n\t\t/*jshint validthis:true */\n\t\tlet show, hide, removeMore;\n\n\t\tif ( parseInt( this.getAttribute( 'data-skip-frm-js' ) ) || confirmLinkClick( this ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst deleteButton = jQuery( this );\n\t\tconst id = deleteButton.attr( 'data-removeid' );\n\n\t\tshow = deleteButton.attr( 'data-showlast' );\n\t\tif ( typeof show === 'undefined' ) {\n\t\t\tshow = '';\n\t\t}\n\n\t\thide = deleteButton.attr( 'data-hidelast' );\n\t\tif ( typeof hide === 'undefined' ) {\n\t\t\thide = '';\n\t\t}\n\n\t\tremoveMore = deleteButton.attr( 'data-removemore' );\n\n\t\tif ( show !== '' ) {\n\t\t\tif ( deleteButton.closest( '.frm_add_remove' ).find( '.frm_remove_tag:visible' ).length > 1 ) {\n\t\t\t\tshow = '';\n\t\t\t\thide = '';\n\t\t\t}\n\t\t} else if ( id.indexOf( 'frm_postmeta_' ) === 0 ) {\n\t\t\tif ( jQuery( '#frm_postmeta_rows .frm_postmeta_row' ).length < 2 ) {\n\t\t\t\tshow = '.frm_add_postmeta_row.button';\n\t\t\t}\n\t\t\tif ( jQuery( '.frm_toggle_cf_opts' ).length && jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().length ) {\n\t\t\t\tif ( show !== '' ) {\n\t\t\t\t\tshow += ',';\n\t\t\t\t}\n\t\t\t\tshow += '#' + jQuery( '#frm_postmeta_rows .frm_postmeta_row:not(#' + id + ')' ).last().attr( 'id' ) + ' .frm_toggle_cf_opts';\n\t\t\t}\n\t\t}\n\n\t\tconst fadeEle = document.getElementById( id );\n\t\tconst $fadeEle = jQuery( fadeEle );\n\t\t$fadeEle.fadeOut( 300, function() {\n\t\t\t$fadeEle.remove();\n\t\t\tfieldUpdated();\n\n\t\t\tif ( hide !== '' ) {\n\t\t\t\tjQuery( hide ).hide();\n\t\t\t}\n\n\t\t\tif ( show !== '' ) {\n\t\t\t\tjQuery( show + ' a,' + show ).removeClass( 'frm_hidden' ).fadeIn( 'slow' );\n\t\t\t}\n\n\t\t\tif ( this.closest( '.frm_form_action_settings' ) ) {\n\t\t\t\tconst type = this.closest( '.frm_form_action_settings' ).querySelector( '.frm_action_name' ).value;\n\t\t\t\tafterActionRemoved( type );\n\t\t\t}\n\t\t\tdocument.querySelector( '.tooltip' )?.remove();\n\t\t} );\n\n\t\tif ( typeof removeMore !== 'undefined' ) {\n\t\t\tremoveMore = jQuery( removeMore );\n\t\t\tremoveMore.fadeOut( 400, function() {\n\t\t\t\tremoveMore.remove();\n\t\t\t} );\n\t\t}\n\n\t\tif ( show !== '' ) {\n\t\t\tjQuery( this ).closest( '.frm_logic_rows' ).fadeOut( 'slow' );\n\t\t}\n\n\t\t/**\n\t\t * Fires after a tag element has been removed in the admin interface.\n\t\t *\n\t\t * @param {string} id The ID of the removed element\n\t\t * @param {HTMLElement} fadeEle The removed element that was faded out\n\t\t */\n\t\twp.hooks.doAction( 'frm_admin_tag_removed', id, fadeEle );\n\n\t\treturn false;\n\t}\n\n\tfunction afterActionRemoved( type ) {\n\t\tcheckActiveAction( type );\n\n\t\tconst hookName = 'frm_after_action_removed';\n\t\tconst hookArgs = { type };\n\t\twp.hooks.doAction( hookName, hookArgs );\n\t}\n\n\tfunction clickWidget( event, b ) {\n\t\t/*jshint validthis:true */\n\t\tif ( typeof b === 'undefined' ) {\n\t\t\tb = this;\n\t\t}\n\n\t\tpopCalcFields( b, false );\n\n\t\tconst cont = jQuery( b ).closest( '.frm_form_action_settings' );\n\t\tconst target = event.target;\n\n\t\tif ( cont.length && typeof target !== 'undefined' ) {\n\t\t\tconst className = target.parentElement.className;\n\t\t\tif ( 'string' === typeof className ) {\n\t\t\t\tif ( className.indexOf( 'frm_email_icons' ) > -1 || className.indexOf( 'frm_toggle' ) > -1 ) {\n\t\t\t\t\t// clicking on delete icon shouldn't open it\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet inside = cont.children( '.widget-inside' );\n\n\t\tif ( cont.length && inside.find( 'p, div, table' ).length < 1 ) {\n\t\t\tconst actionId = cont.find( 'input[name$=\"[ID]\"]' ).val();\n\t\t\tconst actionType = cont.find( 'input[name$=\"[post_excerpt]\"]' ).val();\n\t\t\tif ( actionType ) {\n\t\t\t\tinside.html( '' );\n\t\t\t\tcont.find( '.spinner' ).fadeIn( 'slow' );\n\t\t\t\tjQuery.ajax( {\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'frm_form_action_fill',\n\t\t\t\t\t\taction_id: actionId,\n\t\t\t\t\t\taction_type: actionType,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\t\tinside.html( html );\n\t\t\t\t\t\tinitiateMultiselect();\n\t\t\t\t\t\tshowInputIcon( '#' + cont.attr( 'id' ) );\n\t\t\t\t\t\tinitAutocomplete( inside );\n\t\t\t\t\t\tjQuery( b ).trigger( 'frm-action-loaded' );\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Fires after filling form action content when opening.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @since 5.5.4\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @param {Object} insideElement JQuery object of form action inside element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\twp.hooks.doAction( 'frm_filled_form_action', inside );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tjQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' );\n\t\tif ( ( typeof b.className !== 'undefined' && b.className.indexOf( 'widget-action' ) !== -1 ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tinside = jQuery( b ).closest( 'div.widget' ).children( '.widget-inside' );\n\t\tif ( inside.is( ':hidden' ) ) {\n\t\t\tinside.slideDown( 'fast' );\n\t\t} else {\n\t\t\tinside.slideUp( 'fast' );\n\t\t}\n\t}\n\n\tfunction clickNewTab() {\n\t\t/*jshint validthis:true */\n\t\tconst t = this.getAttribute( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\t\tconst $link = jQuery( this );\n\n\t\t$link.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\t$link.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\n\t\tconst tabContent = document.getElementById( t.replace( '#', '' ) );\n\t\tif ( tabContent ) {\n\t\t\ttabContent.style.display = 'block';\n\t\t}\n\n\t\t// clearSettingsBox would hide field settings when opening the fields modal and we want to skip it there.\n\t\tif ( this.id === 'frm_insert_fields_tab' && ! this.closest( '#frm_adv_info' ) ) {\n\t\t\tclearSettingsBox();\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction clickTab( link, auto ) {\n\t\tlink = jQuery( link );\n\t\tconst t = link.attr( 'href' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst c = t.replace( '#', '.' );\n\n\t\tlink.closest( 'li' ).addClass( 'frm-tabs active' ).siblings( 'li' ).removeClass( 'frm-tabs active starttab' );\n\t\tif ( link.closest( 'div' ).find( '.tabs-panel' ).length ) {\n\t\t\tlink.closest( 'div' ).children( '.tabs-panel' ).not( t ).not( c ).hide();\n\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t/* global settings */\n\t\t\tconst ajax = link.data( 'frmajax' );\n\t\t\tlink.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide();\n\t\t\tif ( typeof ajax !== 'undefined' && ajax == '1' ) {\n\t\t\t\tloadSettingsTab( t );\n\t\t\t}\n\t\t} else {\n\t\t\t/* form settings page */\n\t\t\tjQuery( '#frm-categorydiv .tabs-panel, .hide_with_tabs' ).hide();\n\t\t}\n\t\tjQuery( t ).show();\n\t\tjQuery( c ).show();\n\n\t\thideShortcodes();\n\n\t\tif ( auto !== 'auto' ) {\n\t\t\t// Hide success message on tab change.\n\t\t\tjQuery( '.frm_updated_message' ).hide();\n\t\t\tjQuery( '.frm_warning_style' ).hide();\n\t\t}\n\n\t\tif ( jQuery( link ).closest( '#frm_adv_info' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( jQuery( '.frm_form_settings' ).length ) {\n\t\t\tjQuery( '.frm_form_settings' ).attr( 'action', '?page=formidable&frm_action=settings&id=' + jQuery( '.frm_form_settings input[name=\"id\"]' ).val() + '&t=' + t.replace( '#', '' ) );\n\t\t} else {\n\t\t\tjQuery( '.frm_settings_form' ).attr( 'action', '?page=formidable-settings&t=' + t.replace( '#', '' ) );\n\t\t}\n\t}\n\n\tfunction setupSortable( sortableSelector ) {\n\t\tdocument.querySelectorAll( sortableSelector ).forEach(\n\t\t\tlist => {\n\t\t\t\tmakeDroppable( list );\n\t\t\t\tArray.from( list.children ).forEach( child => makeDraggable( child, '.frm-move' ) );\n\n\t\t\t\tconst $sectionTitle = jQuery( list ).children( '[data-type=\"divider\"]' ).children( '.divider_section_only' );\n\t\t\t\tif ( $sectionTitle.length ) {\n\t\t\t\t\tmakeDroppable( $sectionTitle );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tsetupFieldOptionSorting( jQuery( '#frm_builder_page' ) );\n\t}\n\n\tfunction makeDroppable( list ) {\n\t\tjQuery( list ).droppable( {\n\t\t\taccept: '.frmbutton, li.frm_field_box',\n\t\t\tdeactivate: handleFieldDrop,\n\t\t\tover: onDragOverDroppable,\n\t\t\tout: onDraggableLeavesDroppable,\n\t\t\ttolerance: 'pointer'\n\t\t} );\n\t}\n\n\tfunction onDragOverDroppable( event, ui ) {\n\t\tconst droppable = getDroppableForOnDragOver( event.target );\n\t\tconst draggable = ui.draggable[ 0 ];\n\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.querySelectorAll( '.frm-over-droppable' ).forEach( droppable => droppable.classList.remove( 'frm-over-droppable' ) );\n\t\tdroppable.classList.add( 'frm-over-droppable' );\n\t\tjQuery( droppable ).parents( 'ul.frm_sorting' ).addClass( 'frm-over-droppable' );\n\t}\n\n\t/**\n\t * Maybe change the droppable.\n\t * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead.\n\t *\n\t * @param {Element} droppable\n\t * @return {Element}\n\t */\n\tfunction getDroppableForOnDragOver( droppable ) {\n\t\tif ( droppable.classList.contains( 'divider_section_only' ) ) {\n\t\t\tdroppable = jQuery( droppable ).nextAll( '.start_divider.frm_sorting' ).get( 0 );\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction onDraggableLeavesDroppable( event ) {\n\t\tconst droppable = event.target;\n\t\tdroppable.classList.remove( 'frm-over-droppable' );\n\t}\n\n\tfunction makeDraggable( draggable, handle ) {\n\t\tconst settings = {\n\t\t\thelper: getDraggableHelper,\n\t\t\trevert: 'invalid',\n\t\t\tdelay: 10,\n\t\t\tstart: handleDragStart,\n\t\t\tstop: handleDragStop,\n\t\t\tdrag: handleDrag,\n\t\t\tcursor: 'grabbing',\n\t\t\trefreshPositions: true,\n\t\t\tcursorAt: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 90 // The width of draggable button is 180. 90 should center the draggable on the cursor.\n\t\t\t}\n\t\t};\n\t\tif ( 'string' === typeof handle ) {\n\t\t\tsettings.handle = handle;\n\t\t}\n\t\tjQuery( draggable ).draggable( settings );\n\t}\n\n\tfunction getDraggableHelper( event ) {\n\t\tconst draggable = event.delegateTarget;\n\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\tconst newTextFieldClone = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_ttext' ).cloneNode( true );\n\t\t\tnewTextFieldClone.querySelector( 'use' ).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_field_group_layout_icon' );\n\t\t\tnewTextFieldClone.querySelector( 'span' ).textContent = __( 'Field Group', 'formidable' );\n\t\t\tnewTextFieldClone.classList.add( 'frm_field_box' );\n\t\t\tnewTextFieldClone.classList.add( 'ui-sortable-helper' );\n\t\t\treturn newTextFieldClone;\n\t\t}\n\n\t\tlet copyTarget;\n\t\tconst isNewField = draggable.classList.contains( 'frmbutton' );\n\t\tif ( isNewField ) {\n\t\t\tcopyTarget = draggable.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\t\t\tdraggable.classList.add( 'frm-new-field' );\n\t\t\treturn copyTarget;\n\t\t}\n\n\t\tif ( draggable.hasAttribute( 'data-ftype' ) ) {\n\t\t\tconst fieldType = draggable.getAttribute( 'data-ftype' );\n\t\t\tcopyTarget = document.getElementById( 'frm-insert-fields' ).querySelector( '.frm_t' + fieldType );\n\t\t\tcopyTarget = copyTarget.cloneNode( true );\n\t\t\tcopyTarget.classList.add( 'form-field' );\n\n\t\t\tcopyTarget.classList.add( 'ui-sortable-helper' );\n\n\t\t\tif ( copyTarget ) {\n\t\t\t\treturn copyTarget.cloneNode( true );\n\t\t\t}\n\t\t}\n\n\t\treturn div( { className: 'frmbutton' } );\n\t}\n\n\tfunction handleDragStart( event, ui ) {\n\t\tdragState.dragging = true;\n\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.add( 'frm-dragging-field' );\n\n\t\tdocument.body.classList.add( 'frm-dragging' );\n\t\tui.helper.addClass( 'frm-sortable-helper' );\n\t\tui.helper.initialOffset = container.scrollTop;\n\n\t\tevent.target.classList.add( 'frm-drag-fade' );\n\n\t\tunselectFieldGroups();\n\t\tdeleteEmptyDividerWrappers();\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tcloseOpenFieldDropdowns();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction handleDragStop() {\n\t\tconst container = postBodyContent;\n\t\tcontainer.classList.remove( 'frm-dragging-field' );\n\t\tdocument.body.classList.remove( 'frm-dragging' );\n\n\t\tconst fade = document.querySelector( '.frm-drag-fade' );\n\t\tif ( fade ) {\n\t\t\tfade.classList.remove( 'frm-drag-fade' );\n\t\t}\n\t}\n\n\tfunction handleDrag( event, ui ) {\n\t\tmaybeScrollBuilder( event );\n\t\tconst draggable = event.target;\n\t\tconst droppable = getDroppableTarget();\n\n\t\tlet placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tif ( ! allowDrop( draggable, droppable, event ) ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder.remove();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! placeholder ) {\n\t\t\tplaceholder = tag( 'li', {\n\t\t\t\tid: 'frm_drag_placeholder',\n\t\t\t\tclassName: 'sortable-placeholder'\n\t\t\t} );\n\t\t}\n\t\tconst frmSortableHelper = ui.helper.get( 0 );\n\t\tif ( frmSortableHelper.classList.contains( 'form-field' ) || frmSortableHelper.classList.contains( 'frm_field_box' ) ) {\n\t\t\t// Sync the y position of the draggable so it still follows the cursor after scrolling up and down the field list.\n\t\t\tfrmSortableHelper.style.transform = 'translateY(' + getDragOffset( ui.helper ) + 'px)';\n\t\t}\n\n\t\tif ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tplaceholder.style.left = 0;\n\t\t\thandleDragOverYAxis( { droppable, y: event.clientY, placeholder } );\n\t\t\treturn;\n\t\t}\n\n\t\tplaceholder.style.top = '';\n\t\thandleDragOverFieldGroup( { droppable, x: event.clientX, placeholder } );\n\t}\n\n\tfunction maybeScrollBuilder( event ) {\n\t\t$postBodyContent.scrollTop(\n\t\t\t( _, v ) => {\n\t\t\t\tconst moved = event.clientY;\n\t\t\t\tconst h = postBodyContent.offsetHeight;\n\t\t\t\tconst relativePos = event.clientY - postBodyContent.offsetTop;\n\t\t\t\tconst y = relativePos - ( h / 2 );\n\n\t\t\t\tif ( relativePos > ( h - 50 ) && moved > 5 ) {\n\t\t\t\t\t// Scrolling down.\n\t\t\t\t\treturn v + ( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\tif ( relativePos < 70 && moved < 130 ) {\n\t\t\t\t\t// Scrolling up.\n\t\t\t\t\treturn v - Math.abs( y * 0.1 );\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDragOffset( $helper ) {\n\t\treturn postBodyContent.scrollTop - $helper.initialOffset;\n\t}\n\n\tfunction getDroppableTarget() {\n\t\tlet droppable = document.getElementById( 'frm-show-fields' );\n\t\twhile ( droppable.querySelector( '.frm-over-droppable' ) ) {\n\t\t\tdroppable = droppable.querySelector( '.frm-over-droppable' );\n\t\t}\n\t\tif ( 'frm-show-fields' === droppable.id && ! droppable.classList.contains( 'frm-over-droppable' ) ) {\n\t\t\tdroppable = false;\n\t\t}\n\t\treturn droppable;\n\t}\n\n\tfunction handleFieldDrop( _, ui ) {\n\t\tif ( ! dragState.dragging ) {\n\t\t\t// dragState.dragging is set to true on drag start.\n\t\t\t// The deactivate event gets called for every droppable. This check to make sure it happens once.\n\t\t\treturn;\n\t\t}\n\n\t\tdragState.dragging = false;\n\n\t\tconst draggable = ui.draggable[ 0 ];\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\n\t\tif ( ! placeholder ) {\n\t\t\tui.helper.remove();\n\t\t\tdebouncedSyncAfterDragAndDrop();\n\t\t\treturn;\n\t\t}\n\n\t\tmaybeOpenCollapsedPage( placeholder );\n\n\t\tconst $previousFieldContainer = ui.helper.parent();\n\t\tconst previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );\n\t\tconst newSection = placeholder.closest( 'ul.start_divider' );\n\n\t\tif ( draggable.classList.contains( 'frm-new-field' ) ) {\n\t\t\tinsertNewFieldByDragging( draggable.id );\n\t\t} else {\n\t\t\tmoveFieldThatAlreadyExists( draggable, placeholder );\n\t\t\tmaybeMakeFieldGroupDraggableAfterDragging( placeholder.parentElement );\n\t\t}\n\n\t\tconst previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\t\tconst newSectionId = newSection ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;\n\n\t\tplaceholder.remove();\n\t\tui.helper.remove();\n\n\t\tconst $previousContainerFields = $previousFieldContainer.length ? getFieldsInRow( $previousFieldContainer ) : [];\n\t\tmaybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields );\n\t\tmaybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );\n\n\t\tif ( previousSectionId !== newSectionId ) {\n\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );\n\t\t}\n\n\t\tdebouncedSyncAfterDragAndDrop();\n\t}\n\n\t/**\n\t * When a field is moved into a field group, make sure the field group is draggable.\n\t *\n\t * @since 6.24\n\t *\n\t * @param {HTMLElement} placeholderParent\n\t * @return {void}\n\t */\n\tfunction maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) {\n\t\tconst isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' &&\n\t\t\t! placeholderParent.classList.contains( 'start_divider' ) &&\n\t\t\t'frm-show-fields' !== placeholderParent.id;\n\n\t\tif ( ! isDroppingIntoFieldGroup ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupLi = placeholderParent.closest( 'li' );\n\t\tif ( fieldGroupLi && ! fieldGroupLi.classList.contains( 'ui-draggable' ) ) {\n\t\t\tmakeDraggable( fieldGroupLi, '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * If a page if collapsed, expand it before dragging since only the page break will move.\n\t *\n\t * @param {Element} placeholder\n\t * @return {void}\n\t */\n\tfunction maybeOpenCollapsedPage( placeholder ) {\n\t\tif ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $pageBreakField = jQuery( placeholder ).prevUntil( '[data-type=\"break\"]' );\n\t\tif ( ! $pageBreakField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst collapseButton = $pageBreakField.find( '.frm-collapse-page' ).get( 0 );\n\t\tif ( collapseButton ) {\n\t\t\tcollapseButton.click();\n\t\t}\n\t}\n\n\tfunction maybeUpdatePreviousFieldContainerAfterDrop( $previousFieldContainer, $previousContainerFields ) {\n\t\tif ( ! $previousFieldContainer.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( $previousContainerFields.length ) {\n\t\t\tsyncLayoutClasses( $previousContainerFields.first() );\n\t\t} else {\n\t\t\tmaybeDeleteAnEmptyFieldGroup( $previousFieldContainer.get( 0 ) );\n\t\t}\n\t}\n\n\tfunction maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields ) {\n\t\tif ( 0 !== $previousContainerFields.length || 1 !== getFieldsInRow( jQuery( draggable.parentNode ) ).length ) {\n\t\t\tsyncLayoutClasses( jQuery( draggable ) );\n\t\t}\n\t}\n\n\t/**\n\t * Remove an empty field group, but don't remove an empty section.\n\t *\n\t * @param {Element} previousFieldContainer\n\t * @return {void}\n\t */\n\tfunction maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) {\n\t\tconst closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' );\n\t\tif ( closestFieldBox && ! closestFieldBox.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tclosestFieldBox.remove();\n\t\t}\n\t}\n\n\tfunction handleDragOverYAxis( { droppable, y, placeholder } ) {\n\t\tconst $list = jQuery( droppable );\n\n\t\tlet top;\n\n\t\t$children = $list.children().not( '.edit_field_type_end_divider' );\n\t\tif ( 0 === $children.length ) {\n\t\t\t$list.prepend( placeholder );\n\t\t\ttop = 0;\n\t\t} else {\n\t\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInList( $list, y );\n\n\t\t\tif ( insertAtIndex === $children.length ) {\n\t\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\t\ttop = $lastChild.offset().top + $lastChild.outerHeight();\n\t\t\t\t$list.append( placeholder );\n\n\t\t\t\t// Make sure nothing gets inserted after the end divider.\n\t\t\t\tconst $endDivider = $list.children( '.edit_field_type_end_divider' );\n\t\t\t\tif ( $endDivider.length ) {\n\t\t\t\t\t$list.append( $endDivider );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttop = jQuery( $children.get( insertAtIndex ) ).offset().top;\n\t\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\t\t\t}\n\t\t}\n\n\t\ttop -= $list.offset().top;\n\t\tplaceholder.style.top = top + 'px';\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInList( $list, y ) {\n\t\tconst $items = $list.children().not( '.edit_field_type_end_divider' );\n\t\tconst length = $items.length;\n\n\t\tlet index, item, itemTop, returnIndex;\n\n\t\tif ( ! document.querySelector( '.frm-has-fields .frm_no_fields' ) ) {\n\t\t\t// Always return 0 when there are no fields.\n\t\t\treturn 0;\n\t\t}\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\titem = $items.get( index );\n\t\t\titemTop = jQuery( item ).offset().top;\n\t\t\tif ( y > itemTop ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( y > itemTop + ( jQuery( item ).outerHeight() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction handleDragOverFieldGroup( { droppable, x, placeholder } ) {\n\t\tconst $row = jQuery( droppable );\n\t\tconst $children = getFieldsInRow( $row );\n\n\t\tif ( ! $children.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet left;\n\t\tconst insertAtIndex = determineIndexBasedOffOfMousePositionInRow( $row, x );\n\n\t\tif ( insertAtIndex === $children.length ) {\n\t\t\tconst $lastChild = jQuery( $children.get( insertAtIndex - 1 ) );\n\t\t\tleft = $lastChild.offset().left + $lastChild.outerWidth();\n\t\t\t$row.append( placeholder );\n\t\t} else {\n\t\t\tleft = jQuery( $children.get( insertAtIndex ) ).offset().left;\n\t\t\tjQuery( $children.get( insertAtIndex ) ).before( placeholder );\n\n\t\t\tconst amountToOffsetLeftBy = 0 === insertAtIndex ? 4 : 8; // Offset by 8 in between rows, but only 4 for the first item in a group.\n\t\t\tleft -= amountToOffsetLeftBy; // Offset the placeholder slightly so it appears between two fields.\n\t\t}\n\n\t\tleft -= $row.offset().left;\n\n\t\tplaceholder.style.left = left + 'px';\n\t}\n\n\tfunction syncAfterDragAndDrop() {\n\t\tfixUnwrappedListItems();\n\t\ttoggleSectionHolder();\n\t\tmaybeFixEndDividers();\n\t\tmaybeDeleteEmptyFieldGroups();\n\t\tupdateFieldOrder();\n\n\t\tconst event = new Event( 'frm_sync_after_drag_and_drop', { bubbles: false } );\n\t\tdocument.dispatchEvent( event );\n\t}\n\n\tfunction maybeFixEndDividers() {\n\t\tdocument.querySelectorAll( '.edit_field_type_end_divider' ).forEach(\n\t\t\tendDivider => endDivider.parentNode.appendChild( endDivider )\n\t\t);\n\t}\n\n\tfunction maybeDeleteEmptyFieldGroups() {\n\t\tdocument.querySelectorAll( 'li.form_field_box:not(.form-field)' ).forEach(\n\t\t\tfieldGroup => ! fieldGroup.children.length && fieldGroup.remove()\n\t\t);\n\t}\n\n\tfunction fixUnwrappedListItems() {\n\t\tconst lists = document.querySelectorAll( 'ul#frm-show-fields, ul.start_divider' );\n\t\tlists.forEach(\n\t\t\tlist => {\n\t\t\t\tlist.childNodes.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif ( 'undefined' === typeof child.classList ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( child.classList.contains( 'edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t// Never wrap end divider in place.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) {\n\t\t\t\t\t\t\twrapFieldLiInPlace( child );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteEmptyDividerWrappers() {\n\t\tconst dividers = document.querySelectorAll( 'ul.start_divider' );\n\t\tif ( ! dividers.length ) {\n\t\t\treturn;\n\t\t}\n\t\tdividers.forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\tconst children = [].slice.call( divider.children );\n\t\t\t\tchildren.forEach(\n\t\t\t\t\tfunction( child ) {\n\t\t\t\t\t\tif ( 0 === child.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t} else if ( 1 === child.children.length && 'ul' === child.firstElementChild.nodeName.toLowerCase() && 0 === child.firstElementChild.children.length ) {\n\t\t\t\t\t\t\tchild.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldsInRow( $row ) {\n\t\tlet $fields = jQuery();\n\n\t\tconst row = $row.get( 0 );\n\t\tif ( ! row.children ) {\n\t\t\treturn $fields;\n\t\t}\n\n\t\tArray.from( row.children ).forEach(\n\t\t\tchild => {\n\t\t\t\tif ( 'none' === child.style.display ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst classes = child.classList;\n\t\t\t\tif ( ! classes.contains( 'form-field' ) || classes.contains( 'edit_field_type_end_divider' ) || classes.contains( 'frm-sortable-helper' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$fields = $fields.add( child );\n\t\t\t}\n\t\t);\n\t\treturn $fields;\n\t}\n\n\tfunction determineIndexBasedOffOfMousePositionInRow( $row, x ) {\n\t\tlet $inputs = getFieldsInRow( $row ),\n\t\t\tlength = $inputs.length,\n\t\t\tindex, input, inputLeft, returnIndex;\n\n\t\treturnIndex = 0;\n\t\tfor ( index = length - 1; index >= 0; --index ) {\n\t\t\tinput = $inputs.get( index );\n\t\t\tinputLeft = jQuery( input ).offset().left;\n\t\t\tif ( x > inputLeft ) {\n\t\t\t\treturnIndex = index;\n\t\t\t\tif ( x > inputLeft + ( jQuery( input ).outerWidth() / 2 ) ) {\n\t\t\t\t\treturnIndex = index + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnIndex;\n\t}\n\n\tfunction syncLayoutClasses( $item, type ) {\n\t\tlet $fields, size, layoutClasses, classToAddFunction;\n\n\t\tif ( 'undefined' === typeof type ) {\n\t\t\ttype = 'even';\n\t\t}\n\n\t\t$fields = $item.parent().children( 'li.form-field, li.frmbutton_loadingnow' ).not( '.edit_field_type_end_divider' );\n\t\tsize = $fields.length;\n\t\tlayoutClasses = getLayoutClasses();\n\n\t\tif ( 'even' === type && 5 !== size ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, getEvenClassForSize( size ) ) );\n\t\t} else if ( 'clear' === type ) {\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, '' ) );\n\t\t} else {\n\t\t\tif ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\treturn getClassForBlock( size, type, index );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tclassToAddFunction = function( index ) {\n\t\t\t\t\tconst size = type[ index ];\n\t\t\t\t\treturn getLayoutClassForSize( size );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$fields.each( getSyncLayoutClass( layoutClasses, classToAddFunction ) );\n\t\t}\n\n\t\tupdateFieldGroupControls( $item.parent(), $fields.length );\n\t}\n\n\tfunction updateFieldGroupControls( $row, count ) {\n\t\tlet rowOffset, shouldShowControls, controls;\n\n\t\trowOffset = $row.offset();\n\n\t\tif ( 'undefined' === typeof rowOffset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tshouldShowControls = count >= 2;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null === controls ) {\n\t\t\tif ( ! shouldShowControls ) {\n\t\t\t\t// exit early. if we do not need controls and they do not exist, do nothing.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrols = div();\n\t\t\tcontrols.id = 'frm_field_group_controls';\n\t\t\tcontrols.setAttribute( 'role', 'group' );\n\t\t\tcontrols.setAttribute( 'tabindex', 0 );\n\t\t\tsetFieldControlsHtml( controls );\n\t\t\tbuilderPage.appendChild( controls );\n\t\t}\n\n\t\t$row.append( controls );\n\t\tcontrols.style.display = shouldShowControls ? 'block' : 'none';\n\t}\n\n\tfunction setFieldControlsHtml( controls ) {\n\t\tlet layoutOption, moveOption;\n\n\t\tlayoutOption = document.createElement( 'span' );\n\t\tlayoutOption.innerHTML = '';\n\t\tconst layoutOptionLabel = __( 'Set Row Layout', 'formidable' );\n\t\taddTooltip( layoutOption, layoutOptionLabel );\n\t\tmakeTabbable( layoutOption, layoutOptionLabel );\n\n\t\tmoveOption = document.createElement( 'span' );\n\t\tmoveOption.innerHTML = '';\n\t\tmoveOption.classList.add( 'frm-move' );\n\t\tconst moveOptionLabel = __( 'Move Field Group', 'formidable' );\n\t\taddTooltip( moveOption, moveOptionLabel );\n\t\tmakeTabbable( moveOption, moveOptionLabel );\n\n\t\tcontrols.innerHTML = '';\n\t\tcontrols.appendChild( layoutOption );\n\t\tcontrols.appendChild( moveOption );\n\t\tcontrols.appendChild( getFieldControlsDropdown() );\n\t}\n\n\tfunction addTooltip( element, title ) {\n\t\telement.setAttribute( 'data-bs-toggle', 'tooltip' );\n\t\telement.setAttribute( 'data-bs-container', 'body' );\n\t\telement.setAttribute( 'title', title );\n\t\telement.addEventListener(\n\t\t\t'mouseover',\n\t\t\tfunction() {\n\t\t\t\tif ( null === element.getAttribute( 'data-original-title' ) ) {\n\t\t\t\t\tjQuery( element ).tooltip();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getFieldControlsDropdown() {\n\t\tconst dropdown = span( { className: 'dropdown' } );\n\t\tconst trigger = a( {\n\t\t\tclassName: 'frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tchild: svg( { href: '#frm_thick_more_vert_icon' } )\n\t\t\t\t} ),\n\t\t\t\tspan( {\n\t\t\t\t\tclassName: 'screen-reader-text',\n\t\t\t\t\ttext: __( 'Toggle More Options Dropdown', 'formidable' )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\tfrmDom.setAttributes(\n\t\t\ttrigger,\n\t\t\t{\n\t\t\t\ttitle: __( 'More Options', 'formidable' ),\n\t\t\t\t'data-bs-toggle': 'dropdown',\n\t\t\t\t'data-bs-container': 'body',\n\t\t\t\t'data-bs-display': 'static'\n\t\t\t}\n\t\t);\n\t\tmakeTabbable( trigger, __( 'More Options', 'formidable' ) );\n\t\tdropdown.appendChild( trigger );\n\n\t\tconst ul = div( {\n\t\t\tclassName: 'frm-dropdown-menu dropdown-menu dropdown-menu-right'\n\t\t} );\n\t\tul.setAttribute( 'role', 'menu' );\n\t\tdropdown.appendChild( ul );\n\n\t\treturn dropdown;\n\t}\n\n\tfunction getSyncLayoutClass( layoutClasses, classToAdd ) {\n\t\treturn function( itemIndex ) {\n\t\t\tlet currentClassToAdd, length, layoutClassIndex, currentClass, activeLayoutClass, fieldId, layoutClassesInput;\n\n\t\t\tcurrentClassToAdd = 'function' === typeof classToAdd ? classToAdd( itemIndex ) : classToAdd;\n\t\t\tlength = layoutClasses.length;\n\t\t\tactiveLayoutClass = false;\n\t\t\tfor ( layoutClassIndex = 0; layoutClassIndex < length; ++layoutClassIndex ) {\n\t\t\t\tcurrentClass = layoutClasses[ layoutClassIndex ];\n\t\t\t\tif ( this.classList.contains( currentClass ) ) {\n\t\t\t\t\tactiveLayoutClass = currentClass;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfieldId = this.dataset.fid;\n\n\t\t\tif ( 'undefined' === typeof fieldId ) {\n\t\t\t\t// we are syncing the drag/drop placeholder before the actual field has loaded.\n\t\t\t\t// this will get called again afterward and the input will exist then.\n\t\t\t\tthis.classList.add( currentClassToAdd );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t\t\tlayoutClassesInput = document.getElementById( 'frm_classes_' + fieldId );\n\n\t\t\tif ( null === layoutClassesInput ) {\n\t\t\t\t// not every field type has a layout class input.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( false === activeLayoutClass ) {\n\t\t\t\tif ( '' !== currentClassToAdd ) {\n\t\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' ' + currentClassToAdd );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.classList.remove( activeLayoutClass );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( activeLayoutClass, currentClassToAdd );\n\t\t\t}\n\n\t\t\tif ( this.classList.contains( 'frm_first' ) ) {\n\t\t\t\tthis.classList.remove( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.replace( 'frm_first', '' ).trim();\n\t\t\t}\n\n\t\t\tif ( 0 === itemIndex ) {\n\t\t\t\tthis.classList.add( 'frm_first' );\n\t\t\t\tlayoutClassesInput.value = layoutClassesInput.value.concat( ' frm_first' );\n\t\t\t}\n\n\t\t\tjQuery( layoutClassesInput ).trigger( 'change' );\n\t\t};\n\t}\n\n\tfunction getLayoutClasses() {\n\t\treturn [ 'frm_full', 'frm_half', 'frm_third', 'frm_fourth', 'frm_sixth', 'frm_two_thirds', 'frm_three_fourths', 'frm1', 'frm2', 'frm3', 'frm4', 'frm5', 'frm6', 'frm7', 'frm8', 'frm9', 'frm10', 'frm11', 'frm12' ];\n\t}\n\n\tfunction setupFieldOptionSorting( sort ) {\n\t\tconst opts = {\n\t\t\titems: '.frm_sortable_field_opts li',\n\t\t\taxis: 'y',\n\t\t\topacity: 0.65,\n\t\t\tforcePlaceholderSize: false,\n\t\t\thandle: '.frm-drag',\n\t\t\thelper: function( e, li ) {\n\t\t\t\tcopyHelper = li.clone().insertAfter( li );\n\t\t\t\treturn li.clone();\n\t\t\t},\n\t\t\tstop: function( e, ui ) {\n\t\t\t\tcopyHelper && copyHelper.remove();\n\t\t\t\tconst fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t\tfieldUpdated();\n\t\t\t}\n\t\t};\n\t\tjQuery( sort ).sortable( opts );\n\t}\n\n\t// Get the section where a field is dropped\n\tfunction getSectionForFieldPlacement( currentItem ) {\n\t\tlet section = '';\n\t\tif ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tsection = currentItem.closest( '.edit_field_type_divider' );\n\t\t}\n\t\treturn section;\n\t}\n\n\t// Get the form ID where a field is dropped\n\tfunction getFormIdForFieldPlacement( section ) {\n\t\tlet formId = '';\n\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tconst sDivide = section.children( '.start_divider' );\n\t\t\tsDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide );\n\t\t\tif ( typeof section.attr( 'data-formid' ) !== 'undefined' ) {\n\t\t\t\tconst fieldId = section.attr( 'data-fid' );\n\t\t\t\tformId = jQuery( 'input[name=\"field_options[form_select_' + fieldId + ']\"]' ).val();\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof formId === 'undefined' || formId === '' ) {\n\t\t\tformId = thisFormId;\n\t\t}\n\n\t\treturn formId;\n\t}\n\n\t// Get the section ID where a field is dropped\n\tfunction getSectionIdForFieldPlacement( section ) {\n\t\tlet sectionId = 0;\n\t\tif ( typeof section[ 0 ] !== 'undefined' ) {\n\t\t\tsectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\t}\n\n\t\treturn sectionId;\n\t}\n\n\t/**\n\t * Update a field after it is dragged and dropped into, out of, or between sections\n\t *\n\t * @param {Object} currentItem\n\t * @param {Object} previousSection\n\t * @return {void}\n\t */\n\tfunction updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {\n\t\tif ( ! currentItem.hasClass( 'form-field' ) ) {\n\t\t\t// currentItem is a field group. Call for children recursively.\n\t\t\tgetFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(\n\t\t\t\tfunction() {\n\t\t\t\t\tupdateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\t\tconst previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_update_field_after_move',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield: fieldId,\n\t\t\t\tsection_id: sectionId,\n\t\t\t\tprevious_form_id: previousFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\ttoggleSectionHolder();\n\t\t\t\tupdateInSectionValue( fieldId, sectionId );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Update the in_section field value\n\tfunction updateInSectionValue( fieldId, sectionId ) {\n\t\tdocument.getElementById( 'frm_in_section_' + fieldId ).value = sectionId;\n\t}\n\n\t/**\n\t * Get the arguments for inserting a new field.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @param {string} sectionId\n\t * @param {string} formId\n\t * @param {Number} hasBreak\n\t *\n\t * @return {Object}\n\t */\n\tfunction getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) {\n\t\tconst fieldArgs = {\n\t\t\taction: 'frm_insert_field',\n\t\t\tform_id: formId,\n\t\t\tfield_type: fieldType,\n\t\t\tsection_id: sectionId,\n\t\t\tnonce: frmGlobal.nonce,\n\t\t\thas_break: hasBreak\n\t\t};\n\n\t\t// Only send last row field IDs to update their order if this field isn't added to a repeater.\n\t\tconst isInRepeater = sectionId > 0 && document.getElementById( 'form_id' ).value !== formId;\n\t\tif ( ! isInRepeater ) {\n\t\t\tfieldArgs.last_row_field_ids = getFieldIdsInSubmitRow();\n\t\t}\n\n\t\treturn fieldArgs;\n\t}\n\n\t/**\n\t * Returns true if it's a range field type and slider type is not selected.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} fieldType\n\t * @return {boolean}\n\t */\n\tfunction shouldStopInsertingField( fieldType ) {\n\t\treturn wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType );\n\t}\n\n\t/**\n\t * Add a new field by dragging and dropping it from the Fields sidebar\n\t *\n\t * @param {string} fieldType\n\t */\n\tfunction insertNewFieldByDragging( fieldType ) {\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\twp.hooks.doAction( 'frm_stopped_inserting_by_dragging', fieldType );\n\t\t\treturn;\n\t\t}\n\n\t\tconst placeholder = document.getElementById( 'frm_drag_placeholder' );\n\t\tconst loadingID = fieldType.replace( '|', '-' ) + '_' + getAutoId();\n\t\tconst loading = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tid: loadingID,\n\t\t\t\tclassName: 'frm-wait frmbutton_loadingnow'\n\t\t\t}\n\t\t);\n\t\tconst $placeholder = jQuery( loading );\n\t\tconst currentItem = jQuery( placeholder );\n\t\tconst section = getSectionForFieldPlacement( currentItem );\n\t\tconst formId = getFormIdForFieldPlacement( section );\n\t\tconst sectionId = getSectionIdForFieldPlacement( section );\n\n\t\tplaceholder.parentNode.insertBefore( loading, placeholder );\n\t\tplaceholder.remove();\n\t\tsyncLayoutClasses( $placeholder );\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\t// see if we need to insert a page break before this newly-added summary field. Check for at least 1 page break\n\t\t\thasBreak = jQuery( '.frmbutton_loadingnow#' + loadingID ).prevAll( 'li[data-type=\"break\"]' ).length ? 1 : 0;\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleInsertFieldByDraggingResponse( msg, $placeholder );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t}\n\n\t/**\n\t * @param {string} msg\n\t * @param {Object} $placeholder jQuery object.\n\t */\n\tfunction handleInsertFieldByDraggingResponse( msg, $placeholder ) {\n\t\tlet replaceWith;\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst $siblings = $placeholder.siblings( 'li.form-field' ).not( '.edit_field_type_end_divider' );\n\n\t\tif ( ! $siblings.length ) {\n\t\t\t// if dragging into a new row, we need to wrap the li first.\n\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t} else {\n\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\tif ( ! $placeholder.get( 0 ).parentNode.parentNode.classList.contains( 'ui-draggable' ) ) {\n\t\t\t\t// If a field group wasn't draggable because it only had a single field, make it draggable.\n\t\t\t\tmakeDraggable( $placeholder.get( 0 ).parentNode.parentNode, '.frm-move' );\n\t\t\t}\n\t\t}\n\t\t$placeholder.replaceWith( replaceWith );\n\t\tupdateFieldOrder();\n\t\tafterAddField( msg, false );\n\t\tif ( $siblings.length ) {\n\t\t\tsyncLayoutClasses( $siblings.first() );\n\t\t}\n\t\ttoggleSectionHolder();\n\n\t\tif ( ! $siblings.length ) {\n\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t} else {\n\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t}\n\t}\n\n\t/**\n\t * Get the field ID from the response message.\n\t *\n\t * @since 6.23\n\t *\n\t * @param {string} msg\n\t * @return {Number}\n\t */\n\tfunction checkMsgForFieldId( msg ) {\n\t\tconst result = msg.match( /data-fid=\"(\\d+)\"/ );\n\t\treturn result ? parseInt( result[ 1 ] ) : 0;\n\t}\n\n\tfunction getFieldIdsInSubmitRow() {\n\t\tconst submitField = document.querySelector( '.edit_field_type_submit' );\n\t\tif ( ! submitField ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst lastRowFields = submitField.parentNode.children;\n\t\tconst ids = [];\n\t\tfor ( let i = 0; i < lastRowFields.length; i++ ) {\n\t\t\tids.push( lastRowFields[ i ].dataset.fid );\n\t\t}\n\n\t\treturn ids;\n\t}\n\n\tfunction moveFieldThatAlreadyExists( draggable, placeholder ) {\n\t\tplaceholder.parentNode.insertBefore( draggable, placeholder );\n\t}\n\n\tfunction msgAsjQueryObject( msg ) {\n\t\tconst element = div();\n\t\telement.innerHTML = msg;\n\t\treturn jQuery( element.firstChild );\n\t}\n\n\tfunction handleInsertFieldError( jqXHR, _, errorThrown ) {\n\t\tmaybeShowInsertFieldError( errorThrown, jqXHR );\n\t}\n\n\tfunction maybeShowInsertFieldError( errorThrown, jqXHR ) {\n\t\tif ( ! jqXHRAborted( jqXHR ) ) {\n\t\t\tinfoModal( errorThrown + '. Please try again.' );\n\t\t}\n\t}\n\n\tfunction jqXHRAborted( jqXHR ) {\n\t\treturn jqXHR.status === 0 || jqXHR.readyState === 0;\n\t}\n\n\t/**\n\t * Get a unique id that automatically increments with every function call.\n\t * Can be used for any UI that requires a unique id.\n\t * Not to be used in data.\n\t *\n\t * @return {number}\n\t */\n\tfunction getAutoId() {\n\t\treturn ++autoId;\n\t}\n\n\t/**\n\t * Determine if a draggable element can be droppable into a droppable element.\n\t *\n\t * Don't allow page break, embed form, or section inside section field\n\t * Don't allow page breaks inside of field groups.\n\t * Don't allow field groups with sections inside of sections.\n\t * Don't allow field groups in field groups.\n\t * Don't allow hidden fields inside of field groups but allow them in sections.\n\t * Don't allow any fields below the submit button field.\n\t * Don't allow submit button field above any fields.\n\t * Don't allow GDPR fields in repeaters.\n\t *\n\t * @param {HTMLElement} draggable\n\t * @param {HTMLElement} droppable\n\t * @param {Event} event\n\t * @return {Boolean}\n\t */\n\tfunction allowDrop( draggable, droppable, event ) {\n\t\tif ( false === droppable ) {\n\t\t\t// Don't show drop placeholder if dragging somewhere off of the droppable area.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.closest( '.frm-sortable-helper' ) ) {\n\t\t\t// Do not allow drop into draggable.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isSubmitBtn = draggable.classList.contains( 'edit_field_type_submit' );\n\t\tconst containSubmitBtn = ! draggable.classList.contains( 'form_field' ) && !! draggable.querySelector( '.edit_field_type_submit' );\n\n\t\tif ( 'frm-show-fields' === droppable.id ) {\n\t\t\tconst draggableIndex = determineIndexBasedOffOfMousePositionInList( jQuery( droppable ), event.clientY );\n\n\t\t\tif ( isSubmitBtn || containSubmitBtn ) {\n\t\t\t\t// Do not allow dropping submit button to above position.\n\t\t\t\tconst lastRowIndex = droppable.childElementCount - 1;\n\t\t\t\treturn draggableIndex > lastRowIndex;\n\t\t\t}\n\n\t\t\t// Do not allow dropping other fields to below submit button.\n\t\t\tconst submitButtonIndex = jQuery( droppable.querySelector( '.edit_field_type_submit' ).closest( '#frm-show-fields > li' ) ).index();\n\t\t\treturn draggableIndex <= submitButtonIndex;\n\t\t}\n\n\t\tif ( isSubmitBtn ) {\n\t\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\t\t// Don't allow dropping submit button into a repeater.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( isLastRow( droppable.parentElement ) ) {\n\t\t\t\t// Allow dropping submit button into the last row.\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( ! isLastRow( droppable.parentElement.nextElementSibling ) ) {\n\t\t\t\t// Don't a dropping submit button into the row that isn't the second one from bottom.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow dropping submit button into the second row from bottom if there is only submit button in the last row.\n\t\t\treturn ! draggable.parentElement.querySelector( 'li.frm_field_box:not(.edit_field_type_submit)' );\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) && ( draggable.classList.contains( 'edit_field_type_gdpr' ) || draggable.id === 'gdpr' ) && droppable.closest( '.repeat_section' ) ) {\n\t\t\t// Don't allow GDPR fields in repeaters.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( ! droppable.classList.contains( 'start_divider' ) ) {\n\t\t\tconst $fieldsInRow = getFieldsInRow( jQuery( droppable ) );\n\t\t\tif ( ! groupCanFitAnotherField( $fieldsInRow, jQuery( draggable ) ) ) {\n\t\t\t\t// Field group is full and cannot accept another field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( draggable.id === 'divider' && droppable.closest( '.start_divider' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst isNewField = draggable.classList.contains( 'frm-new-field' );\n\t\tif ( isNewField ) {\n\t\t\treturn allowNewFieldDrop( draggable, droppable );\n\t\t}\n\n\t\treturn allowMoveField( draggable, droppable );\n\t}\n\n\t/**\n\t * Checks if given element is the last row in form builder.\n\t *\n\t * @param {HTMLElement} element Element.\n\t * @return {Boolean}\n\t */\n\tfunction isLastRow( element ) {\n\t\treturn element && element.matches( '#frm-show-fields > li:last-child' );\n\t}\n\n\t// Don't allow a new page break or hidden field in a field group.\n\t// Don't allow a new field into a field group that includes a page break or hidden field.\n\t// Don't allow a new section inside of a section.\n\t// Don't allow an embedded form in a section.\n\tfunction allowNewFieldDrop( draggable, droppable ) {\n\t\tconst classes = draggable.classList;\n\t\tconst newPageBreakField = classes.contains( 'frm_tbreak' );\n\t\tconst newHiddenField = classes.contains( 'frm_thidden' );\n\t\tconst newSectionField = classes.contains( 'frm_tdivider' );\n\t\tconst newEmbedField = classes.contains( 'frm_tform' );\n\t\tconst newUserIdField = classes.contains( 'frm_tuser_id' );\n\n\t\tconst newFieldWillBeAddedToAGroup = ! ( 'frm-show-fields' === droppable.id || droppable.classList.contains( 'start_divider' ) );\n\t\tif ( newFieldWillBeAddedToAGroup ) {\n\t\t\tif ( groupIncludesBreakOrHiddenOrUserId( droppable ) ) {\n\t\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ! newHiddenField && ! newPageBreakField && ! newUserIdField;\n\t\t}\n\n\t\tconst fieldTypeIsAlwaysAllowed = ! newPageBreakField && ! newHiddenField && ! newSectionField && ! newEmbedField;\n\t\tif ( fieldTypeIsAlwaysAllowed ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst newFieldWillBeAddedToASection = droppable.classList.contains( 'start_divider' ) || null !== droppable.closest( '.start_divider' );\n\t\tif ( newFieldWillBeAddedToASection ) {\n\t\t\t// Don't allow a section or an embedded form in a section.\n\t\t\treturn ! newEmbedField && ! newSectionField;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveField( draggable, droppable ) {\n\t\tif ( isFieldGroup( draggable ) ) {\n\t\t\treturn allowMoveFieldGroup( draggable, droppable );\n\t\t}\n\n\t\tconst isPageBreak = draggable.classList.contains( 'edit_field_type_break' );\n\t\tif ( isPageBreak ) {\n\t\t\t// Page breaks are only allowed in the main list of fields, not in sections or in field groups.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( droppable.classList.contains( 'start_divider' ) ) {\n\t\t\treturn allowMoveFieldToSection( draggable );\n\t\t}\n\n\t\tconst isHiddenField = draggable.classList.contains( 'edit_field_type_hidden' );\n\t\tconst isUserIdField = draggable.classList.contains( 'edit_field_type_user_id' );\n\t\tif ( isHiddenField || isUserIdField ) {\n\t\t\t// Hidden fields and user id fields should not be added to field groups since they're not shown\n\t\t\t// and don't make sense with the grid distribution.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowMoveFieldToGroup( draggable, droppable );\n\t}\n\n\tfunction isFieldGroup( draggable ) {\n\t\treturn draggable.classList.contains( 'frm_field_box' ) && ! draggable.classList.contains( 'form-field' );\n\t}\n\n\tfunction allowMoveFieldGroup( fieldGroup, droppable ) {\n\t\tif ( droppable.classList.contains( 'start_divider' ) && null === fieldGroup.querySelector( '.start_divider' ) ) {\n\t\t\t// Allow a field group with no section inside of a section.\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction allowMoveFieldToSection( draggable ) {\n\t\tconst draggableIncludeEmbedForm = draggable.classList.contains( 'edit_field_type_form' ) || draggable.querySelector( '.edit_field_type_form' );\n\t\tif ( draggableIncludeEmbedForm ) {\n\t\t\t// Do not allow an embedded form inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesSection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tif ( draggableIncludesSection ) {\n\t\t\t// Do not allow a section inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction allowMoveFieldToGroup( draggable, group ) {\n\t\tif ( groupIncludesBreakOrHiddenOrUserId( group ) ) {\n\t\t\t// Never allow any field beside a page break or a hidden field.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isFieldGroup = jQuery( draggable ).children( 'ul.frm_sorting' ).not( '.start_divider' ).length > 0;\n\t\tif ( isFieldGroup ) {\n\t\t\t// Do not allow a field group directly inside of a field group unless it's in a section.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst draggableIncludesASection = draggable.classList.contains( 'edit_field_type_divider' ) || draggable.querySelector( '.edit_field_type_divider' );\n\t\tconst draggableIsEmbedField = draggable.classList.contains( 'edit_field_type_form' );\n\t\tconst groupIsInASection = null !== group.closest( '.start_divider' );\n\t\tif ( groupIsInASection && ( draggableIncludesASection || draggableIsEmbedField ) ) {\n\t\t\t// Do not allow a section or an embed field inside of a section.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tfunction groupIncludesBreakOrHiddenOrUserId( group ) {\n\t\treturn null !== group.querySelector( '.edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id' );\n\t}\n\n\tfunction groupCanFitAnotherField( fieldsInRow, $field ) {\n\t\tlet fieldId;\n\t\tif ( fieldsInRow.length < MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( fieldsInRow.length > MAX_FIELD_GROUP_SIZE ) {\n\t\t\treturn false;\n\t\t}\n\t\tfieldId = $field.attr( 'data-fid' );\n\t\t// Allow the maximum number if we're not changing field groups.\n\t\treturn 1 === jQuery( fieldsInRow ).filter( '[data-fid=\"' + fieldId + '\"]' ).length;\n\t}\n\n\tfunction loadFields( fieldId ) {\n\t\tconst thisField = document.getElementById( fieldId );\n\t\tconst $thisField = jQuery( thisField );\n\t\tconst field = [];\n\t\tconst addHtmlToField = element => {\n\t\t\tconst frmHiddenFdata = element.querySelector( '.frm_hidden_fdata' );\n\t\t\telement.classList.add( 'frm_load_now' );\n\t\t\tif ( frmHiddenFdata !== null ) {\n\t\t\t\tfield.push( frmHiddenFdata.innerHTML );\n\t\t\t}\n\t\t};\n\n\t\tlet nextElement = thisField;\n\t\taddHtmlToField( nextElement );\n\n\t\tlet nextField = getNextField( nextElement );\n\t\twhile ( nextField && field.length < 15 ) {\n\t\t\taddHtmlToField( nextField );\n\t\t\tnextElement = nextField;\n\t\t\tnextField = getNextField( nextField );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_load_field',\n\t\t\t\tfield: field,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: html => handleAjaxLoadFieldSuccess( html, $thisField, field )\n\t\t} );\n\t}\n\n\tfunction getNextField( field ) {\n\t\tif ( field.nextElementSibling ) {\n\t\t\treturn field.nextElementSibling;\n\t\t}\n\t\treturn field.parentNode?.closest( '.frm_field_box' )?.nextElementSibling?.querySelector( '.form-field' );\n\t}\n\n\tfunction handleAjaxLoadFieldSuccess( html, $thisField, field ) {\n\t\tlet key, $nextSet;\n\n\t\thtml = html.replace( /^\\s+|\\s+$/g, '' );\n\t\tif ( html.indexOf( '{' ) !== 0 ) {\n\t\t\tjQuery( '.frm_load_now' ).removeClass( '.frm_load_now' ).html( 'Error' );\n\t\t\treturn;\n\t\t}\n\n\t\thtml = JSON.parse( html );\n\t\tfor ( key in html ) {\n\t\t\tjQuery( '#frm_field_id_' + key ).replaceWith( html[ key ] );\n\t\t\tsetupSortable( '#frm_field_id_' + key + '.edit_field_type_divider ul.frm_sorting' );\n\t\t\tmakeDraggable( document.getElementById( 'frm_field_id_' + key ) );\n\t\t}\n\n\t\t$nextSet = $thisField.nextAll( '.frm_field_loading:not(.frm_load_now)' );\n\t\tif ( $nextSet.length ) {\n\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t} else {\n\t\t\t// go up a level\n\t\t\t$nextSet = jQuery( document.getElementById( 'frm-show-fields' ) ).find( '.frm_field_loading:not(.frm_load_now)' );\n\t\t\tif ( $nextSet.length ) {\n\t\t\t\tloadFields( $nextSet.attr( 'id' ) );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\t\trenumberPageBreaks();\n\t\tmaybeHideQuantityProductFieldOption();\n\n\t\tconst loadedEvent = new Event( 'frm_ajax_loaded_field', { bubbles: false } );\n\t\tloadedEvent.frmFields = field.map( f => JSON.parse( f ) );\n\t\tdocument.dispatchEvent( loadedEvent );\n\t}\n\n\tfunction addFieldClick() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisObj = jQuery( this );\n\t\t// there is no real way to disable a (with a valid href attribute) in HTML - https://css-tricks.com/how-to-disable-links/\n\t\tif ( $thisObj.hasClass( 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst $button = $thisObj.closest( '.frmbutton' );\n\t\tconst fieldType = $button.attr( 'id' );\n\n\t\tif ( shouldStopInsertingField( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet hasBreak = 0;\n\t\tif ( 'summary' === fieldType ) {\n\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t}\n\n\t\tconst formId = thisFormId;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ),\n\t\t\tsuccess: function( msg ) {\n\t\t\t\thandleAddFieldClickResponse( msg );\n\n\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t *\n\t\t\t\t\t * @since 6.23\n\t\t\t\t\t *\n\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t */\n\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: handleInsertFieldError\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction handleAddFieldClickResponse( msg ) {\n\t\tdocument.getElementById( 'frm_form_editor_container' ).classList.add( 'frm-has-fields' );\n\t\tconst replaceWith = wrapFieldLi( msg );\n\t\tconst submitField = $newFields[ 0 ].querySelector( '.edit_field_type_submit' );\n\n\t\tif ( ! submitField ) {\n\t\t\t$newFields.append( replaceWith );\n\t\t} else {\n\t\t\tjQuery( submitField.closest( '.frm_field_box:not(.form-field)' ) ).before( replaceWith );\n\t\t}\n\n\t\tafterAddField( msg, true );\n\n\t\treplaceWith.each(\n\t\t\tfunction() {\n\t\t\t\tmakeDroppable( this.querySelector( 'ul.frm_sorting' ) );\n\t\t\t\tmakeDraggable( this.querySelector( '.form-field' ), '.frm-move' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction insertFormField( fieldType, fieldOptions = {} ) {\n\t\treturn new Promise( resolve => {\n\t\t\tconst formId = thisFormId;\n\t\t\tlet hasBreak = 0;\n\n\t\t\tif ( 'summary' === fieldType ) {\n\t\t\t\thasBreak = $newFields.children( 'li[data-type=\"break\"]' ).length > 0 ? 1 : 0;\n\t\t\t}\n\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ),\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tresolve( msg );\n\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tupdateFieldOrder();\n\t\t\t\t\t\tafterAddField( msg, true );\n\n\t\t\t\t\t\tconst fieldId = checkMsgForFieldId( msg );\n\t\t\t\t\t\tif ( fieldId ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Fires after a field is added.\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @since 6.23\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @param {Object} fieldData The field data.\n\t\t\t\t\t\t\t * @param {string} fieldData.field The field HTML.\n\t\t\t\t\t\t\t * @param {string} fieldData.field_type The field type.\n\t\t\t\t\t\t\t * @param {string} fieldData.form_id The form ID.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\twp.hooks.doAction( 'frm_after_field_added_in_form_builder', {\n\t\t\t\t\t\t\t\tfield: msg,\n\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\tfieldType,\n\t\t\t\t\t\t\t\tform_id: formId,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 10 );\n\t\t\t\t},\n\t\t\t\terror: handleInsertFieldError\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction maybeHideQuantityProductFieldOption() {\n\t\tlet hide = true,\n\t\t\topts = document.querySelectorAll( '.frmjs_prod_field_opt_cont' );\n\n\t\tif ( $newFields.find( 'li.edit_field_type_product' ).length > 1 ) {\n\t\t\thide = false;\n\t\t}\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tif ( hide ) {\n\t\t\t\topts[ i ].classList.add( 'frm_hidden' );\n\t\t\t} else {\n\t\t\t\topts[ i ].classList.remove( 'frm_hidden' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a field can be duplicated.\n\t *\n\t * @since 6.19\n\t *\n\t * @param {HTMLElement} field\n\t * @param {number} maxFieldsInGroup\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction canDuplicateField( field, maxFieldsInGroup ) {\n\t\tif ( field.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst fieldGroup = field.closest( 'li.frm_field_box:not(.form-field)' );\n\t\tif ( ! fieldGroup ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst fieldsInGroup = getFieldsInRow( jQuery( fieldGroup.querySelector( 'ul' ) ) ).length;\n\t\treturn fieldsInGroup < maxFieldsInGroup;\n\t}\n\n\tfunction duplicateField() {\n\t\tlet $field, fieldId, children, newRowId, fieldOrder;\n\t\tconst maxFieldsInGroup = MAX_FIELD_GROUP_SIZE;\n\n\t\t$field = jQuery( this ).closest( 'li.form-field' );\n\t\tnewRowId = this.getAttribute( 'frm-target-row-id' );\n\n\t\tif ( ! ( newRowId && newRowId.startsWith( 'frm_field_group_' ) ) && ! canDuplicateField( $field.get( 0 ), maxFieldsInGroup ) ) {\n\t\t\t/* translators: %1$d: Maximum number of fields allowed in a field group. */\n\t\t\tinfoModal( sprintf( __( 'You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again.', 'formidable' ), maxFieldsInGroup ) );\n\t\t\treturn;\n\t\t}\n\n\t\tcloseOpenFieldDropdowns();\n\t\tfieldId = $field.data( 'fid' );\n\t\tchildren = fieldsInSection( fieldId );\n\n\t\tif ( null !== newRowId ) {\n\t\t\tfieldOrder = this.getAttribute( 'frm-field-order' );\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_duplicate_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tform_id: thisFormId,\n\t\t\t\tchildren: children,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tlet newRow;\n\n\t\t\t\tlet replaceWith;\n\n\t\t\t\tif ( null !== newRowId ) {\n\t\t\t\t\tnewRow = document.getElementById( newRowId );\n\t\t\t\t\tif ( null !== newRow ) {\n\t\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t\tjQuery( newRow ).append( replaceWith );\n\t\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t\t\tif ( null !== fieldOrder ) {\n\t\t\t\t\t\t\tnewRow.lastElementChild.setAttribute( 'frm-field-order', fieldOrder );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( newRow ).trigger(\n\t\t\t\t\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduplicatedFieldHtml: msg,\n\t\t\t\t\t\t\t\toriginalFieldId: fieldId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tafterAddField( msg, false );\n\t\t\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( $field.siblings( 'li.form-field' ).length ) {\n\t\t\t\t\treplaceWith = msgAsjQueryObject( msg );\n\t\t\t\t\t$field.after( replaceWith );\n\t\t\t\t\tsyncLayoutClasses( $field );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ), '.frm-move' );\n\t\t\t\t} else {\n\t\t\t\t\treplaceWith = wrapFieldLi( msg );\n\t\t\t\t\t$field.parent().parent().after( replaceWith );\n\t\t\t\t\tmakeDroppable( replaceWith.get( 0 ).querySelector( 'ul.frm_sorting' ) );\n\t\t\t\t\tmakeDraggable( replaceWith.get( 0 ).querySelector( 'li.form-field' ), '.frm-move' );\n\t\t\t\t}\n\n\t\t\t\tupdateFieldOrder();\n\t\t\t\tafterAddField( msg, false );\n\t\t\t\tmaybeDuplicateUnsavedSettings( fieldId, msg );\n\t\t\t\ttoggleOneSectionHolder( replaceWith.find( '.start_divider' ) );\n\t\t\t\t$field[ 0 ].querySelector( '.frm-dropdown-menu.dropdown-menu-right' )?.classList.remove( 'show' );\n\t\t\t\tsetLayoutClassesForDuplicatedFieldInGroup( $field.get( 0 ), replaceWith.get( 0 ) );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets the layout classes for a duplicated field in a field group from the layout classes of the original field.\n\t *\n\t * @param {HTMLElement} field The original field.\n\t * @param {HTMLElement} newField The duplicated field.\n\t *\n\t * @return {void}\n\t */\n\tfunction setLayoutClassesForDuplicatedFieldInGroup( field, newField ) {\n\t\tconst hoverTarget = field.closest( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget || ! isFieldGroup( hoverTarget.parentElement ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst fieldId = field.dataset.fid;\n\t\tlet fieldClasses = document.getElementById( 'frm_classes_' + fieldId )?.value;\n\t\tif ( ! fieldClasses ) {\n\t\t\treturn;\n\t\t}\n\t\tfieldClasses = fieldClasses.replace( 'frm_first', '' );\n\t\tif ( ! newField.className.includes( fieldClasses ) ) {\n\t\t\tnewField.className += ' ' + fieldClasses;\n\n\t\t\tconst classesInput = document.getElementById( 'frm_classes_' + newField.dataset.fid );\n\t\t\tif ( classesInput ) {\n\t\t\t\tclassesInput.value = fieldClasses;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeDuplicateUnsavedSettings( originalFieldId, newFieldHtml ) {\n\t\tlet originalSettings, newFieldId, copySettings, fieldOptionKeys, originalDefault, copyDefault;\n\n\t\toriginalSettings = document.getElementById( 'frm-single-settings-' + originalFieldId );\n\t\tif ( null === originalSettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewFieldId = jQuery( newFieldHtml ).attr( 'data-fid' );\n\t\tif ( 'undefined' === typeof newFieldId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcopySettings = document.getElementById( 'frm-single-settings-' + newFieldId );\n\t\tif ( null === copySettings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldOptionKeys = [\n\t\t\t'name', 'required', 'unique', 'read_only', 'placeholder', 'description', 'size', 'max', 'format', 'prepend', 'append', 'separate_value'\n\t\t];\n\n\t\toriginalSettings.querySelectorAll( 'input[name^=\"field_options[\"], textarea[name^=\"field_options[\"]' ).forEach(\n\t\t\tfunction( originalSetting ) {\n\t\t\t\tlet key, tagType, copySetting;\n\n\t\t\t\tkey = getKeyFromSettingInput( originalSetting );\n\n\t\t\t\tif ( 'options' === key ) {\n\t\t\t\t\tcopyOption( originalSetting, copySettings, originalFieldId, newFieldId );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === fieldOptionKeys.indexOf( key ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttagType = originalSetting.matches( 'input' ) ? 'input' : 'textarea';\n\t\t\t\tcopySetting = copySettings.querySelector( tagType + '[name=\"field_options[' + key + '_' + newFieldId + ']\"]' );\n\t\t\t\tif ( null === copySetting ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'checkbox' === originalSetting.type ) {\n\t\t\t\t\tif ( originalSetting.checked !== copySetting.checked ) {\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'click' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( 'text' === originalSetting.type || 'textarea' === tagType ) {\n\t\t\t\t\tif ( originalSetting.value !== copySetting.value ) {\n\t\t\t\t\t\tcopySetting.value = originalSetting.value;\n\t\t\t\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\toriginalDefault = originalSettings.querySelector( 'input[name=\"default_value_' + originalFieldId + '\"]' );\n\t\tif ( null !== originalDefault ) {\n\t\t\tcopyDefault = copySettings.querySelector( 'input[name=\"default_value_' + newFieldId + '\"]' );\n\t\t\tif ( null !== copyDefault && originalDefault.value !== copyDefault.value ) {\n\t\t\t\tcopyDefault.value = originalDefault.value;\n\t\t\t\tjQuery( copyDefault ).trigger( 'change' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction copyOption( originalSetting, copySettings, originalFieldId, newFieldId ) {\n\t\tlet remainingKeyDetails, copyKey, copySetting;\n\t\tremainingKeyDetails = originalSetting.name.substr( 23 + ( '' + originalFieldId ).length );\n\t\tcopyKey = 'field_options[options_' + newFieldId + ']' + remainingKeyDetails;\n\t\tcopySetting = copySettings.querySelector( 'input[name=\"' + copyKey + '\"]' );\n\t\tif ( null !== copySetting && copySetting.value !== originalSetting.value ) {\n\t\t\tcopySetting.value = originalSetting.value;\n\t\t\tjQuery( copySetting ).trigger( 'change' );\n\t\t}\n\t}\n\n\tfunction getKeyFromSettingInput( input ) {\n\t\tlet nameWithoutPrefix, nameSplit;\n\t\tnameWithoutPrefix = input.name.substr( 14 );\n\t\tnameSplit = nameWithoutPrefix.split( '_' );\n\t\tnameSplit.pop();\n\t\treturn nameSplit.join( '_' );\n\t}\n\n\tfunction closeOpenFieldDropdowns() {\n\t\tconst openSettings = document.querySelector( '.frm-field-settings-open' );\n\t\tif ( null !== openSettings ) {\n\t\t\topenSettings.classList.remove( 'frm-field-settings-open' );\n\t\t\tjQuery( document ).off( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\tjQuery( '.frm-field-action-icons .dropdown.open' ).removeClass( 'open' );\n\t\t}\n\t}\n\n\tfunction handleClickOutsideOfFieldSettings( event ) {\n\t\tif ( ! jQuery( event.originalEvent.target ).closest( '.frm-field-action-icons' ).length ) {\n\t\t\tcloseOpenFieldDropdowns();\n\t\t}\n\t}\n\n\tfunction checkForMultiselectKeysOnMouseMove( event ) {\n\t\tconst keyIsDown = ! ! ( event.ctrlKey || event.metaKey || event.shiftKey );\n\t\tjQuery( builderPage ).toggleClass( 'frm-multiselect-key-is-down', keyIsDown );\n\t\tcheckForActiveHoverTarget( event );\n\t}\n\n\tfunction checkForActiveHoverTarget( event ) {\n\t\tlet container, elementFromPoint, list, previousHoverTarget;\n\n\t\tcontainer = postBodyContent;\n\t\tif ( container.classList.contains( 'frm-dragging-field' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( null !== document.querySelector( '.frm-field-group-hover-target .frm-field-settings-open' ) ) {\n\t\t\t// do not set a hover target if a dropdown is open for the current hover target.\n\t\t\treturn;\n\t\t}\n\n\t\telementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && ! elementFromPoint.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\tlist = elementFromPoint.closest( 'ul.frm_sorting' );\n\n\t\t\tif ( null !== list && ! list.classList.contains( 'start_divider' ) && 'frm-show-fields' !== list.id ) {\n\t\t\t\tpreviousHoverTarget = maybeRemoveGroupHoverTarget();\n\t\t\t\tif ( false !== previousHoverTarget && ! jQuery( previousHoverTarget ).is( list ) ) {\n\t\t\t\t\tdestroyFieldGroupPopup();\n\t\t\t\t}\n\t\t\t\tupdateFieldGroupControls( jQuery( list ), getFieldsInRow( jQuery( list ) ).length );\n\t\t\t\tlist.classList.add( 'frm-field-group-hover-target' );\n\t\t\t\tjQuery( '#wpbody-content' ).on( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeRemoveGroupHoverTarget() {\n\t\tlet controls, previousHoverTarget;\n\n\t\tcontrols = document.getElementById( 'frm_field_group_controls' );\n\t\tif ( null !== controls ) {\n\t\t\tcontrols.style.display = 'none';\n\t\t}\n\n\t\tpreviousHoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === previousHoverTarget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tjQuery( '#wpbody-content' ).off( 'mousemove', maybeRemoveHoverTargetOnMouseMove );\n\t\tpreviousHoverTarget.classList.remove( 'frm-field-group-hover-target' );\n\t\treturn previousHoverTarget;\n\t}\n\n\tfunction maybeRemoveHoverTargetOnMouseMove( event ) {\n\t\tconst elementFromPoint = document.elementFromPoint( event.clientX, event.clientY );\n\t\tif ( null !== elementFromPoint && null !== elementFromPoint.closest( '#frm-show-fields' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t\tdeleteTooltips();\n\t}\n\n\tfunction onFieldActionDropdownShow( isFieldGroup ) {\n\t\tunselectFieldGroups();\n\n\t\t// maybe offset the dropdown if it goes off of the right of the screen.\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tlet ul, $ul;\n\n\t\t\t\tul = document.querySelector( '.dropdown .frm-dropdown-menu.show' );\n\n\t\t\t\tif ( null === ul ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( null === ul.getAttribute( 'aria-label' ) ) {\n\t\t\t\t\tul.setAttribute( 'aria-label', __( 'More Options', 'formidable' ) );\n\t\t\t\t}\n\t\t\t\tif ( 0 === ul.children.length ) {\n\t\t\t\t\tfillFieldActionDropdown( ul, true === isFieldGroup );\n\t\t\t\t}\n\t\t\t\t$ul = jQuery( ul );\n\t\t\t\tif ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) {\n\t\t\t\t\tul.style.left = ( -$ul.outerWidth() ) + 'px';\n\t\t\t\t}\n\t\t\t\tconst firstAnchor = ul.firstElementChild.querySelector( 'a' );\n\t\t\t\tif ( firstAnchor ) {\n\t\t\t\t\tfirstAnchor.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction onFieldGroupActionDropdownShow() {\n\t\tonFieldActionDropdownShow( true );\n\t}\n\n\tfunction changeSectionStyle( e ) {\n\t\tconst collapsedSection = e.target.closest( '.frm-section-collapsed' );\n\t\tif ( ! collapsedSection ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e.type === 'show' ) {\n\t\t\tcollapsedSection.style.zIndex = 3;\n\t\t} else {\n\t\t\tcollapsedSection.style.zIndex = 1;\n\t\t}\n\t}\n\n\tfunction fillFieldActionDropdown( ul, isFieldGroup ) {\n\t\tlet classSuffix, options;\n\t\tclassSuffix = isFieldGroup ? '_field_group' : '_field';\n\t\toptions = [ getDeleteActionOption( isFieldGroup ), getDuplicateActionOption( isFieldGroup ) ];\n\t\tif ( ! isFieldGroup ) {\n\t\t\toptions.push(\n\t\t\t\t{ class: 'frm_select', icon: 'frm_settings_icon', label: __( 'Field Settings', 'formidable' ) }\n\t\t\t);\n\t\t}\n\t\toptions.forEach(\n\t\t\tfunction( option ) {\n\t\t\t\tlet li, anchor, span;\n\t\t\t\tli = document.createElement( 'div' );\n\t\t\t\tli.classList.add( 'frm_more_options_li', 'dropdown-item' );\n\n\t\t\t\tanchor = document.createElement( 'a' );\n\t\t\t\tanchor.classList.add( option.class + classSuffix );\n\t\t\t\tanchor.setAttribute( 'href', '#' );\n\t\t\t\tmakeTabbable( anchor );\n\n\t\t\t\tspan = document.createElement( 'span' );\n\t\t\t\tspan.textContent = option.label;\n\t\t\t\tanchor.innerHTML = '';\n\t\t\t\tanchor.appendChild( document.createTextNode( ' ' ) );\n\t\t\t\tanchor.appendChild( span );\n\n\t\t\t\tli.appendChild( anchor );\n\t\t\t\tul.appendChild( li );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getDeleteActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_delete', icon: 'frm_delete_icon' };\n\t\toption.label = isFieldGroup ? __( 'Delete Group', 'formidable' ) : __( 'Delete', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction getDuplicateActionOption( isFieldGroup ) {\n\t\tconst option = { class: 'frm_clone', icon: 'frm_clone_icon' };\n\t\toption.label = isFieldGroup ? __( 'Duplicate Group', 'formidable' ) : __( 'Duplicate', 'formidable' );\n\t\treturn option;\n\t}\n\n\tfunction wrapFieldLi( field ) {\n\t\tconst wrapper = div();\n\n\t\tif ( 'string' === typeof field ) {\n\t\t\twrapper.innerHTML = field;\n\t\t} else {\n\t\t\twrapper.appendChild( field );\n\t\t}\n\n\t\tlet result = jQuery();\n\t\tArray.from( wrapper.children ).forEach(\n\t\t\tli => {\n\t\t\t\tresult = result.add(\n\t\t\t\t\tjQuery( '
                                                                                              • ' )\n\t\t\t\t\t\t.addClass( 'frm_field_box' )\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\tjQuery( '
                                                                                                  ' ).addClass( 'frm_grid_container frm_sorting' ).append( li )\n\t\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tfunction wrapFieldLiInPlace( li ) {\n\t\tconst ul = tag(\n\t\t\t'ul',\n\t\t\t{\n\t\t\t\tclassName: 'frm_grid_container frm_sorting'\n\t\t\t}\n\t\t);\n\t\tconst wrapper = tag(\n\t\t\t'li',\n\t\t\t{\n\t\t\t\tclassName: 'frm_field_box',\n\t\t\t\tchild: ul\n\t\t\t}\n\t\t);\n\n\t\tli.replaceWith( wrapper );\n\t\tul.appendChild( li );\n\n\t\tmakeDroppable( ul );\n\t\tmakeDraggable( wrapper, '.frm-move' );\n\t}\n\n\tfunction afterAddField( msg, addFocus ) {\n\t\tconst regex = /id=\"(\\S+)\"/;\n\t\tconst match = regex.exec( msg );\n\t\tconst field = document.getElementById( match[ 1 ] );\n\t\tconst section = '#' + match[ 1 ] + '.edit_field_type_divider ul.frm_sorting.start_divider';\n\t\tconst $thisSection = jQuery( section );\n\t\tconst type = field.getAttribute( 'data-type' );\n\n\t\tcheckHtmlForNewFields( msg );\n\n\t\tlet toggled = false;\n\n\t\tfieldUpdated();\n\t\tsetupSortable( section );\n\n\t\tif ( 'quantity' === type ) {\n\t\t\t// try to automatically attach a product field\n\t\t\tmaybeSetProductField( field );\n\t\t}\n\n\t\tif ( 'product' === type || 'quantity' === type ) {\n\t\t\t// quantity too needs to be a part of the if stmt especially cos of the very\n\t\t\t// 1st quantity field (or even if it's just one quantity field in the form).\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t}\n\n\t\tif ( $thisSection.length ) {\n\t\t\t$thisSection.parent( '.frm_field_box' ).children( '.frm_no_section_fields' ).addClass( 'frm_block' );\n\t\t} else {\n\t\t\tconst $parentSection = jQuery( field ).closest( 'ul.frm_sorting.start_divider' );\n\t\t\tif ( $parentSection.length ) {\n\t\t\t\ttoggleOneSectionHolder( $parentSection );\n\t\t\t\ttoggled = true;\n\t\t\t}\n\t\t}\n\n\t\tif ( msg.indexOf( 'frm-collapse-page' ) !== -1 ) {\n\t\t\trenumberPageBreaks();\n\t\t}\n\n\t\taddClass( field, 'frm-newly-added' );\n\t\tsetTimeout( function() {\n\t\t\tfield.classList.remove( 'frm-newly-added' );\n\t\t}, 1000 );\n\n\t\tconst lastRowOrderInput = field.querySelector( '#frm-last-row-fields-order' );\n\t\tif ( lastRowOrderInput ) {\n\t\t\tupdateLastRowFieldsOrder( JSON.parse( lastRowOrderInput.value ) );\n\t\t}\n\n\t\tif ( addFocus ) {\n\t\t\tconst bounding = field.getBoundingClientRect(),\n\t\t\t\tcontainer = document.getElementById( 'post-body-content' ),\n\t\t\t\tinView = ( bounding.top >= 0 &&\n\t\t\t\t\tbounding.left >= 0 &&\n\t\t\t\t\tbounding.right <= ( window.innerWidth || document.documentElement.clientWidth ) &&\n\t\t\t\t\tbounding.bottom <= ( window.innerHeight || document.documentElement.clientHeight )\n\t\t\t\t);\n\n\t\t\tif ( ! inView ) {\n\t\t\t\tcontainer.scroll( {\n\t\t\t\t\ttop: container.scrollHeight,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( toggled === false ) {\n\t\t\t\ttoggleOneSectionHolder( $thisSection );\n\t\t\t}\n\t\t}\n\n\t\tdeselectFields();\n\t\tinitiateMultiselect();\n\n\t\tdocument.getElementById( 'frm-show-fields' ).classList.remove( 'frm-over-droppable' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle, and requires that elements have the dropdown-menu class.\n\t\tfield.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\t\tfield.querySelectorAll( '.frm-dropdown-menu' ).forEach( dropdownMenu => dropdownMenu.classList.add( 'dropdown-menu' ) );\n\n\t\tconst addedEvent = new Event( 'frm_added_field', { bubbles: false } );\n\t\taddedEvent.frmField = field;\n\t\taddedEvent.frmSection = section;\n\t\taddedEvent.frmType = type;\n\t\taddedEvent.frmToggles = toggled;\n\t\tdocument.dispatchEvent( addedEvent );\n\t}\n\n\tfunction updateLastRowFieldsOrder( fieldsOrder ) {\n\t\tif ( ! fieldsOrder || 'object' !== typeof fieldsOrder ) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys( fieldsOrder ).forEach( fieldId => {\n\t\t\tconst orderInput = document.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\tif ( orderInput ) {\n\t\t\t\torderInput.value = fieldsOrder[ fieldId ];\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Since multiple new fields may get added when a new field is inserted, check the HTML.\n\t *\n\t * @param {string} html\n\t * @return {void}\n\t */\n\tfunction checkHtmlForNewFields( html ) {\n\t\tconst element = div();\n\t\telement.innerHTML = html;\n\t\telement.querySelectorAll( '.form-field' ).forEach( addFieldIdToDraftFieldsInput );\n\t}\n\n\t/**\n\t * @param {HTMLElement} field\n\t * @return {void}\n\t */\n\tfunction addFieldIdToDraftFieldsInput( field ) {\n\t\tif ( ! field.dataset.fid ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst draftInput = document.getElementById( 'draft_fields' );\n\t\tif ( ! draftInput ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( '' === draftInput.value ) {\n\t\t\tdraftInput.value = field.dataset.fid;\n\t\t} else {\n\t\t\tconst split = draftInput.value.split( ',' );\n\t\t\tif ( ! split.includes( field.dataset.fid ) ) {\n\t\t\t\tdraftInput.value += ',' + field.dataset.fid;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction clearSettingsBox( preventFieldGroups ) {\n\t\tjQuery( '#new_fields .frm-single-settings' ).addClass( 'frm_hidden' );\n\t\tjQuery( '#frm-options-panel > .frm-single-settings' ).removeClass( 'frm_hidden' );\n\t\tdeselectFields( preventFieldGroups );\n\t}\n\n\tfunction deselectFields( preventFieldGroups ) {\n\t\tjQuery( 'li.ui-state-default.selected' ).removeClass( 'selected' );\n\t\tjQuery( '.frm-show-field-settings.selected' ).removeClass( 'selected' );\n\t\tif ( ! preventFieldGroups ) {\n\t\t\tunselectFieldGroups();\n\t\t}\n\t}\n\n\tfunction scrollToField( field ) {\n\t\tconst newPos = field.getBoundingClientRect().top,\n\t\t\tcontainer = document.getElementById( 'post-body-content' );\n\n\t\tif ( typeof animate === 'undefined' ) {\n\t\t\tjQuery( container ).scrollTop( newPos );\n\t\t} else {\n\t\t\t// TODO: smooth scroll\n\t\t\tjQuery( container ).animate( { scrollTop: newPos }, 500 );\n\t\t}\n\t}\n\n\tfunction checkCalculationCreatedByUser() {\n\t\tconst calculation = this.value;\n\t\tlet warningMessage = checkMatchingParens( calculation );\n\t\twarningMessage += checkShortcodes( calculation, this );\n\n\t\tif ( warningMessage !== '' ) {\n\t\t\tinfoModal( calculation + '\\n\\n' + warningMessage );\n\t\t}\n\t}\n\n\t/**\n\t * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkMatchingParens( formula ) {\n\t\tlet stack = [],\n\t\t\tformulaArray = formula.split( '' ),\n\t\t\tlength = formulaArray.length,\n\t\t\topening = [ '{', '[', '(' ],\n\t\t\tclosing = {\n\t\t\t\t'}': '{',\n\t\t\t\t')': '(',\n\t\t\t\t']': '['\n\t\t\t},\n\t\t\tunmatchedClosing = [],\n\t\t\tmsg = '',\n\t\t\ti, top;\n\n\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\tif ( opening.includes( formulaArray[ i ] ) ) {\n\t\t\t\tstack.push( formulaArray[ i ] );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( closing.hasOwnProperty( formulaArray[ i ] ) ) {\n\t\t\t\ttop = stack.pop();\n\t\t\t\tif ( top !== closing[ formulaArray[ i ] ] ) {\n\t\t\t\t\tunmatchedClosing.push( formulaArray[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( stack.length > 0 || unmatchedClosing.length > 0 ) {\n\t\t\tmsg = frmAdminJs.unmatched_parens + '\\n\\n';\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t/**\n\t * Checks a calculation for shortcodes that shouldn't be in it and returns a message if found.\n\t *\n\t * @param calculation\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkShortcodes( calculation, inputElement ) {\n\t\tlet msg = checkNonNumericShortcodes( calculation, inputElement );\n\t\tmsg += checkNonFormShortcodes( calculation );\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Checks if a numeric calculation has shortcodes that output non-numeric strings and returns a message if found.\n\t *\n\t * @param calculation\n\t *\n\t * @param inputElement\n\t * @return {string}\n\t */\n\tfunction checkNonNumericShortcodes( calculation, inputElement ) {\n\t\tlet msg = '';\n\n\t\tif ( isTextCalculation( inputElement ) ) {\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst nonNumericShortcodes = getNonNumericShortcodes();\n\n\t\tif ( nonNumericShortcodes.test( calculation ) ) {\n\t\t\tmsg = frmAdminJs.text_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Determines if the calculation input is from a text calculation.\n\t *\n\t * @param inputElement\n\t */\n\tfunction isTextCalculation( inputElement ) {\n\t\treturn jQuery( inputElement ).siblings( 'label[for^=\"calc_type\"]' ).children( 'input' ).prop( 'checked' );\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in numeric calculations.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonNumericShortcodes() {\n\t\treturn /\\[(date|time|email|ip)\\]/;\n\t}\n\n\t/**\n\t * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found.\n\t *\n\t * @param formula\n\t * @return {string}\n\t */\n\tfunction checkNonFormShortcodes( formula ) {\n\t\tlet nonFormShortcodes = getNonFormShortcodes(),\n\t\t\tmsg = '';\n\n\t\tif ( nonFormShortcodes.test( formula ) ) {\n\t\t\tmsg += frmAdminJs.view_shortcodes + '\\n\\n';\n\t\t}\n\n\t\treturn msg;\n\t}\n\n\t/**\n\t * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email\n\t * Notifications, and other Formidable areas.\n\t *\n\t * @return {RegExp}\n\t */\n\tfunction getNonFormShortcodes() {\n\t\treturn /\\[id\\]|\\[key\\]|\\[if\\s\\w+\\]|\\[foreach\\s\\w+\\]|\\[created-at(\\s*)?/g;\n\t}\n\n\tfunction isCalcBoxType( box, listClass ) {\n\t\tconst list = jQuery( box ).find( '.frm_code_list' );\n\t\treturn 1 === list.length && list.hasClass( listClass );\n\t}\n\n\tfunction extractExcludedOptions( exclude ) {\n\t\tconst opts = [];\n\t\tif ( ! Array.isArray( exclude ) ) {\n\t\t\treturn opts;\n\t\t}\n\n\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\tif ( exclude[ i ].startsWith( '[' ) ) {\n\t\t\t\topts.push( exclude[ i ] );\n\t\t\t\t// remove it\n\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction hasExcludedOption( field, excludedOpts ) {\n\t\tlet hasOption = false;\n\t\tfor ( let i = 0; i < excludedOpts.length; i++ ) {\n\t\t\tconst inputs = document.getElementsByName( getFieldOptionInputName( excludedOpts[ i ], field.fieldId ) );\n\t\t\t// 2nd condition checks that there's at least one non-empty value\n\t\t\tif ( inputs.length && jQuery( inputs[ 0 ] ).val() ) {\n\t\t\t\thasOption = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasOption;\n\t}\n\n\tfunction getFieldOptionInputName( opt, fieldId ) {\n\t\tconst at = opt.indexOf( ']' );\n\t\treturn 'field_options' + opt.substring( 0, at ) + '_' + fieldId + opt.substring( at );\n\t}\n\n\tfunction popCalcFields( v, force ) {\n\t\tlet box, exclude, fields, i, list,\n\t\t\tp = jQuery( v ).closest( '.frm-single-settings' ),\n\t\t\tcalc = p.find( '.frm-calc-field' );\n\n\t\tif ( ! force && ( ! calc.length || calc.val() === '' || calc.is( ':hidden' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isSummary = isCalcBoxType( v, 'frm_js_summary_list' );\n\n\t\tconst fieldId = p.find( 'input[name=\"frm_fields_submitted[]\"]' ).val();\n\n\t\tif ( force ) {\n\t\t\tbox = v;\n\t\t} else {\n\t\t\tbox = document.getElementById( 'frm-calc-box-' + fieldId );\n\t\t}\n\n\t\texclude = getExcludeArray( box, isSummary );\n\t\tconst excludedOpts = extractExcludedOptions( exclude );\n\n\t\tfields = getFieldList();\n\t\tlist = document.getElementById( 'frm-calc-list-' + fieldId );\n\t\tlist.innerHTML = '';\n\n\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\tif ( ( exclude && exclude.includes( fields[ i ].fieldType ) ) ||\n\t\t\t\t( excludedOpts.length && hasExcludedOption( fields[ i ], excludedOpts ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst a = document.createElement( 'a' );\n\t\t\ta.setAttribute( 'href', '#' );\n\t\t\ta.setAttribute( 'data-code', fields[ i ].fieldId );\n\t\t\ta.classList.add( 'frm_insert_code' );\n\t\t\ta.appendChild( span( fields[ i ].fieldName ) );\n\t\t\ta.appendChild( span( { className: 'frm-text-sm frm-text-grey-500', text: '[' + fields[ i ].fieldId + ']' } ) );\n\n\t\t\tconst li = document.createElement( 'li' );\n\t\t\tli.classList.add( 'frm-field-list-' + fieldId );\n\t\t\tli.classList.add( 'frm-field-list-' + fields[ i ].fieldType );\n\t\t\tli.appendChild( a );\n\t\t\tlist.appendChild( li );\n\t\t}\n\t}\n\n\tfunction getExcludeArray( calcBox, isSummary ) {\n\t\tconst codeList = calcBox.querySelector( '.frm_code_list' );\n\t\tconst exclude = JSON.parse( codeList.getAttribute( 'data-exclude' ) );\n\n\t\tif ( isSummary ) {\n\t\t\t// includedExtras are those that are normally excluded from the summary but the form owner can choose to include,\n\t\t\t// when they have been chosen to be included, then they can now be manually excluded in the calc box.\n\t\t\tconst includedExtras = getIncludedExtras();\n\t\t\tif ( includedExtras.length ) {\n\t\t\t\tfor ( let i = 0; i < exclude.length; i++ ) {\n\t\t\t\t\tif ( includedExtras.includes( exclude[ i ] ) ) {\n\t\t\t\t\t\t// remove it\n\t\t\t\t\t\texclude.splice( i, 1 );\n\t\t\t\t\t\t// https://love2dev.com/blog/javascript-remove-from-array/#remove-from-array-splice-value\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tfunction getIncludedExtras() {\n\t\tconst checked = [];\n\t\tconst checkboxes = document.getElementsByClassName( 'frm_include_extras_field' );\n\n\t\tfor ( let i = 0; i < checkboxes.length; i++ ) {\n\t\t\tif ( checkboxes[ i ].checked ) {\n\t\t\t\tchecked.push( checkboxes[ i ].value );\n\t\t\t}\n\t\t}\n\n\t\treturn checked;\n\t}\n\n\tfunction rePopCalcFieldsForSummary() {\n\t\tpopCalcFields( jQuery( '.frm-inline-modal.postbox:has(.frm_js_summary_list)' )[ 0 ], true );\n\t}\n\n\tfunction getFieldList( fieldType ) {\n\t\tlet i,\n\t\t\tfields = [],\n\t\t\tallFields = document.querySelectorAll( 'li.frm_field_box' ),\n\t\t\tcheckType = 'undefined' !== typeof fieldType;\n\n\t\tfor ( i = 0; i < allFields.length; i++ ) {\n\t\t\t// data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet\n\t\t\tif ( checkType && allFields[ i ].getAttribute( 'data-ftype' ) !== fieldType ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldId = allFields[ i ].getAttribute( 'data-fid' );\n\t\t\tif ( typeof fieldId !== 'undefined' && fieldId ) {\n\t\t\t\tfields.push( {\n\t\t\t\t\tfieldId: fieldId,\n\t\t\t\t\tfieldName: getPossibleValue( 'frm_name_' + fieldId ),\n\t\t\t\t\tfieldType: getPossibleValue( 'field_options_type_' + fieldId ),\n\t\t\t\t\tfieldKey: getPossibleValue( 'field_options_field_key_' + fieldId )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn wp.hooks.applyFilters( 'frm_admin_get_field_list', fields, fieldType, allFields );\n\t}\n\n\tfunction popProductFields( field ) {\n\t\tlet i, checked, id,\n\t\t\toptions = [],\n\t\t\tcurrent = getCurrentProductFields( field ),\n\t\t\tfName = field.getAttribute( 'data-frmfname' ),\n\t\t\tproducts = getFieldList( 'product' ),\n\t\t\tquantities = getFieldList( 'quantity' ),\n\t\t\tisSelect = field.tagName === 'SELECT', // for reverse compatibility.\n\t\t\t// whether we have just 1 product and 1 quantity field & should therefore attach the latter to the former\n\t\t\tauto = 1 === quantities.length && 1 === products.length;\n\n\t\tif ( isSelect ) {\n\t\t\t// This fallback can be removed after 4.05.\n\t\t\tcurrent = field.getAttribute( 'data-frmcurrent' );\n\t\t}\n\n\t\tfor ( i = 0; i < products.length; i++ ) {\n\t\t\t// let's be double sure it's string, else indexOf will fail\n\t\t\tid = products[ i ].fieldId.toString();\n\t\t\tchecked = auto || -1 !== current.indexOf( id );\n\t\t\tif ( isSelect ) {\n\t\t\t\t// This fallback can be removed after 4.05.\n\t\t\t\tchecked = checked ? ' selected' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t} else {\n\t\t\t\tchecked = checked ? ' checked' : '';\n\t\t\t\toptions.push( '' );\n\t\t\t}\n\t\t}\n\n\t\tfield.innerHTML = options.join( '' );\n\t}\n\n\tfunction getCurrentProductFields( prodFieldOpt ) {\n\t\tconst products = prodFieldOpt.querySelectorAll( '[type=\"checkbox\"]:checked' ),\n\t\t\tidsArray = [];\n\n\t\tfor ( let i = 0; i < products.length; i++ ) {\n\t\t\tidsArray.push( products[ i ].value );\n\t\t}\n\n\t\treturn idsArray;\n\t}\n\n\tfunction popAllProductFields() {\n\t\tconst opts = document.querySelectorAll( '.frmjs_prod_field_opt' );\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tpopProductFields( opts[ i ] );\n\t\t}\n\t}\n\n\tfunction maybeSetProductField( field ) {\n\t\tconst fieldId = field.getAttribute( 'data-fid' ),\n\t\t\tproductFieldOpt = document.getElementById( 'field_options[product_field_' + fieldId + ']' );\n\n\t\tif ( null === productFieldOpt ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpopProductFields( productFieldOpt );\n\t\t// in order to move its settings to that LHS panel where\n\t\t// the update form resides, else it'll lose this setting\n\t\tmoveFieldSettings( document.getElementById( 'frm-single-settings-' + fieldId ) );\n\t}\n\n\t/**\n\t * If the element doesn't exist, use a blank value.\n\t */\n\tfunction getPossibleValue( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field !== null ) {\n\t\t\treturn field.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction liveChanges() {\n\t\t/*jshint validthis:true */\n\t\tlet option,\n\t\t\tnewValue = this.value,\n\t\t\tchanges = document.getElementById( this.getAttribute( 'data-changeme' ) ),\n\t\t\tatt = this.getAttribute( 'data-changeatt' );\n\n\t\tif ( changes === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( att !== null ) {\n\t\t\tif ( changes.tagName === 'SELECT' && att === 'placeholder' ) {\n\t\t\t\toption = changes.options[ 0 ];\n\t\t\t\tif ( option.value === '' ) {\n\t\t\t\t\toption.innerHTML = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// Create a placeholder option if there are no blank values.\n\t\t\t\t\taddBlankSelectOption( changes, newValue );\n\t\t\t\t}\n\t\t\t} else if ( att === 'class' ) {\n\t\t\t\tchangeFieldClass( changes, this );\n\t\t\t} else if ( isSliderField( changes ) ) {\n\t\t\t\tupdateSliderFieldPreview( changes, att, newValue );\n\t\t\t} else {\n\t\t\t\tchanges.setAttribute( att, newValue );\n\t\t\t}\n\t\t} else if ( changes.id.indexOf( 'setup-message' ) === 0 ) {\n\t\t\tif ( newValue !== '' ) {\n\t\t\t\tchanges.innerHTML = '';\n\t\t\t}\n\t\t} else {\n\t\t\tchanges.innerHTML = purifyHtml( newValue );\n\t\t\tif ( 'TEXTAREA' === changes.nodeName && changes.classList.contains( 'wp-editor-area' ) ) {\n\t\t\t\t// Trigger change events on wysiwyg textareas so we can also sync default values in the visual tab.\n\t\t\t\tjQuery( changes ).trigger( 'change' );\n\t\t\t}\n\n\t\t\tif ( changes.classList.contains( 'frm_primary_label' ) && 'break' === changes.nextElementSibling.getAttribute( 'data-ftype' ) ) {\n\t\t\t\tchanges.nextElementSibling.querySelector( '.frm_button_submit' ).textContent = newValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction updateSliderFieldPreview( field, att, newValue ) {\n\t\tif ( frmGlobal.proIncludesSliderJs ) {\n\t\t\tconst hookName = 'frm_update_slider_field_preview';\n\t\t\tconst hookArgs = { field, att, newValue };\n\t\t\twp.hooks.doAction( hookName, hookArgs );\n\t\t\treturn;\n\t\t}\n\n\t\t// This functionality has been moved to pro since v5.4.3. This code should be removed eventually.\n\t\tif ( 'value' === att ) {\n\t\t\tif ( '' === newValue ) {\n\t\t\t\tnewValue = getSliderMidpoint( field );\n\t\t\t}\n\t\t\tfield.value = newValue;\n\t\t} else {\n\t\t\tfield.setAttribute( att, newValue );\n\t\t}\n\n\t\tif ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( 'max' === att || 'min' === att ) && '' === getSliderDefaultValueInput( field.id ) ) {\n\t\t\tfield.value = getSliderMidpoint( field );\n\t\t}\n\n\t\tfield.parentNode.querySelector( '.frm_range_value' ).textContent = field.value;\n\t}\n\n\tfunction getSliderDefaultValueInput( previewInputId ) {\n\t\treturn document.querySelector( 'input[data-changeme=\"' + previewInputId + '\"][data-changeatt=\"value\"]' ).value;\n\t}\n\n\tfunction getSliderMidpoint( sliderInput ) {\n\t\tconst max = parseFloat( sliderInput.getAttribute( 'max' ) );\n\t\tconst min = parseFloat( sliderInput.getAttribute( 'min' ) );\n\t\treturn ( ( max - min ) / 2 ) + min;\n\t}\n\n\tfunction isSliderField( previewInput ) {\n\t\treturn 'range' === previewInput.type && previewInput.parentNode.classList.contains( 'frm_range_container' );\n\t}\n\n\tfunction toggleInvalidMsg() {\n\t\t/*jshint validthis:true */\n\t\tlet typeDropdown, fieldType,\n\t\t\tfieldId = this.getAttribute( 'data-fid' ),\n\t\t\tvalue = '';\n\n\t\t[ 'field_options_max_', 'frm_format_' ].forEach( function( id ) {\n\t\t\tconst input = document.getElementById( id + fieldId );\n\t\t\tif ( ! input ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvalue += input.value;\n\t\t} );\n\n\t\ttypeDropdown = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ];\n\t\tfieldType = typeDropdown.options[ typeDropdown.selectedIndex ].value;\n\n\t\tif ( fieldType === 'text' ) {\n\t\t\ttoggleValidationBox( '' !== value, '.frm_invalid_msg' + fieldId );\n\t\t}\n\t}\n\n\tfunction markRequired() {\n\t\t/*jshint validthis:true */\n\t\tconst thisid = this.id.replace( 'frm_', '' ),\n\t\t\tfieldId = thisid.replace( 'req_field_', '' ),\n\t\t\tchecked = this.checked,\n\t\t\tlabel = jQuery( '#field_label_' + fieldId + ' .frm_required' );\n\n\t\ttoggleValidationBox( checked, '.frm_required_details' + fieldId );\n\n\t\tif ( checked ) {\n\t\t\tconst $reqBox = jQuery( 'input[name=\"field_options[required_indicator_' + fieldId + ']\"]' );\n\t\t\tif ( $reqBox.val() === '' ) {\n\t\t\t\t$reqBox.val( '*' );\n\t\t\t}\n\t\t\tlabel.removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tlabel.addClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleValidationBox( hasValue, messageClass ) {\n\t\t$msg = jQuery( messageClass );\n\t\tif ( hasValue ) {\n\t\t\t$msg.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t} else {\n\t\t\t// Fade out validation options\n\t\t\tconst $validationBox = $msg.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(' + messageClass + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$msg.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markUnique() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst $thisField = jQuery( '.frm_unique_details' + fieldId );\n\t\tif ( this.checked ) {\n\t\t\t$thisField.fadeIn( 'fast' ).closest( '.frm_validation_msg' ).fadeIn( 'fast' );\n\t\t\t$unqDetail = jQuery( '.frm_unique_details' + fieldId + ' input' );\n\t\t\tif ( $unqDetail.val() === '' ) {\n\t\t\t\t$unqDetail.val( frmAdminJs.default_unique );\n\t\t\t}\n\t\t} else {\n\t\t\tconst $validationBox = $thisField.fadeOut( 'fast' ).closest( '.frm_validation_box' );\n\t\t\tconst v = $validationBox.css( 'display', 'block' ).children( ':not(.frm_unique_details' + fieldId + '):visible' ).length;\n\t\t\t$validationBox.css( 'display', '' );\n\t\t\tif ( v === 0 ) {\n\t\t\t\t$thisField.closest( '.frm_validation_msg' ).fadeOut( 'fast' );\n\t\t\t}\n\t\t}\n\t}\n\n\t//Fade confirmation field and validation option in or out\n\tfunction addConf() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = jQuery( this ).val();\n\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) );\n\n\t\ttoggleValidationBox( val !== '', '.frm_conf_details' + fieldId );\n\n\t\tif ( val !== '' ) {\n\t\t\t//Add default validation message if empty\n\t\t\tconst valMsg = jQuery( '.frm_validation_box .frm_conf_details' + fieldId + ' input' );\n\t\t\tif ( valMsg.val() === '' ) {\n\t\t\t\tvalMsg.val( frmAdminJs.default_conf );\n\t\t\t}\n\n\t\t\tsetConfirmationFieldDescriptions( fieldId );\n\n\t\t\t//Add or remove class for confirmation field styling\n\t\t\tif ( val === 'inline' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_below' ).addClass( 'frm_conf_inline' );\n\t\t\t} else if ( val === 'below' ) {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline' ).addClass( 'frm_conf_below' );\n\t\t\t}\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).removeClass( 'frm_hidden' );\n\t\t} else {\n\t\t\tjQuery( '.frm-conf-box-' + fieldId ).addClass( 'frm_hidden' );\n\t\t\tsetTimeout( function() {\n\t\t\t\t$thisField.removeClass( 'frm_conf_inline frm_conf_below' );\n\t\t\t}, 200 );\n\t\t}\n\t}\n\n\tfunction setConfirmationFieldDescriptions( fieldId ) {\n\t\tconst fieldType = document.getElementsByName( 'field_options[type_' + fieldId + ']' )[ 0 ].value;\n\n\t\tconst fieldDescription = document.getElementById( 'field_description_' + fieldId );\n\t\tconst hiddenDescName = 'field_options[description_' + fieldId + ']';\n\t\tconst newValue = frmAdminJs[ 'enter_' + fieldType ];\n\t\tmaybeSetNewDescription( fieldDescription, hiddenDescName, newValue );\n\n\t\tconst confFieldDescription = document.getElementById( 'conf_field_description_' + fieldId );\n\t\tconst hiddenConfName = 'field_options[conf_desc_' + fieldId + ']';\n\t\tconst newConfValue = frmAdminJs[ 'confirm_' + fieldType ];\n\t\tmaybeSetNewDescription( confFieldDescription, hiddenConfName, newConfValue );\n\t}\n\n\tfunction maybeSetNewDescription( descriptionDiv, hiddenName, newValue ) {\n\t\tif ( descriptionDiv.innerHTML === frmAdminJs.desc ) {\n\t\t\t// Set the visible description value and the hidden description value\n\t\t\tdescriptionDiv.innerHTML = newValue;\n\t\t\tdocument.getElementsByName( hiddenName )[ 0 ].value = newValue;\n\t\t}\n\t}\n\n\tfunction initBulkOptionsOverlay() {\n\t\t/*jshint validthis:true */\n\t\tconst $info = initModal( '#frm-bulk-modal', '700px' );\n\t\tif ( $info === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '.frm-insert-preset' ).on( 'click', insertBulkPreset );\n\n\t\tjQuery( builderForm ).on( 'click', 'a.frm-bulk-edit-link', function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tlet i, key, label,\n\t\t\t\tcontent = '',\n\t\t\t\toptList,\n\t\t\t\topts,\n\t\t\t\tfieldId = jQuery( this ).closest( '[data-fid]' ).data( 'fid' ),\n\t\t\t\tseparate = usingSeparateValues( fieldId ),\n\t\t\t\tproduct = isProductField( fieldId );\n\n\t\t\toptList = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\t\tif ( ! optList ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topts = optList.getElementsByTagName( 'li' );\n\n\t\t\tdocument.getElementById( 'bulk-field-id' ).value = fieldId;\n\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tkey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\t\tif ( key !== '000' ) {\n\t\t\t\t\tlabel = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ];\n\t\t\t\t\tif ( typeof label !== 'undefined' ) {\n\t\t\t\t\t\tcontent += label.value;\n\t\t\t\t\t\tif ( separate ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( product ) {\n\t\t\t\t\t\t\tcontent += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][price]' )[ 0 ].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontent += '\\r\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( i >= opts.length - 1 ) {\n\t\t\t\t\tdocument.getElementById( 'frm_bulk_options' ).value = content;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$info.dialog( 'open' );\n\n\t\t\treturn false;\n\t\t} );\n\n\t\tjQuery( '#frm-update-bulk-opts' ).on( 'click', function() {\n\t\t\tconst fieldId = document.getElementById( 'bulk-field-id' ).value;\n\t\t\tconst optionType = document.getElementById( 'bulk-option-type' ).value;\n\n\t\t\tif ( optionType ) {\n\t\t\t\t// Use custom handler for custom option type.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.classList.add( 'frm_loading_button' );\n\t\t\tfrmAdminBuild.updateOpts( fieldId, document.getElementById( 'frm_bulk_options' ).value, $info );\n\t\t\tfieldUpdated();\n\t\t} );\n\t}\n\n\tfunction insertBulkPreset( event ) {\n\t\t/*jshint validthis:true */\n\t\tconst opts = JSON.parse( this.getAttribute( 'data-opts' ) );\n\t\tevent.preventDefault();\n\t\tdocument.getElementById( 'frm_bulk_options' ).value = opts.join( '\\n' );\n\t\treturn false;\n\t}\n\n\t//Add new option or \"Other\" option to radio/checkbox/dropdown\n\tfunction addFieldOption() {\n\t\t/*jshint validthis:true */\n\t\tlet fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tnewOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop( 'outerHTML' ),\n\t\t\toptType = jQuery( this ).data( 'opttype' ),\n\t\t\toptKey = 0,\n\t\t\toldKey = '000',\n\t\t\tlastKey = getHighestOptKey( fieldId );\n\n\t\tif ( lastKey !== oldKey ) {\n\t\t\toptKey = lastKey + 1;\n\t\t}\n\n\t\t//Update hidden field\n\t\tif ( optType === 'other' ) {\n\t\t\tdocument.getElementById( 'other_input_' + fieldId ).value = 1;\n\n\t\t\t//Hide \"Add Other\" option now if this is radio field\n\t\t\tconst ftype = jQuery( this ).data( 'ftype' );\n\t\t\tif ( ftype === 'radio' || ftype === 'select' ) {\n\t\t\t\tjQuery( this ).fadeOut( 'slow' );\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\taction: 'frm_add_field_option',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\topt_key: optKey,\n\t\t\t\topt_type: optType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\t\t\tjQuery.post( ajaxurl, data, function( msg ) {\n\t\t\t\tjQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );\n\t\t\t\tresetDisplayedOpts( fieldId );\n\t\t\t} );\n\t\t} else {\n\t\t\tnewOption = newOption.replace( new RegExp( 'optkey=\"' + oldKey + '\"', 'g' ), 'optkey=\"' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '_', 'g' ), '-' + optKey + '_' );\n\t\t\tnewOption = newOption.replace( new RegExp( '-' + oldKey + '\"', 'g' ), '-' + optKey + '\"' );\n\t\t\tnewOption = newOption.replace( new RegExp( '\\\\[' + oldKey + '\\\\]', 'g' ), '[' + optKey + ']' );\n\t\t\tnewOption = newOption.replace( 'frm_hidden frm_option_template', '' );\n\t\t\tnewOption = { newOption };\n\t\t\taddSaveAndDragIconsToOption( fieldId, newOption );\n\n\t\t\tconst $thisOption = this.closest( '.frm_single_option' );\n\t\t\tif ( $thisOption ) {\n\t\t\t\t$thisOption.after( newOption.newOption );\n\t\t\t} else {\n\t\t\t\t// Backwards compatibility \"@since 6.24\"\n\t\t\t\t// Note: Keep it jQuery since some events are attached to the element\n\t\t\t\tjQuery( `#frm_field_${ fieldId }_opts` ).append( newOption.newOption );\n\t\t\t}\n\n\t\t\tresetDisplayedOpts( fieldId );\n\t\t}\n\n\t\tfieldOptionEnableAllRemoveButtons( this );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * Enable all remove buttons for field options.\n\t *\n\t * @param {HTMLElement} element The add option button element.\n\t */\n\tfunction fieldOptionEnableAllRemoveButtons( element ) {\n\t\t// Make sure all remove buttons are enabled\n\t\tconst parentEl = element.classList.contains( 'frm-add-option-legacy' ) // Backwards compatibility \"@since 6.24\"\n\t\t\t? element.closest( '.frm-collapse-me' )?.querySelector( '.frm_sortable_field_opts' )\n\t\t\t: element.closest( '.frm_sortable_field_opts' );\n\n\t\tparentEl?.querySelectorAll( '.frm_remove_tag.frm_disabled' )?.\n\t\t\tforEach( button => button.classList.remove( 'frm_disabled' ) );\n\t}\n\n\tfunction getHighestOptKey( fieldId ) {\n\t\tlet i = 0,\n\t\t\toptKey = 0,\n\t\t\topts = jQuery( '#frm_field_' + fieldId + '_opts li' ),\n\t\t\tlastKey = 0;\n\n\t\tfor ( i; i < opts.length; i++ ) {\n\t\t\toptKey = opts[ i ].getAttribute( 'data-optkey' );\n\t\t\tif ( opts.length === 1 ) {\n\t\t\t\treturn optKey;\n\t\t\t}\n\t\t\tif ( optKey !== '000' ) {\n\t\t\t\toptKey = optKey.replace( 'other_', '' );\n\t\t\t\toptKey = parseInt( optKey, 10 );\n\t\t\t}\n\n\t\t\tif ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {\n\t\t\t\tlastKey = optKey;\n\t\t\t}\n\t\t}\n\n\t\treturn lastKey;\n\t}\n\n\tfunction toggleMultSel() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggleMultiSelect( fieldId, this.value );\n\t}\n\n\tfunction toggleMultiSelect( fieldId, value ) {\n\t\tconst setting = jQuery( '.frm_multiple_cont_' + fieldId );\n\t\tif ( value === 'select' ) {\n\t\t\tsetting.fadeIn( 'fast' );\n\t\t} else {\n\t\t\tsetting.fadeOut( 'fast' );\n\t\t}\n\t}\n\n\tfunction toggleSepValues() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\ttoggle( jQuery( '.field_' + fieldId + '_option_key' ) );\n\t\tjQuery( '.field_' + fieldId + '_option' ).toggleClass( 'frm_with_key' );\n\t}\n\n\tfunction toggleImageOptions() {\n\t\t/*jshint validthis:true */\n\t\tlet hasImageOptions, imageSize,\n\t\t\t$field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\n\t\ttoggle( jQuery( '.field_' + fieldId + '_image_id' ) );\n\t\ttoggle( jQuery( '.frm_toggle_image_options_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_image_size_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm_alignment_' + fieldId ) );\n\t\ttoggle( jQuery( '.frm-add-other#frm_add_field_' + fieldId ) );\n\n\t\thasImageOptions = imagesAsOptions( fieldId );\n\n\t\tif ( hasImageOptions ) {\n\t\t\tsetAlignment( fieldId, 'inline' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\timageSize = getImageOptionSize( fieldId );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + imageSize );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).hide();\n\t\t} else {\n\t\t\tdisplayField.classList.remove( 'frm_image_options' );\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tsetAlignment( fieldId, 'block' );\n\t\t\t$field.find( '.frm-bulk-edit-link' ).show();\n\t\t}\n\n\t\t/**\n\t\t * Fires when image options are toggled for a field.\n\t\t *\n\t\t * @param {HTMLElement} field The field element.\n\t\t * @param {boolean} hasImageOptions Whether the field has image options enabled.\n\t\t */\n\t\twp.hooks.doAction( 'frm_image_options_toggled', $field[ 0 ], hasImageOptions );\n\t}\n\n\tfunction removeImageSizeClasses( field ) {\n\t\tfield.classList.remove( 'frm_image_size_', 'frm_image_size_small', 'frm_image_size_medium', 'frm_image_size_large', 'frm_image_size_xlarge' );\n\t}\n\n\tfunction setAlignment( fieldId, alignment ) {\n\t\tjQuery( '#field_options_align_' + fieldId ).val( alignment ).trigger( 'change' );\n\t}\n\n\tfunction setImageSize() {\n\t\tconst $field = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tfieldId = $field.data( 'fid' ),\n\t\t\tdisplayField = document.getElementById( 'frm_field_id_' + fieldId );\n\n\t\trefreshOptionDisplay();\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tremoveImageSizeClasses( displayField );\n\t\t\tdisplayField.classList.add( 'frm_image_options' );\n\t\t\tdisplayField.classList.add( 'frm_image_size_' + getImageOptionSize( fieldId ) );\n\t\t}\n\t}\n\n\tfunction refreshOptionDisplayNow( object ) {\n\t\tconst $field = object.closest( '.frm-single-settings' ),\n\t\t\tfieldID = $field.data( 'fid' );\n\t\tjQuery( '.field_' + fieldID + '_option' ).trigger( 'change' );\n\t}\n\n\tfunction refreshOptionDisplay() {\n\t\t/*jshint validthis:true */\n\t\trefreshOptionDisplayNow( jQuery( this ) );\n\t}\n\n\tfunction addImageToOption( event ) {\n\t\tconst imagePreview = event.target.closest( '.frm_image_preview_wrapper' );\n\t\tif ( ! wp?.media || imagePreview?.dataset.upgrade ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\twp.media.model.settings.post.id = 0;\n\n\t\tconst fileFrame = wp.media.frames.file_frame = wp.media( {\n\t\t\tmultiple: false,\n\t\t\tlibrary: {\n\t\t\t\ttype: [ 'image' ]\n\t\t\t}\n\t\t} );\n\n\t\tfileFrame.on( 'select', function() {\n\t\t\tconst attachment = fileFrame.state().get( 'selection' ).first().toJSON();\n\t\t\tconst img = imagePreview.querySelector( 'img' );\n\n\t\t\timg.setAttribute( 'src', attachment.url );\n\t\t\timg.classList.remove( 'frm_hidden' );\n\t\t\timg.removeAttribute( 'srcset' ); // Prevent the old image from sticking around.\n\n\t\t\timagePreview.querySelector( '.frm_image_preview_frame' ).style.display = 'block';\n\t\t\timagePreview.querySelector( '.frm_image_preview_title' ).textContent = attachment.filename;\n\t\t\timagePreview.querySelector( '.frm_choose_image_box' ).style.display = 'none';\n\n\t\t\tconst $imagePreview = jQuery( imagePreview );\n\t\t\t$imagePreview.siblings( 'input[name*=\"[label]\"]' ).data( 'frmimgurl', attachment.url );\n\t\t\t$imagePreview.find( 'input.frm_image_id' ).val( attachment.id ).trigger( 'change' );\n\t\t\twp.media.model.settings.post.id = 0;\n\t\t} );\n\n\t\tfileFrame.open();\n\t}\n\n\tfunction removeImageFromOption( event ) {\n\t\tconst $this = jQuery( this ),\n\t\t\tpreviewWrapper = $this.closest( '.frm_image_preview_wrapper' );\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tpreviewWrapper.find( 'img' ).attr( 'src', '' );\n\t\tpreviewWrapper.find( '.frm_image_preview_frame' ).hide();\n\t\tpreviewWrapper.find( '.frm_choose_image_box' ).show();\n\t\tpreviewWrapper.find( 'input.frm_image_id' ).val( 0 ).trigger( 'change' );\n\t}\n\n\tfunction toggleMultiselect() {\n\t\t/*jshint validthis:true */\n\t\tconst dropdown = jQuery( this ).closest( 'li' ).find( '.frm_form_fields select' );\n\t\tif ( this.checked ) {\n\t\t\tdropdown.attr( 'multiple', 'multiple' );\n\t\t} else {\n\t\t\tdropdown.removeAttr( 'multiple' );\n\t\t}\n\t}\n\n\t/**\n\t * Allow typing on form switcher click without an extra click to search.\n\t */\n\tfunction focusSearchBox() {\n\t\tconst searchBox = document.getElementById( 'dropform-search-input' );\n\t\tif ( searchBox !== null ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsearchBox.focus();\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\t/**\n\t * Dismiss a warning message and send an AJAX request to update the dismissal state.\n\t *\n\t * @since 6.3\n\t *\n\t * @param {Event} event The event object associated with the click on the dismiss icon.\n\t */\n\tfunction dismissWarningMessage( event ) {\n\t\tconst target = event.target;\n\n\t\tconst warningEl = target.closest( '.frm_warning_style' );\n\t\tjQuery( warningEl ).fadeOut( 400, () => warningEl.remove() );\n\n\t\tconst action = target.dataset.action;\n\t\tconst formData = new FormData();\n\t\tdoJsonPost( action, formData );\n\t}\n\n\t/**\n\t * If a field is clicked in the builder, prevent inputs from changing.\n\t */\n\tfunction stopFieldFocus( e ) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Delete a field option.\n\t */\n\tfunction deleteFieldOption() {\n\t\tconst parentLi = this.parentNode;\n\t\tconst parentUl = parentLi.parentNode;\n\n\t\t// If only 2 visible options, add disabled class to the other delete button\n\t\tconst visibleOptions = parentUl.querySelectorAll( 'li:not(.frm_hidden)' );\n\t\tif ( visibleOptions.length === 2 ) {\n\t\t\tArray.from( visibleOptions )\n\t\t\t\t.find( li => li !== parentLi )\n\t\t\t\t.querySelector( '.frm_remove_tag' )?.classList.add( 'frm_disabled' );\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet otherInput,\n\t\t\tfieldId = this.getAttribute( 'data-fid' );\n\n\t\tjQuery( parentLi ).fadeOut( 'fast', function() {\n\t\t\twp.hooks.doAction( 'frm_before_delete_field_option', this );\n\t\t\tjQuery( parentLi ).remove();\n\n\t\t\tconst hasOther = jQuery( parentUl ).find( '.frm_other_option' );\n\t\t\tif ( hasOther.length < 1 ) {\n\t\t\t\totherInput = document.getElementById( 'other_input_' + fieldId );\n\t\t\t\tif ( otherInput !== null ) {\n\t\t\t\t\totherInput.value = 0;\n\t\t\t\t}\n\t\t\t\tjQuery( '#other_button_' + fieldId ).fadeIn( 'fast' );\n\t\t\t}\n\t\t} );\n\t\tfieldUpdated();\n\t}\n\n\t/**\n\t * If a radio button is set as default, allow a click to\n\t * deselect it.\n\t */\n\tfunction maybeUncheckRadio() {\n\t\tlet $self, uncheck, unbind, up;\n\n\t\t/*jshint validthis:true */\n\t\t$self = jQuery( this );\n\t\tif ( $self.is( ':checked' ) ) {\n\t\t\tuncheck = function() {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$self.prop( 'checked', false );\n\t\t\t\t}, 0 );\n\t\t\t};\n\t\t\tunbind = function() {\n\t\t\t\t$self.off( 'mouseup', up );\n\t\t\t};\n\t\t\tup = function() {\n\t\t\t\tuncheck();\n\t\t\t\tunbind();\n\t\t\t};\n\t\t\t$self.on( 'mouseup', up );\n\t\t\t$self.one( 'mouseout', unbind );\n\t\t}\n\t}\n\n\t/**\n\t * If the field option has the default text, clear it out on click.\n\t */\n\tfunction maybeClearOptText() {\n\t\t/*jshint validthis:true */\n\t\tif ( this.value === frmAdminJs.new_option ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction confirmFieldsDeleteMessage( numberOfFields ) {\n\t\t/* translators: %1$s: Number of fields that are selected to be deleted. */\n\t\treturn sprintf( __( 'Are you sure you want to delete these %1$s selected field(s)?', 'formidable' ), numberOfFields );\n\t}\n\n\tfunction clickDeleteField() {\n\t\t/*jshint validthis:true */\n\t\tlet confirmMsg = frmAdminJs.conf_delete,\n\t\t\tmaybeDivider = this.parentNode.parentNode.parentNode.parentNode.parentNode,\n\t\t\tli = maybeDivider.parentNode,\n\t\t\tfield = jQuery( this ).closest( 'li.form-field' ),\n\t\t\tfieldId = field.data( 'fid' );\n\n\t\tif ( field.data( 'ftype' ) === 'divider' ) {\n\t\t\tconst fieldBoxes = document.querySelectorAll( '.frm-field-group-hover-target .start_divider .frm_field_box' );\n\t\t\tlet fieldIdsToDelete = 0;\n\t\t\tfieldBoxes.forEach( fieldBox => {\n\t\t\t\tconst fieldsInsideFieldBox = fieldBox.querySelectorAll( 'li.form-field' );\n\t\t\t\tif ( fieldsInsideFieldBox ) {\n\t\t\t\t\tfieldIdsToDelete += fieldsInsideFieldBox.length;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( fieldIdsToDelete ) {\n\t\t\t\tconfirmMsg = confirmFieldsDeleteMessage( ++fieldIdsToDelete );\n\t\t\t}\n\t\t}\n\n\t\tif ( li.classList.contains( 'frm-section-collapsed' ) || li.classList.contains( 'frm-page-collapsed' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If deleting a section, use a special message.\n\t\tif ( maybeDivider.className === 'divider_section_only' ) {\n\t\t\tconfirmMsg = frmAdminJs.conf_delete_sec;\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmMsg );\n\t\tthis.setAttribute( 'data-frmverify-btn', 'frm-button-red' );\n\t\tthis.setAttribute( 'data-deletefield', fieldId );\n\n\t\tcloseOpenFieldDropdowns();\n\n\t\tconfirmLinkClick( this );\n\t\treturn false;\n\t}\n\n\tfunction clickSelectField() {\n\t\tthis.closest( 'li.form-field' ).click();\n\t}\n\n\tfunction clickDeleteFieldGroup() {\n\t\tlet hoverTarget, decoy;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\n\t\tdecoy = document.createElement( 'div' );\n\t\tdecoy.classList.add( 'frm-delete-field-groups', 'frm_hidden' );\n\t\tdocument.body.appendChild( decoy );\n\t\tdecoy.click();\n\t}\n\n\tfunction duplicateFieldGroup() {\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRowId = 'frm_field_group_' + getAutoId();\n\t\tconst placeholderUlChild = document.createTextNode( '' );\n\t\twrapFieldLiInPlace( placeholderUlChild );\n\n\t\tconst newRow = jQuery( placeholderUlChild ).closest( 'li' ).get( 0 );\n\t\tnewRow.classList.add( 'frm_hidden' );\n\n\t\tconst newRowUl = newRow.querySelector( 'ul' );\n\t\tnewRowUl.id = newRowId;\n\n\t\tjQuery( hoverTarget.closest( 'li.frm_field_box' ) ).after( newRow );\n\n\t\tconst $fields = getFieldsInRow( jQuery( hoverTarget ) );\n\t\tconst syncDetails = [];\n\t\tconst injectedCloneOptions = [];\n\n\t\tconst expectedLength = $fields.length;\n\t\tconst originalFieldIdByDuplicatedFieldId = {};\n\n\t\tlet duplicatedCount = 0;\n\n\t\tjQuery( newRow ).on(\n\t\t\t'frm_added_duplicated_field_to_row',\n\t\t\tfunction( _, args ) {\n\t\t\t\toriginalFieldIdByDuplicatedFieldId[ jQuery( args.duplicatedFieldHtml ).attr( 'data-fid' ) ] = args.originalFieldId;\n\n\t\t\t\tif ( expectedLength > ++duplicatedCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst $newRowUl = jQuery( newRowUl );\n\t\t\t\tconst $duplicatedFields = getFieldsInRow( $newRowUl );\n\n\t\t\t\tinjectedCloneOptions.forEach(\n\t\t\t\t\tfunction( cloneOption ) {\n\t\t\t\t\t\tcloneOption.remove();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tfor ( let index = 0; index < expectedLength; ++index ) {\n\t\t\t\t\t$newRowUl.append( $newRowUl.children( 'li.form-field[frm-field-order=\"' + index + '\"]' ) );\n\t\t\t\t}\n\n\t\t\t\tsyncLayoutClasses( $duplicatedFields.first(), syncDetails );\n\t\t\t\tnewRow.classList.remove( 'frm_hidden' );\n\t\t\t\tupdateFieldOrder();\n\n\t\t\t\tgetFieldsInRow( $newRowUl ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tmaybeDuplicateUnsavedSettings( originalFieldIdByDuplicatedFieldId[ this.getAttribute( 'data-fid' ) ], jQuery( this ).prop( 'outerHTML' ) );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\t$fields.each(\n\t\t\tfunction( index ) {\n\t\t\t\tlet cloneOption;\n\t\t\t\tcloneOption = document.createElement( 'li' );\n\t\t\t\tcloneOption.classList.add( 'frm_clone_field' );\n\t\t\t\tcloneOption.setAttribute( 'frm-target-row-id', newRowId );\n\t\t\t\tcloneOption.setAttribute( 'frm-field-order', index );\n\t\t\t\tthis.appendChild( cloneOption );\n\t\t\t\tcloneOption.click();\n\t\t\t\tinjectedCloneOptions.push( cloneOption );\n\t\t\t\tsyncDetails.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction clickFieldGroupLayout() {\n\t\tlet hoverTarget, sizeOfFieldGroup, popupWrapper;\n\n\t\thoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\n\t\tif ( null === hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\n\t\tsizeOfFieldGroup = getSizeOfFieldGroupFromChildElement( hoverTarget.querySelector( 'li.form-field' ) );\n\n\t\thoverTarget.classList.add( 'frm-has-open-field-group-popup' );\n\t\tjQuery( document ).on( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\n\t\tpopupWrapper = div();\n\t\tpopupWrapper.style.position = 'relative';\n\t\tpopupWrapper.appendChild( getFieldGroupPopup( sizeOfFieldGroup, this ) );\n\t\tthis.parentNode.appendChild( popupWrapper );\n\n\t\tconst firstLayoutOption = popupWrapper.querySelector( '.frm-row-layout-option' );\n\t\tif ( firstLayoutOption ) {\n\t\t\tfirstLayoutOption.focus();\n\t\t}\n\t}\n\n\tfunction destroyFieldGroupPopupOnOutsideClick( event ) {\n\t\tif ( event.target.classList.contains( 'frm-custom-field-group-layout' ) || event.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! jQuery( event.target ).closest( '#frm_field_group_controls' ).length && ! jQuery( event.target ).closest( '#frm_field_group_popup' ).length ) {\n\t\t\tdestroyFieldGroupPopup();\n\t\t}\n\t}\n\n\tfunction getSizeOfFieldGroupFromChildElement( element ) {\n\t\tconst $ul = jQuery( element ).closest( 'ul' );\n\t\tif ( $ul.length ) {\n\t\t\treturn getFieldsInRow( $ul ).length;\n\t\t}\n\t\treturn getSelectedFieldCount();\n\t}\n\n\tfunction getFieldGroupPopup( sizeOfFieldGroup, childElement ) {\n\t\tlet popup, wrapper, rowLayoutOptions, ul;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( null === popup ) {\n\t\t\tpopup = div();\n\t\t} else {\n\t\t\tpopup.innerHTML = '';\n\t\t}\n\n\t\tpopup.id = 'frm_field_group_popup';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px 12px';\n\t\twrapper.appendChild( getRowLayoutTitle() );\n\n\t\trowLayoutOptions = getRowLayoutOptions( sizeOfFieldGroup );\n\n\t\tul = childElement.closest( 'ul.frm_sorting' );\n\t\tif ( null !== ul ) {\n\t\t\tmaybeMarkRowLayoutAsActive( ul, rowLayoutOptions );\n\t\t}\n\n\t\twrapper.appendChild( rowLayoutOptions );\n\n\t\tpopup.appendChild( wrapper );\n\t\tpopup.appendChild( separator() );\n\n\t\tif ( sizeOfFieldGroup <= 6 ) {\n\t\t\tpopup.appendChild( getCustomLayoutOption() );\n\t\t}\n\n\t\tpopup.appendChild( getBreakIntoDifferentRowsOption() );\n\n\t\treturn popup;\n\t}\n\n\tfunction maybeMarkRowLayoutAsActive( activeRow, options ) {\n\t\tlet length, index, currentRow;\n\n\t\tlength = options.children.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tcurrentRow = options.children[ index ];\n\t\t\tif ( rowLayoutsMatch( currentRow, activeRow ) ) {\n\t\t\t\tcurrentRow.classList.add( 'frm-active-row-layout' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction separator() {\n\t\treturn document.createElement( 'hr' );\n\t}\n\n\tfunction getCustomLayoutOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Custom layout', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_gear_svg' ) );\n\t\toption.classList.add( 'frm-custom-field-group-layout' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction makeTabbable( element, ariaLabel ) {\n\t\telement.setAttribute( 'tabindex', 0 );\n\t\telement.setAttribute( 'role', 'button' );\n\t\tif ( 'undefined' !== typeof ariaLabel ) {\n\t\t\telement.setAttribute( 'aria-label', ariaLabel );\n\t\t}\n\t}\n\n\tfunction getIconClone( iconId ) {\n\t\tconst clone = document.getElementById( iconId ).cloneNode( true );\n\t\tclone.id = '';\n\t\treturn clone;\n\t}\n\n\tfunction getBreakIntoDifferentRowsOption() {\n\t\tconst option = div();\n\t\toption.textContent = __( 'Break into rows', 'formidable' );\n\t\tjQuery( option ).prepend( getIconClone( 'frm_break_field_group_svg' ) );\n\t\toption.classList.add( 'frm-break-field-group' );\n\t\tmakeTabbable( option );\n\t\treturn option;\n\t}\n\n\tfunction getRowLayoutTitle() {\n\t\tconst rowLayoutTitle = div();\n\t\trowLayoutTitle.classList.add( 'frm-row-layout-title' );\n\t\trowLayoutTitle.textContent = __( 'Row Layout', 'formidable' );\n\t\treturn rowLayoutTitle;\n\t}\n\n\tfunction getRowLayoutOptions( size ) {\n\t\tlet wrapper, padding;\n\n\t\twrapper = getEmptyGridContainer();\n\n\t\tif ( size > 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t\treturn wrapper;\n\t\t}\n\n\t\tif ( 5 !== size ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'even' ) );\n\t\t}\n\t\tif ( size % 2 === 1 ) {\n\t\t\t// only include the middle option for odd numbers because even doesn't make a lot of sense.\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'middle' ) );\n\t\t}\n\t\tif ( size < 6 ) {\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'left' ) );\n\t\t\twrapper.appendChild( getRowLayoutOption( size, 'right' ) );\n\t\t} else {\n\t\t\tpadding = div();\n\t\t\tpadding.classList.add( 'frm_fourth' );\n\t\t\twrapper.prepend( padding );\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tfunction getRowLayoutOption( size, type ) {\n\t\tlet option, useClass;\n\n\t\toption = div();\n\t\toption.classList.add( 'frm-row-layout-option' );\n\t\tmakeTabbable( option, type );\n\n\t\tswitch ( size ) {\n\t\t\tcase 6:\n\t\t\t\tuseClass = 'frm_half';\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tuseClass = 'frm_third';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif ( size > 6 ) {\n\t\t\t\t\t// We only show a single option at 6-12, so we use the full width.\n\t\t\t\t\tuseClass = 'frm_full';\n\t\t\t\t} else {\n\t\t\t\t\tuseClass = size % 2 === 1 ? 'frm_fourth' : 'frm_third';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\toption.classList.add( useClass );\n\t\toption.setAttribute( 'layout-type', type );\n\n\t\toption.appendChild( getRowForSizeAndType( size, type ) );\n\t\treturn option;\n\t}\n\n\tfunction rowLayoutsMatch( row1, row2 ) {\n\t\treturn getRowLayoutAsKey( row1 ) === getRowLayoutAsKey( row2 );\n\t}\n\n\tfunction getRowLayoutAsKey( row ) {\n\t\tlet $fields, sizes;\n\t\tif ( row.classList.contains( 'frm-row-layout-option' ) ) {\n\t\t\t$fields = jQuery( row ).find( '.frm_grid_container' ).children();\n\t\t} else {\n\t\t\t$fields = getFieldsInRow( jQuery( row ) );\n\t\t}\n\t\tsizes = [];\n\t\t$fields.each(\n\t\t\tfunction() {\n\t\t\t\tsizes.push( getSizeOfLayoutClass( getLayoutClassName( this.classList ) ) );\n\t\t\t}\n\t\t);\n\t\treturn sizes.join( '-' );\n\t}\n\n\tfunction getRowForSizeAndType( size, type ) {\n\t\tlet row, index, block;\n\n\t\trow = getEmptyGridContainer();\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tblock = div();\n\t\t\tblock.classList.add( getClassForBlock( size, type, index ) );\n\t\t\tblock.style.height = '16px';\n\t\t\tblock.style.background = '#9EA9B8';\n\t\t\tblock.style.borderRadius = '1px';\n\t\t\trow.appendChild( block );\n\t\t}\n\n\t\treturn row;\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {string} type even, middle, left, or right.\n\t * @param {number} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getClassForBlock( size, type, index ) {\n\t\tif ( 'even' === type ) {\n\t\t\treturn getEvenClassForSize( size, index );\n\t\t} else if ( 'middle' === type ) {\n\t\t\tif ( 3 === size ) {\n\t\t\t\treturn 1 === index ? 'frm6' : 'frm3';\n\t\t\t}\n\t\t\tif ( 5 === size ) {\n\t\t\t\treturn 2 === index ? 'frm4' : 'frm2';\n\t\t\t}\n\t\t} else if ( 'left' === type ) {\n\t\t\treturn 0 === index ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t} else if ( 'right' === type ) {\n\t\t\treturn index === size - 1 ? getLargeClassForSize( size ) : getSmallClassForSize( size );\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\t/**\n\t * @param {number} size 2-12.\n\t * @param {number|undefined} index 0-5.\n\t * @return {string} The class name.\n\t */\n\tfunction getEvenClassForSize( size, index ) {\n\t\tif ( size > 6 ) {\n\t\t\treturn 'frm1';\n\t\t}\n\t\tif ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) {\n\t\t\treturn getLayoutClassForSize( 12 / size );\n\t\t}\n\t\tif ( 5 === size && 'undefined' !== typeof index ) {\n\t\t\treturn 0 === index ? 'frm4' : 'frm2';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getSmallClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2: case 3:\n\t\t\t\treturn 'frm3';\n\t\t\tcase 4:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm2';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm1';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getLargeClassForSize( size ) {\n\t\tswitch ( size ) {\n\t\t\tcase 2:\n\t\t\t\treturn 'frm9';\n\t\t\tcase 3: case 4:\n\t\t\t\treturn 'frm6';\n\t\t\tcase 5:\n\t\t\t\treturn 'frm4';\n\t\t\tcase 6:\n\t\t\t\treturn 'frm7';\n\t\t}\n\t\treturn 'frm12';\n\t}\n\n\tfunction getEmptyGridContainer() {\n\t\tconst wrapper = div();\n\t\twrapper.classList.add( 'frm_grid_container' );\n\t\treturn wrapper;\n\t}\n\n\t/**\n\t * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the \"Row Layout\" popup.\n\t *\n\t * @return {void}\n\t */\n\tfunction handleFieldGroupLayoutOptionClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! row ) {\n\t\t\t// The field group layout options also get clicked when merging multiple rows.\n\t\t\t// The following code isn't required for multiple rows though so just exit early.\n\t\t\treturn;\n\t\t}\n\n\t\tconst type = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction handleFieldGroupLayoutOptionInsideMergeClick() {\n\t\tlet $ul, type;\n\t\t$ul = mergeSelectedFieldGroups();\n\t\ttype = this.getAttribute( 'layout-type' );\n\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), type );\n\t\tunselectFieldGroups();\n\t}\n\n\tfunction mergeSelectedFieldGroups() {\n\t\tconst $selectedFieldGroups = jQuery( '.frm-selected-field-group' ),\n\t\t\t$firstGroupUl = $selectedFieldGroups.first();\n\t\t$selectedFieldGroups.not( $firstGroupUl ).each(\n\t\t\tfunction() {\n\t\t\t\tgetFieldsInRow( jQuery( this ) ).each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst previousParent = this.parentNode;\n\t\t\t\t\t\tgetFieldsInRow( $firstGroupUl ).last().after( this );\n\t\t\t\t\t\tif ( ! jQuery( previousParent ).children( 'li.form-field' ).length ) {\n\t\t\t\t\t\t\t// clean up the previous field group if we've removed all of its fields.\n\t\t\t\t\t\t\tpreviousParent.closest( 'li.frm_field_box' ).remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tupdateFieldOrder();\n\t\tsyncLayoutClasses( getFieldsInRow( $firstGroupUl ).first() );\n\t\treturn $firstGroupUl;\n\t}\n\n\tfunction customFieldGroupLayoutClick() {\n\t\tlet $fields;\n\t\tif ( null !== this.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\treturn;\n\t\t}\n\t\t$fields = getFieldsInRow( jQuery( '.frm-field-group-hover-target' ) );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction setupCustomLayoutOptions( $fields ) {\n\t\tlet size, popup, wrapper, layoutClass, inputRow, paddingElement, inputValueOverride, index, inputField, heading, label, buttonsWrapper, cancelButton, saveButton;\n\n\t\tsize = $fields.length;\n\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tpopup.innerHTML = '';\n\n\t\twrapper = div();\n\t\twrapper.style.padding = '0 24px';\n\n\t\tlayoutClass = getEvenClassForSize( 5 === size ? 6 : size );\n\n\t\tinputRow = div();\n\t\tinputRow.style.padding = '20px 0';\n\t\tinputRow.classList.add( 'frm_grid_container' );\n\n\t\tif ( 5 === size ) {\n\t\t\t// add a span to pad the inputs by 1 column, to account for the missing 2 columns.\n\t\t\tpaddingElement = document.createElement( 'span' );\n\t\t\tpaddingElement.classList.add( 'frm1' );\n\t\t\tinputRow.appendChild( paddingElement );\n\t\t}\n\n\t\tinputValueOverride = getSelectedFieldCount() > 0 ? getSizeOfLayoutClass( getEvenClassForSize( size ) ) : false;\n\t\tif ( false !== inputValueOverride && inputValueOverride >= 12 ) {\n\t\t\tinputValueOverride = Math.floor( 12 / size );\n\t\t}\n\n\t\tfor ( index = 0; index < size; ++index ) {\n\t\t\tinputField = document.createElement( 'input' );\n\t\t\tinputField.type = 'text';\n\t\t\tinputField.classList.add( layoutClass );\n\t\t\tinputField.classList.add( 'frm-custom-grid-size-input' );\n\t\t\tinputField.value = false !== inputValueOverride ? inputValueOverride : getSizeOfLayoutClass( getLayoutClassName( $fields.get( index ).classList ) );\n\t\t\tinputRow.appendChild( inputField );\n\t\t}\n\n\t\theading = div();\n\t\theading.classList.add( 'frm-builder-popup-heading' );\n\t\theading.textContent = __( 'Enter number of columns for each field', 'formidable' );\n\n\t\tlabel = div();\n\t\tlabel.classList.add( 'frm-builder-popup-subheading' );\n\t\tlabel.textContent = __( 'Layouts are based on a 12-column grid system', 'formidable' );\n\n\t\twrapper.appendChild( heading );\n\t\twrapper.appendChild( label );\n\n\t\twrapper.appendChild( inputRow );\n\n\t\tbuttonsWrapper = div();\n\t\tbuttonsWrapper.style.textAlign = 'right';\n\n\t\tcancelButton = getSecondaryButton();\n\t\tcancelButton.textContent = __( 'Cancel', 'formidable' );\n\t\tcancelButton.classList.add( 'frm-cancel-custom-field-group-layout' );\n\t\tcancelButton.style.marginRight = '10px';\n\n\t\tsaveButton = getPrimaryButton();\n\t\tsaveButton.textContent = __( 'Save', 'formidable' );\n\t\tsaveButton.classList.add( 'frm-save-custom-field-group-layout' );\n\n\t\tbuttonsWrapper.appendChild( cancelButton );\n\t\tbuttonsWrapper.appendChild( saveButton );\n\n\t\twrapper.appendChild( buttonsWrapper );\n\n\t\tpopup.appendChild( wrapper );\n\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tconst firstInput = popup.querySelector( 'input.frm-custom-grid-size-input' ).focus();\n\t\t\t\tif ( firstInput ) {\n\t\t\t\t\tfirstInput.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\tfunction customFieldGroupLayoutInsideMergeClick() {\n\t\t$fields = jQuery( '.frm-selected-field-group li.form-field' );\n\t\tsetupCustomLayoutOptions( $fields );\n\t}\n\n\tfunction getPrimaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-primary', 'frm-button-primary' );\n\t\treturn button;\n\t}\n\n\tfunction getSecondaryButton() {\n\t\tconst button = getButton();\n\t\tbutton.classList.add( 'button-secondary', 'frm-button-secondary' );\n\t\treturn button;\n\t}\n\n\tfunction getButton() {\n\t\tconst button = document.createElement( 'a' );\n\t\tbutton.setAttribute( 'href', '#' );\n\t\tbutton.classList.add( 'button' );\n\t\tbutton.style.textDecoration = 'none';\n\t\treturn button;\n\t}\n\n\tfunction getSizeOfLayoutClass( className ) {\n\t\tswitch ( className ) {\n\t\t\tcase 'frm_half':\n\t\t\t\treturn 6;\n\t\t\tcase 'frm_third':\n\t\t\t\treturn 4;\n\t\t\tcase 'frm_two_thirds':\n\t\t\t\treturn 8;\n\t\t\tcase 'frm_fourth':\n\t\t\t\treturn 3;\n\t\t\tcase 'frm_three_fourths':\n\t\t\t\treturn 9;\n\t\t\tcase 'frm_sixth':\n\t\t\t\treturn 2;\n\t\t}\n\n\t\tif ( 0 === className.indexOf( 'frm' ) ) {\n\t\t\treturn parseInt( className.substr( 3 ) );\n\t\t}\n\n\t\t// Anything missing a layout class should be a full width row.\n\t\treturn 12;\n\t}\n\n\tfunction getLayoutClassName( classList ) {\n\t\tlet classes, index, currentClass;\n\t\tclasses = getLayoutClasses();\n\t\tfor ( index = 0; index < classes.length; ++index ) {\n\t\t\tcurrentClass = classes[ index ];\n\t\t\tif ( classList.contains( currentClass ) ) {\n\t\t\t\treturn currentClass;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction getLayoutClassForSize( size ) {\n\t\treturn 'frm' + size;\n\t}\n\n\tfunction breakFieldGroupClick() {\n\t\tconst row = document.querySelector( '.frm-field-group-hover-target' );\n\t\tbreakRow( row );\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction breakRow( row ) {\n\t\tconst $row = jQuery( row );\n\t\tgetFieldsInRow( $row ).each(\n\t\t\tfunction( index ) {\n\t\t\t\tconst field = this;\n\t\t\t\tif ( 0 !== index ) {\n\t\t\t\t\t$row.parent().after( wrapFieldLi( field ) );\n\t\t\t\t}\n\t\t\t\tstripLayoutFromFields( jQuery( field ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction stripLayoutFromFields( field ) {\n\t\tsyncLayoutClasses( field, 'clear' );\n\t}\n\n\tfunction focusFieldGroupInputOnClick() {\n\t\tthis.select();\n\t}\n\n\tfunction cancelCustomFieldGroupClick() {\n\t\trevertToFieldGroupPopupFirstPage( this );\n\t}\n\n\tfunction revertToFieldGroupPopupFirstPage( triggerElement ) {\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ) ).replaceWith(\n\t\t\tgetFieldGroupPopup( getSizeOfFieldGroupFromChildElement( triggerElement ), triggerElement )\n\t\t);\n\t}\n\n\tfunction destroyFieldGroupPopup() {\n\t\tlet popup, wrapper;\n\t\tpopup = document.getElementById( 'frm_field_group_popup' );\n\t\tif ( popup === null ) {\n\t\t\treturn;\n\t\t}\n\t\twrapper = document.querySelector( '.frm-has-open-field-group-popup' );\n\t\tif ( null !== wrapper ) {\n\t\t\twrapper.classList.remove( 'frm-has-open-field-group-popup' );\n\t\t\tpopup.parentNode.remove();\n\t\t}\n\t\tjQuery( document ).off( 'click', '#frm_builder_page', destroyFieldGroupPopupOnOutsideClick );\n\t}\n\n\tfunction saveCustomFieldGroupClick() {\n\t\tlet syncDetails, $controls, $ul;\n\n\t\tsyncDetails = [];\n\n\t\tjQuery( document.getElementById( 'frm_field_group_popup' ).querySelectorAll( '.frm_grid_container input' ) )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tsyncDetails.push( parseInt( this.value ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\t$controls = jQuery( document.getElementById( 'frm_field_group_controls' ) );\n\n\t\tif ( $controls.length && 'none' !== $controls.get( 0 ).style.display ) {\n\t\t\tsyncLayoutClasses( getFieldsInRow( jQuery( document.querySelector( '.frm-field-group-hover-target' ) ) ).first(), syncDetails );\n\t\t} else {\n\t\t\t$ul = mergeSelectedFieldGroups();\n\t\t\tsyncLayoutClasses( getFieldsInRow( $ul ).first(), syncDetails );\n\t\t\tunselectFieldGroups();\n\t\t}\n\n\t\tdestroyFieldGroupPopup();\n\t}\n\n\tfunction fieldGroupClick( e ) {\n\t\tmaybeShowFieldGroupMessage();\n\n\t\tif ( 'ul' !== e.originalEvent.target.nodeName.toLowerCase() ) {\n\t\t\t// only continue if the group itself was clicked / ignore when a field is clicked.\n\t\t\treturn;\n\t\t}\n\n\t\tconst hoverTarget = document.querySelector( '.frm-field-group-hover-target' );\n\t\tif ( ! hoverTarget ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctrlOrCmdKeyIsDown = e.ctrlKey || e.metaKey;\n\t\tconst shiftKeyIsDown = e.shiftKey;\n\t\tconst groupIsActive = hoverTarget.classList.contains( 'frm-selected-field-group' );\n\t\tconst $selectedFieldGroups = getSelectedFieldGroups();\n\n\t\tlet numberOfSelectedGroups = $selectedFieldGroups.length;\n\n\t\tif ( ctrlOrCmdKeyIsDown || shiftKeyIsDown ) {\n\t\t\t// multi-selecting\n\n\t\t\tconst selectedField = getSelectedField();\n\t\t\tif ( null !== selectedField && ! jQuery( selectedField ).siblings( 'li.form-field' ).length ) {\n\t\t\t\t// count a selected field on its own as a selected field group when multiselecting.\n\t\t\t\tselectedField.parentNode.classList.add( 'frm-selected-field-group' );\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t}\n\n\t\t\tif ( ctrlOrCmdKeyIsDown ) {\n\t\t\t\tif ( groupIsActive ) {\n\t\t\t\t\t// unselect if holding ctrl or cmd and the group was already active.\n\t\t\t\t\t--numberOfSelectedGroups;\n\t\t\t\t\thoverTarget.classList.remove( 'frm-selected-field-group' );\n\t\t\t\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\t\t\t\t\treturn; // exit early to avoid adding back frm-selected-field-group\n\t\t\t\t}\n\n\t\t\t\t++numberOfSelectedGroups;\n\t\t\t} else if ( shiftKeyIsDown && ! groupIsActive ) {\n\t\t\t\t++numberOfSelectedGroups; // include the one we're selecting right now.\n\t\t\t\tconst $firstGroup = $selectedFieldGroups.first();\n\n\t\t\t\tlet $range;\n\t\t\t\tif ( $firstGroup.parent().index() < jQuery( hoverTarget.parentNode ).index() ) {\n\t\t\t\t\t$range = $firstGroup.parent().nextUntil( hoverTarget.parentNode );\n\t\t\t\t} else {\n\t\t\t\t\t$range = $firstGroup.parent().prevUntil( hoverTarget.parentNode );\n\t\t\t\t}\n\n\t\t\t\t$range.each(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tconst $fieldGroup = jQuery( this ).closest( 'li' ).find( 'ul.frm_sorting' );\n\t\t\t\t\t\tif ( ! $fieldGroup.hasClass( 'frm-selected-field-group' ) ) {\n\t\t\t\t\t\t\t++numberOfSelectedGroups;\n\t\t\t\t\t\t\t$fieldGroup.addClass( 'frm-selected-field-group' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// not multi-selecting\n\t\t\tunselectFieldGroups();\n\t\t\tnumberOfSelectedGroups = 1;\n\t\t}\n\n\t\thoverTarget.classList.add( 'frm-selected-field-group' );\n\t\tsyncAfterMultiSelect( numberOfSelectedGroups );\n\n\t\tmaybeHideFieldGroupMessage();\n\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tjQuery( document ).on( 'click', unselectFieldGroups );\n\t}\n\n\t/**\n\t * Hide the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction hideFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.add( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.remove( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Show the field group message by manipulating classes.\n\t *\n\t * @param {Element} fieldGroupMessage The field group message element.\n\t * @return {void}\n\t */\n\tfunction showFieldGroupMessage( fieldGroupMessage ) {\n\t\tif ( ! fieldGroupMessage ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage.classList.remove( 'frm_hidden' );\n\t\tfieldGroupMessage.classList.add( 'frm-fadein-up-back' );\n\t}\n\n\t/**\n\t * Maybe show a message if there are at least two rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeShowFieldGroupMessage() {\n\t\tlet fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\tconst rows = document.querySelectorAll( '.edit_form_item:not(.edit_field_type_end_divider)' );\n\n\t\tif ( rows.length < 2 ) {\n\t\t\thideFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fieldGroupMessage ) {\n\t\t\tshowFieldGroupMessage( fieldGroupMessage );\n\t\t\treturn;\n\t\t}\n\n\t\tfieldGroupMessage = div( {\n\t\t\tid: 'frm-field-group-message',\n\t\t\tclassName: 'frm-flex-center frm-fadein-up-back',\n\t\t\tchildren: [\n\t\t\t\tspan( {\n\t\t\t\t\tid: 'frm-field-group-message-dismiss',\n\t\t\t\t\tclassName: 'frm-flex-center',\n\t\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\n\t\t// Insert the field group into the DOM\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( fieldGroupMessage );\n\n\t\t// Get and add the field group message text\n\t\tconst messageText = getFieldGroupMessageText();\n\t\tfieldGroupMessage.prepend( messageText );\n\n\t\t// Set up a click event listener\n\t\tdocument.getElementById( 'frm-field-group-message-dismiss' ).addEventListener( 'click', () => {\n\t\t\thideFieldGroupMessage( document.getElementById( 'frm-field-group-message' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Get a span element with text about selecting multiple fields.\n\t *\n\t * @return {HTMLElement} A span element with the message and style classes.\n\t */\n\tfunction getFieldGroupMessageText() {\n\t\tconst text = document.createElement( 'span' );\n\t\ttext.classList.add( 'frm-field-group-message-text', 'frm-flex-center' );\n\t\ttext.innerHTML = sprintf(\n\t\t\t/* translators: %1$s: Start span HTML, %2$s: end span HTML */\n\t\t\tfrm_admin_js.holdShiftMsg, // eslint-disable-line camelcase\n\t\t\t'',\n\t\t\t''\n\t\t);\n\n\t\treturn text;\n\t}\n\n\t/**\n\t * Maybe hide the field group message based on the number of selected rows.\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeHideFieldGroupMessage() {\n\t\tconst selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length;\n\t\tif ( selectedRowCount < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldGroupMessage = document.getElementById( 'frm-field-group-message' );\n\t\thideFieldGroupMessage( fieldGroupMessage );\n\t}\n\n\tfunction getSelectedField() {\n\t\treturn document.getElementById( 'frm-show-fields' ).querySelector( 'li.form-field.selected' );\n\t}\n\n\tfunction getSelectedFieldGroups() {\n\t\tconst $fieldGroups = jQuery( '.frm-selected-field-group' );\n\t\tif ( $fieldGroups.length ) {\n\t\t\treturn $fieldGroups;\n\t\t}\n\n\t\tconst selectedField = getSelectedField();\n\t\tif ( selectedField ) {\n\t\t\t// If there is only one field in a group and the field is selected, consider the field's group as selected for multi-select.\n\t\t\tconst selectedFieldGroup = selectedField.closest( 'ul' );\n\t\t\tif ( selectedFieldGroup && 1 === getFieldsInRow( jQuery( selectedFieldGroup ) ).length ) {\n\t\t\t\tselectedFieldGroup.classList.add( 'frm-selected-field-group' );\n\t\t\t\treturn jQuery( selectedFieldGroup );\n\t\t\t}\n\t\t}\n\n\t\treturn jQuery();\n\t}\n\n\tfunction syncAfterMultiSelect( numberOfSelectedGroups ) {\n\t\tclearSettingsBox( true ); // unselect any fields if one is selected.\n\t\tif ( numberOfSelectedGroups >= 2 || ( 1 === numberOfSelectedGroups && selectedGroupHasMultipleFields() ) ) {\n\t\t\taddFieldMultiselectPopup();\n\t\t} else {\n\t\t\tmaybeRemoveMultiselectPopup();\n\t\t}\n\t\tmaybeRemoveGroupHoverTarget();\n\t}\n\n\tfunction selectedGroupHasMultipleFields() {\n\t\treturn getFieldsInRow( jQuery( document.querySelector( '.frm-selected-field-group' ) ) ).length > 1;\n\t}\n\n\tfunction unselectFieldGroups( event ) {\n\t\tif ( 'undefined' !== typeof event ) {\n\t\t\tif ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( null !== event.originalEvent.target.closest( '.frm-merge-fields-into-row' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( event.originalEvent.target.classList.contains( 'frm-cancel-custom-field-group-layout' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tjQuery( '.frm-selected-field-group' ).removeClass( 'frm-selected-field-group' );\n\t\tjQuery( document ).off( 'click', unselectFieldGroups );\n\t\tmaybeRemoveMultiselectPopup();\n\t}\n\n\tfunction maybeRemoveMultiselectPopup() {\n\t\tconst popup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== popup ) {\n\t\t\tpopup.remove();\n\t\t}\n\t}\n\n\tfunction addFieldMultiselectPopup() {\n\t\tgetFieldMultiselectPopup();\n\t}\n\n\tfunction getFieldMultiselectPopup() {\n\t\tlet popup, mergeOption, caret, verticalSeparator, deleteOption;\n\n\t\tpopup = document.getElementById( 'frm_field_multiselect_popup' );\n\n\t\tif ( null !== popup ) {\n\t\t\tpopup.classList.toggle( 'frm-unmergable', ! selectedFieldsAreMergeable() );\n\t\t\treturn popup;\n\t\t}\n\n\t\tpopup = div();\n\t\tpopup.id = 'frm_field_multiselect_popup';\n\t\tif ( ! selectedFieldsAreMergeable() ) {\n\t\t\tpopup.classList.add( 'frm-unmergable' );\n\t\t}\n\n\t\tmergeOption = div();\n\t\tmergeOption.classList.add( 'frm-merge-fields-into-row' );\n\t\tmergeOption.textContent = __( 'Merge into row', 'formidable' );\n\n\t\tcaret = document.createElement( 'a' );\n\t\tcaret.style.marginLeft = '5px';\n\t\tcaret.classList.add( 'frm_icon_font', 'frm_arrowdown6_icon' );\n\t\tcaret.setAttribute( 'href', '#' );\n\t\tmergeOption.appendChild( caret );\n\n\t\tpopup.appendChild( mergeOption );\n\n\t\tverticalSeparator = div();\n\t\tverticalSeparator.classList.add( 'frm-multiselect-popup-separator' );\n\t\tpopup.appendChild( verticalSeparator );\n\n\t\tdeleteOption = div();\n\t\tdeleteOption.classList.add( 'frm-delete-field-groups' );\n\t\tdeleteOption.appendChild( getIconClone( 'frm_trash_svg' ) );\n\t\tpopup.appendChild( deleteOption );\n\n\t\tdocument.getElementById( 'post-body-content' ).appendChild( popup );\n\n\t\tjQuery( popup ).hide().fadeIn();\n\n\t\treturn popup;\n\t}\n\n\tfunction selectedFieldsAreMergeable() {\n\t\tlet selectedFieldGroups, totalFieldCount, length, index, fieldGroup;\n\t\tselectedFieldGroups = document.querySelectorAll( '.frm-selected-field-group' );\n\t\tlength = selectedFieldGroups.length;\n\t\tif ( 1 === length ) {\n\t\t\treturn false;\n\t\t}\n\t\ttotalFieldCount = 0;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tfieldGroup = selectedFieldGroups[ index ];\n\t\t\tif ( null !== fieldGroup.querySelector( '.edit_field_type_break, .edit_field_type_hidden' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttotalFieldCount += getFieldsInRow( jQuery( fieldGroup ) ).length;\n\t\t\tif ( totalFieldCount > MAX_FIELD_GROUP_SIZE ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction mergeFieldsIntoRowClick( event ) {\n\t\tlet size, popup;\n\n\t\tif ( null !== event.originalEvent.target.closest( '#frm_field_group_popup' ) ) {\n\t\t\t// prevent clicks within the popup from triggering the button again.\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.originalEvent.target.classList.contains( 'frm-custom-field-group-layout' ) ) {\n\t\t\t// avoid switching back to the first page when clicking the custom option nested inside of the merge option.\n\t\t\treturn;\n\t\t}\n\n\t\tsize = getSelectedFieldCount();\n\t\tpopup = getFieldGroupPopup( size, document.querySelector( '.frm-selected-field-group' ).firstChild );\n\t\tthis.appendChild( popup );\n\t}\n\n\tfunction getSelectedFieldCount() {\n\t\tlet count = 0;\n\t\tjQuery( document.querySelectorAll( '.frm-selected-field-group' ) ).each(\n\t\t\tfunction() {\n\t\t\t\tcount += getFieldsInRow( jQuery( this ) ).length;\n\t\t\t}\n\t\t);\n\t\treturn count;\n\t}\n\n\tfunction deleteFieldGroupsClick() {\n\t\tlet fieldIdsToDelete, deleteOnConfirm, multiselectPopup;\n\n\t\tfieldIdsToDelete = getSelectedFieldIds();\n\t\tdeleteOnConfirm = getDeleteSelectedFieldGroupsOnConfirmFunction( fieldIdsToDelete );\n\n\t\tmultiselectPopup = document.getElementById( 'frm_field_multiselect_popup' );\n\t\tif ( null !== multiselectPopup ) {\n\t\t\tmultiselectPopup.remove();\n\t\t}\n\n\t\tthis.setAttribute( 'data-frmverify', confirmFieldsDeleteMessage( fieldIdsToDelete.length ) );\n\t\tconfirmLinkClick( this );\n\n\t\tconst confirmedClick = document.getElementById( 'frm-confirmed-click' );\n\n\t\t// Remove any previous delete field data so delete confirmation does not attempt\n\t\t// to delete a field that was already deleted or previously attempted and cancelled.\n\t\tconfirmedClick?.removeAttribute( 'data-deletefield' );\n\n\t\tjQuery( confirmedClick ).on( 'click', deleteOnConfirm );\n\t\tjQuery( '#frm_confirm_modal' ).one( 'dialogclose', function() {\n\t\t\tjQuery( confirmedClick ).off( 'click', deleteOnConfirm );\n\t\t} );\n\t}\n\n\tfunction getSelectedFieldIds() {\n\t\tconst deleteFieldIds = [];\n\t\tjQuery( '.frm-selected-field-group > li.form-field' )\n\t\t\t.each(\n\t\t\t\tfunction() {\n\t\t\t\t\tdeleteFieldIds.push( this.dataset.fid );\n\t\t\t\t}\n\t\t\t);\n\t\treturn deleteFieldIds;\n\t}\n\n\tfunction getDeleteSelectedFieldGroupsOnConfirmFunction( deleteFieldIds ) {\n\t\treturn function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tdeleteAllSelectedFieldGroups( deleteFieldIds );\n\t\t};\n\t}\n\n\tfunction deleteAllSelectedFieldGroups( deleteFieldIds ) {\n\t\tdeleteFieldIds.forEach(\n\t\t\tfunction( fieldId ) {\n\t\t\t\tdeleteFields( fieldId );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction deleteFieldConfirmed() {\n\t\t/*jshint validthis:true */\n\t\tdeleteFields( this.getAttribute( 'data-deletefield' ) );\n\t}\n\n\tfunction deleteFields( fieldId ) {\n\t\tconst field = jQuery( '#frm_field_id_' + fieldId );\n\n\t\tdeleteField( fieldId );\n\n\t\tif ( field.hasClass( 'edit_field_type_divider' ) ) {\n\t\t\tfield.find( 'li.frm_field_box[data-fid]' ).each( function() {\n\t\t\t\tdeleteField( this.getAttribute( 'data-fid' ) );\n\t\t\t} );\n\t\t}\n\n\t\ttoggleSectionHolder();\n\t}\n\n\t/**\n\t * Checks if there is only submit field in the form builder.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction hasOnlySubmitField() {\n\t\t// If there are at least 2 rows, return false.\n\t\tif ( $newFields.get( 0 ).childElementCount > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst childUl = $newFields.get( 0 ).firstElementChild.firstElementChild;\n\n\t\t// Use query instead of children because there might be a div inside this ul.\n\t\tconst childLi = childUl.querySelectorAll( 'li.frm_field_box' );\n\n\t\t// If there are at least 2 items in the row, return false.\n\t\tif ( childLi.length > 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn childLi[ 0 ].classList.contains( 'edit_field_type_submit' );\n\t}\n\n\t/**\n\t * Moves open modals out of the field options form.\n\t *\n\t * When a modal is open, it is moved in the DOM and appended to the parent element of the modal trigger input. That\n\t * creates a problem since deleting the field also deletes the modal and this function fixes that problem.\n\t *\n\t * @since 6.22\n\t *\n\t * @param {Object} settings\n\t * @return {void}\n\t */\n\tfunction moveOpenModalsOutOfFieldOptions( settings ) {\n\t\tconst openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' );\n\t\tif ( ! openModals.length ) {\n\t\t\treturn;\n\t\t}\n\t\topenModals.forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.removeAttribute( 'data-fills' );\n\t\t\tmodal.closest( 'form' ).appendChild( modal );\n\t\t} );\n\t}\n\n\tfunction deleteField( fieldId ) {\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_delete_field',\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function() {\n\t\t\t\tconst $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ),\n\t\t\t\t\tsettings = jQuery( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t// Remove settings from sidebar.\n\t\t\t\tif ( settings.is( ':visible' ) ) {\n\t\t\t\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t\t\t\t\tdocument.querySelector( '#frm-options-panel .frm-single-settings' ).classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\n\t\t\t\tmoveOpenModalsOutOfFieldOptions( settings );\n\t\t\t\tsettings.remove();\n\n\t\t\t\t$thisField.fadeOut( 'slow', function() {\n\t\t\t\t\tlet $section = $thisField.closest( '.start_divider' ),\n\t\t\t\t\t\ttype = $thisField.data( 'type' ),\n\t\t\t\t\t\t$adjacentFields = $thisField.siblings( 'li.form-field' ),\n\t\t\t\t\t\t$liWrapper;\n\n\t\t\t\t\tif ( ! $adjacentFields.length ) {\n\t\t\t\t\t\tif ( $thisField.is( '.edit_field_type_end_divider' ) ) {\n\t\t\t\t\t\t\t$adjacentFields.length = $thisField.closest( 'li.form-field' ).siblings();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$liWrapper = $thisField.closest( 'ul.frm_sorting' ).parent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$thisField.remove();\n\t\t\t\t\tif ( type === 'break' ) {\n\t\t\t\t\t\trenumberPageBreaks();\n\t\t\t\t\t} else if ( type === 'product' ) {\n\t\t\t\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\t\t\t\t// a product field attached to a quantity field earlier might be the one deleted, so re-populate\n\t\t\t\t\t\tpopAllProductFields();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $adjacentFields.length ) {\n\t\t\t\t\t\tsyncLayoutClasses( $adjacentFields.first() );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$liWrapper.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jQuery( '#frm-show-fields li' ).length === 0 || hasOnlySubmitField() ) {\n\t\t\t\t\t\tconst formEditorContainer = document.getElementById( 'frm_form_editor_container' );\n\t\t\t\t\t\tformEditorContainer.classList.remove( 'frm-has-fields' );\n\t\t\t\t\t\tformEditorContainer.classList.add( 'frm-empty-fields' );\n\t\t\t\t\t} else if ( $section.length ) {\n\t\t\t\t\t\ttoggleOneSectionHolder( $section );\n\t\t\t\t\t}\n\n\t\t\t\t\t// prevent \"More Options\" tooltips from staying around after their target field is deleted.\n\t\t\t\t\tdeleteTooltips();\n\t\t\t\t} );\n\n\t\t\t\tif ( $thisField.length ) {\n\t\t\t\t\twp.hooks.doAction( 'frm_after_delete_field', $thisField[ 0 ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction addFieldLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlogicRows = document.getElementById( 'frm_logic_row_' + id ).querySelectorAll( '.frm_logic_row' );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_logic_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tmeta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ),\n\t\t\t\tfields: getFieldList()\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() {\n\t\t\t\t\tconst logicRow = document.getElementById( 'frm_logic_row_' + id );\n\t\t\t\t\tlogicRow.insertAdjacentHTML( 'beforeend', html );\n\n\t\t\t\t\tconst logicRowText = logicRow.querySelector( '.frm_logic_row:last-child .frm-logic-rule-text' );\n\t\t\t\t\tif ( logicRowText ) {\n\t\t\t\t\t\tlogicRowText.textContent = logicRow.dataset.ruleText;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst logicRows = logicRow.closest( '.frm_logic_rows' );\n\t\t\t\t\tlogicRows.style.height = 'auto';\n\t\t\t\t\tjQuery( logicRows ).fadeIn( 'fast' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction getNewRowId( rows, replace, defaultValue ) {\n\t\tif ( ! rows.length ) {\n\t\t\treturn 'undefined' !== typeof defaultValue ? defaultValue : 0;\n\t\t}\n\t\treturn parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1;\n\t}\n\n\tfunction addWatchLookupRow() {\n\t\t/*jshint validthis:true */\n\t\tlet lastRowId,\n\t\t\tid = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),\n\t\t\tformId = thisFormId,\n\t\t\tlookupBlockRows = document.getElementById( 'frm_watch_lookup_block_' + id ).children;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_watch_lookup_row',\n\t\t\t\tform_id: formId,\n\t\t\t\tfield_id: id,\n\t\t\t\trow_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ),\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( newRow ) {\n\t\t\t\tconst watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) );\n\t\t\t\twatchRowBlock.append( newRow );\n\t\t\t\twatchRowBlock.fadeIn( 'slow' );\n\n\t\t\t\t// Show the \"Watch Lookup Fields\" label if it was hidden\n\t\t\t\tdocument.getElementById( `frm_watch_lookup_label_${ id }` )?.classList.remove( 'frm-force-hidden' );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction resetOptionTextDetails() {\n\t\tjQuery( '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]' ).filter( '[data-value-on-load]' ).removeAttr( 'data-value-on-load' );\n\t\tjQuery( 'input[type=\"hidden\"][name^=optionmap]' ).remove();\n\t}\n\n\tfunction optionTextAlreadyExists( input ) {\n\t\tlet fieldId = jQuery( input ).closest( '.frm-single-settings' ).attr( 'data-fid' ),\n\t\t\toptionInputs = jQuery( input ).closest( 'ul' ).get( 0 ).querySelectorAll( '.field_' + fieldId + '_option' ),\n\t\t\tindex,\n\t\t\toptionInput;\n\n\t\tfor ( index in optionInputs ) {\n\t\t\toptionInput = optionInputs[ index ];\n\t\t\tif ( optionInput.id !== input.id && optionInput.value === input.value && optionInput.getAttribute( 'data-duplicate' ) !== 'true' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onOptionTextFocus() {\n\t\tlet input,\n\t\t\tfieldId;\n\n\t\tif ( this.getAttribute( 'data-value-on-load' ) === null ) {\n\t\t\tthis.setAttribute( 'data-value-on-load', this.value );\n\n\t\t\tfieldId = jQuery( this ).closest( '.frm-single-settings' ).attr( 'data-fid' );\n\t\t\tinput = document.createElement( 'input' );\n\t\t\tinput.value = this.value;\n\t\t\tinput.setAttribute( 'type', 'hidden' );\n\t\t\tinput.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' );\n\t\t\tthis.parentNode.appendChild( input );\n\n\t\t\tif ( typeof optionMap[ fieldId ] === 'undefined' ) {\n\t\t\t\toptionMap[ fieldId ] = {};\n\t\t\t}\n\n\t\t\toptionMap[ fieldId ][ this.value ] = input;\n\t\t}\n\n\t\tif ( this.getAttribute( 'data-duplicate' ) === 'true' ) {\n\t\t\tthis.removeAttribute( 'data-duplicate' );\n\n\t\t\t// we want to use original value if actually still a duplicate\n\t\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\t\tthis.setAttribute( 'data-value-on-focus', this.getAttribute( 'data-value-on-load' ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( '' !== this.value || frmAdminJs.new_option !== this.getAttribute( 'data-value-on-focus' ) ) {\n\t\t\tthis.setAttribute( 'data-value-on-focus', this.value );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an object that has the old and new values and labels, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} input\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldAndNewValues( input ) {\n\t\tconst { oldValue, oldLabel } = getChoiceOldValueAndLabel( input );\n\t\tconst { newValue, newLabel } = getChoiceNewValueAndLabel( input );\n\n\t\treturn { oldValue, oldLabel, newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the new value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceNewValueAndLabel( choiceElement ) {\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet newValue, newLabel;\n\n\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\tnewValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).value;\n\t\t\tnewLabel = choiceElement.value;\n\t\t\treturn { newValue, newLabel };\n\t\t}\n\n\t\t// saved value changed\n\t\tnewLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).value;\n\t\tnewValue = choiceElement.value;\n\t\treturn { newValue, newLabel };\n\t}\n\n\t/**\n\t * Returns an object that has the old value and label, when a field choice is changed.\n\t *\n\t * @param {HTMLElement} choiceElement\n\t * @return {Object}\n\t */\n\tfunction getChoiceOldValueAndLabel( choiceElement ) {\n\t\tconst usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false;\n\t\tconst singleOptionContainer = choiceElement.closest( '.frm_single_option' );\n\n\t\tlet oldValue, oldLabel;\n\n\t\tif ( usingSeparateValues ) {\n\t\t\tif ( choiceElement.parentElement.classList.contains( 'frm_single_option' ) ) { // label changed\n\t\t\t\toldValue = singleOptionContainer.querySelector( '.frm_option_key input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\t\t\t\toldLabel = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\t\t\treturn { oldValue, oldLabel };\n\t\t\t}\n\t\t}\n\t\toldValue = choiceElement.getAttribute( 'data-value-on-focus' );\n\t\toldLabel = singleOptionContainer.querySelector( 'input[type=\"text\"]' ).getAttribute( 'data-value-on-focus' );\n\n\t\treturn { oldValue, oldLabel };\n\t}\n\n\tfunction onOptionTextBlur() {\n\t\tlet originalValue,\n\t\t\tfieldId,\n\t\t\tfieldIndex,\n\t\t\tlogicId,\n\t\t\trow,\n\t\t\trowLength,\n\t\t\trowIndex,\n\t\t\tvalueSelect,\n\t\t\topts,\n\t\t\tfieldIds,\n\t\t\tsettingId,\n\t\t\tsetting,\n\t\t\toptionMatches,\n\t\t\toption;\n\n\t\tconst { oldValue, oldLabel, newValue, newLabel } = getChoiceOldAndNewValues( this );\n\n\t\tif ( oldValue === newValue && oldLabel === newLabel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst singleSettingsContainer = this.closest( '.frm-single-settings' );\n\n\t\tfieldId = singleSettingsContainer.getAttribute( 'data-fid' );\n\t\toriginalValue = this.getAttribute( 'data-value-on-load' );\n\n\t\t// check if the newValue is already mapped to another option\n\t\t// if it is, mark as duplicate and return\n\t\tif ( optionTextAlreadyExists( this ) ) {\n\t\t\tthis.setAttribute( 'data-duplicate', 'true' );\n\n\t\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\t\t// unmap any other change that may have happened before instead of changing it to something unused\n\t\t\t\toptionMap[ fieldId ][ originalValue ].value = originalValue;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) {\n\t\t\toptionMap[ fieldId ][ originalValue ].value = newValue;\n\t\t}\n\n\t\tfieldIds = [];\n\t\trows = builderPage.querySelectorAll( '.frm_logic_row' );\n\t\trowLength = rows.length;\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value !== fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tif ( '' === oldValue ) {\n\t\t\t\toptionMatches = [];\n\t\t\t} else {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t}\n\n\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\toptionMatches = valueSelect.querySelectorAll( 'option[value=\"' + newValue + '\"]' );\n\n\t\t\t\tif ( ! optionMatches.length ) {\n\t\t\t\t\tif ( ! singleSettingsContainer.querySelector( '.frm_toggle_sep_values' )?.checked ) {\n\t\t\t\t\t\toption = searchSelectByText( valueSelect, oldValue ); // Find conditional logic option with oldValue\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! option ) {\n\t\t\t\t\t\toption = document.createElement( 'option' );\n\t\t\t\t\t\tvalueSelect.appendChild( option );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( optionMatches.length ) {\n\t\t\t\toption = optionMatches[ optionMatches.length - 1 ];\n\t\t\t}\n\n\t\t\toption.setAttribute( 'value', newValue );\n\t\t\toption.textContent = newLabel;\n\n\t\t\tif ( fieldIds.indexOf( logicId ) === -1 ) {\n\t\t\t\tfieldIds.push( logicId );\n\t\t\t}\n\t\t}\n\n\t\tfor ( fieldIndex in fieldIds ) {\n\t\t\tsettingId = fieldIds[ fieldIndex ];\n\t\t\tsetting = document.getElementById( 'frm-single-settings-' + settingId );\n\t\t\tmoveFieldSettings( setting );\n\t\t}\n\t}\n\n\t/**\n\t * Returns an option element that matches a string with its text content.\n\t *\n\t * @param {HTMLElement} selectElement\n\t * @param {string} searchText\n\t * @return {HTMLElement|null}\n\t */\n\tfunction searchSelectByText( selectElement, searchText ) {\n\t\tconst options = selectElement.options;\n\n\t\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t\tconst option = options[ i ];\n\t\t\tif ( searchText === option.textContent ) {\n\t\t\t\treturn option;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction updateGetValueFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst fieldID = this.id.replace( 'get_values_form_', '' );\n\t\tconst fieldSelect = document.getElementById( 'get_values_field_' + fieldID );\n\t\tconst fieldType = this.getAttribute( 'data-fieldtype' );\n\n\t\tif ( this.value === '' ) {\n\t\t\tfieldSelect.options.length = 1;\n\t\t} else {\n\t\t\tconst formID = this.value;\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_options_for_get_values_field',\n\t\t\t\t\tform_id: formID,\n\t\t\t\t\tfield_type: fieldType,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( fields ) {\n\t\t\t\t\tfieldSelect.innerHTML = fields;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Clear the Watch Fields option when Lookup field switches to \"Text\" option\n\tfunction maybeClearWatchFields() {\n\t\t/*jshint validthis:true */\n\t\tlet link, lookupBlock,\n\t\t\tfieldID = this.name.replace( 'field_options[data_type_', '' ).replace( ']', '' );\n\n\t\tlink = document.getElementById( 'frm_add_watch_lookup_link_' + fieldID );\n\t\tif ( ! link ) {\n\t\t\treturn;\n\t\t}\n\t\tlink = link.parentNode;\n\n\t\tif ( this.value === 'text' ) {\n\t\t\tlookupBlock = document.getElementById( 'frm_watch_lookup_block_' + fieldID );\n\t\t\tif ( lookupBlock !== null ) {\n\t\t\t\t// Clear and hide the Watch Fields option\n\t\t\t\tlookupBlock.innerHTML = '';\n\t\t\t\tlink.classList.add( 'frm_hidden' );\n\n\t\t\t\t// Hide the Watch Fields row\n\t\t\t\tlink.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t\tlink.previousElementSibling.previousElementSibling.previousElementSibling.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the Watch Fields option\n\t\t\tlink.classList.remove( 'frm_hidden' );\n\t\t}\n\n\t\ttoggleMultiSelect( fieldID, this.value );\n\t}\n\n\t// Number the pages and hide/show the first page as needed.\n\tfunction renumberPageBreaks() {\n\t\tlet i, containerClass,\n\t\t\tpages = document.getElementsByClassName( 'frm-page-num' );\n\n\t\tif ( pages.length > 1 ) {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'block';\n\t\t\tfor ( i = 0; i < pages.length; i++ ) {\n\t\t\t\tcontainerClass = pages[ i ].parentNode.parentNode.parentNode.classList;\n\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t// Hide previous button on page 1\n\t\t\t\t\tcontainerClass.add( 'frm-first-page' );\n\t\t\t\t} else {\n\t\t\t\t\tcontainerClass.remove( 'frm-first-page' );\n\t\t\t\t}\n\t\t\t\tpages[ i ].textContent = ( i + 1 );\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.getElementById( 'frm-fake-page' ).style.display = 'none';\n\t\t}\n\n\t\twp.hooks.doAction( 'frm_renumber_page_breaks', pages );\n\t}\n\n\t// The fake field works differently than real fields.\n\tfunction maybeCollapsePage() {\n\t\t/*jshint validthis:true */\n\t\tconst field = jQuery( this ).closest( '.frm_field_box[data-ftype=break]' );\n\t\tif ( field.length ) {\n\t\t\ttoggleCollapsePage( field );\n\t\t} else {\n\t\t\ttoggleCollapseFakePage();\n\t\t}\n\t}\n\n\t// Find all fields in a page and hide/show them\n\tfunction toggleCollapsePage( field ) {\n\t\tconst toCollapse = getAllFieldsForPage( field.get( 0 ).parentNode.closest( 'li.frm_field_box' ).nextElementSibling );\n\t\ttogglePage( field, toCollapse );\n\t}\n\n\tfunction toggleCollapseFakePage() {\n\t\tconst topLevel = document.getElementById( 'frm-fake-page' ),\n\t\t\tfirstField = document.getElementById( 'frm-show-fields' ).firstElementChild,\n\t\t\ttoCollapse = getAllFieldsForPage( firstField );\n\n\t\tif ( firstField.getAttribute( 'data-ftype' ) === 'break' ) {\n\t\t\t// Don't collapse if the first field is a page break.\n\t\t\treturn;\n\t\t}\n\n\t\ttogglePage( jQuery( topLevel ), toCollapse );\n\t}\n\n\tfunction getAllFieldsForPage( firstWrapper ) {\n\t\tlet $fieldsForPage, currentWrapper;\n\n\t\t$fieldsForPage = jQuery();\n\n\t\tif ( null === firstWrapper ) {\n\t\t\treturn $fieldsForPage;\n\t\t}\n\n\t\tcurrentWrapper = firstWrapper;\n\n\t\tdo {\n\t\t\tif ( null !== currentWrapper.querySelector( '.edit_field_type_break' ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$fieldsForPage = $fieldsForPage.add( jQuery( currentWrapper ) );\n\t\t\tcurrentWrapper = currentWrapper.nextElementSibling;\n\t\t} while ( null !== currentWrapper );\n\n\t\treturn $fieldsForPage;\n\t}\n\n\tfunction togglePage( field, toCollapse ) {\n\t\tlet i,\n\t\t\tfieldCount = toCollapse.length,\n\t\t\tslide = Math.min( fieldCount, 3 );\n\n\t\tif ( field.hasClass( 'frm-page-collapsed' ) ) {\n\t\t\tfield.removeClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.removeClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150, function() {\n\t\t\t\t\t\ttoCollapse.show();\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideDown( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfield.addClass( 'frm-page-collapsed' );\n\t\t\ttoCollapse.addClass( 'frm-is-collapsed' );\n\t\t\tfor ( i = 0; i < slide; i++ ) {\n\t\t\t\tif ( i === slide - 1 ) {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150, function() {\n\t\t\t\t\t\ttoCollapse.css( 'cssText', 'display:none !important;' );\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( toCollapse[ i ] ).slideUp( 150 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction maybeCollapseSection() {\n\t\t/*jshint validthis:true */\n\t\tconst parentCont = this.parentNode.parentNode.parentNode.parentNode;\n\n\t\tparentCont.classList.toggle( 'frm-section-collapsed' );\n\t}\n\n\tfunction maybeCollapseSettings() {\n\t\t/*jshint validthis:true */\n\t\tthis.classList.toggle( 'frm-collapsed' );\n\n\t\t// Toggles the \"aria-expanded\" attribute\n\t\tconst expanded = this.getAttribute( 'aria-expanded' ) === 'true' || false;\n\t\tthis.setAttribute( 'aria-expanded', ! expanded );\n\n\t\taddSlideAnimationCssVars( this.nextElementSibling );\n\t}\n\n\t/**\n\t * Add slide animation CSS variables to the element\n\t *\n\t * @param {HTMLElement} element The element to add CSS variables to\n\t * @return {void}\n\t */\n\tfunction addSlideAnimationCssVars( element ) {\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet height = element.scrollHeight;\n\t\tif ( height <= 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\theight += 250;\n\t\telement.style.setProperty( '--slide-height', `${ height }px` );\n\t\telement.style.setProperty( '--slide-time', `${ Math.ceil( height * 0.8 ) }ms` );\n\t}\n\n\tfunction clickLabel() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tlet setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ],\n\t\t\tfieldId = this.id.replace( 'field_label_', '' ),\n\t\t\tfieldType = document.getElementById( 'field_options_type_' + fieldId ),\n\t\t\tfieldTypeName = fieldType.value;\n\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tif ( fieldType.tagName === 'SELECT' ) {\n\t\t\t\tfieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase();\n\t\t\t} else {\n\t\t\t\tfieldTypeName = fieldTypeName.replace( '_', ' ' );\n\t\t\t}\n\n\t\t\tfieldTypeName = normalizeFieldName( fieldTypeName );\n\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( setting.value.toLowerCase() === fieldTypeName ) {\n\t\t\t\t\tsetting.select();\n\t\t\t\t} else {\n\t\t\t\t\tsetting.focus();\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction clickDescription() {\n\t\t/*jshint validthis:true */\n\t\tconst setting = document.querySelectorAll( '[data-changeme=\"' + this.id + '\"]' )[ 0 ];\n\t\tif ( typeof setting !== 'undefined' ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tsetting.focus();\n\t\t\t\tautoExpandSettings( setting );\n\t\t\t}, 50 );\n\t\t}\n\t}\n\n\tfunction autoExpandSettings( setting ) {\n\t\tconst inSection = setting.closest( '.frm-collapse-me' );\n\t\tif ( inSection !== null ) {\n\t\t\tinSection.previousElementSibling.classList.remove( 'frm-collapsed' );\n\t\t}\n\t}\n\n\tfunction normalizeFieldName( fieldTypeName ) {\n\t\tif ( fieldTypeName === 'divider' ) {\n\t\t\tfieldTypeName = 'section';\n\t\t} else if ( fieldTypeName === 'range' ) {\n\t\t\tfieldTypeName = 'slider';\n\t\t} else if ( fieldTypeName === 'data' ) {\n\t\t\tfieldTypeName = 'dynamic';\n\t\t} else if ( fieldTypeName === 'form' ) {\n\t\t\tfieldTypeName = 'embed form';\n\t\t}\n\t\treturn fieldTypeName;\n\t}\n\n\tfunction clickVis( e ) {\n\t\t/*jshint validthis:true */\n\t\tlet currentClass, originalList;\n\n\t\tcurrentClass = e.target.classList;\n\n\t\tif ( currentClass.contains( 'frm-collapse-page' ) || currentClass.contains( 'frm-sub-label' ) || e.target.closest( '.dropdown' ) !== null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.closest( '.start_divider' ) !== null ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( this.classList.contains( 'edit_field_type_divider' ) ) {\n\t\t\toriginalList = e.originalEvent.target.closest( 'ul.frm_sorting' );\n\t\t\tif ( null !== originalList ) {\n\t\t\t\t// prevent section click if clicking a field group within a section.\n\t\t\t\tif ( originalList.classList.contains( 'edit_field_type_divider' ) || originalList.parentNode.parentNode.classList.contains( 'start_divider' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclickAction( this );\n\t}\n\n\t/**\n\t * Update the format input based on the selected format type.\n\t *\n\t * @since 6.9\n\t *\n\t * @param {Event} event The event object from the format type selection.\n\t * @return {void}\n\t */\n\tfunction maybeUpdateFormatInput( event ) {\n\t\tconst formatElement = event.target;\n\t\tconst type = formatElement.value;\n\n\t\tif ( 'custom' === type ) {\n\t\t\tconst fieldId = formatElement.dataset.fieldId;\n\t\t\tconst formatInput = document.getElementById( `frm-field-format-custom-${ fieldId }` ).querySelector( '.frm_format_opt' );\n\n\t\t\tif ( 'international' === formatInput.value || 'currency' === formatInput.value || 'number' === formatInput.value ) {\n\t\t\t\tformatInput.setAttribute( 'value', '' );\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tformatElement.querySelectorAll( 'option' ).forEach(\n\t\t\t\t\toption => {\n\t\t\t\t\t\tif ( option.selected && option.classList.contains( 'frm_show_upgrade' ) ) {\n\t\t\t\t\t\t\tformatElement.value = 'none';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * Open Advanced settings on double click.\n\t */\n\tfunction openAdvanced() {\n\t\tconst fieldId = this.getAttribute( 'data-fid' );\n\t\tautoExpandSettings( document.getElementById( 'field_options_field_key_' + fieldId ) );\n\t}\n\n\tfunction toggleRepeatButtons() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisField = jQuery( this ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.repeat_icon_links' ).removeClass( 'repeat_format repeat_formatboth repeat_formattext' ).addClass( 'repeat_format' + this.value );\n\t\tif ( this.value === 'text' || this.value === 'both' ) {\n\t\t\t$thisField.find( '.frm_repeat_text' ).show();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).addClass( 'frm_button' );\n\t\t} else {\n\t\t\t$thisField.find( '.frm_repeat_text' ).hide();\n\t\t\t$thisField.find( '.repeat_icon_links a' ).removeClass( 'frm_button' );\n\t\t}\n\t}\n\n\tfunction checkRepeatLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 2 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.repeat_limit_min );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction checkCheckboxSelectionsLimit() {\n\t\t/*jshint validthis:true */\n\t\tconst val = this.value;\n\t\tif ( val !== '' && ( val < 1 || val > 200 ) ) {\n\t\t\tinfoModal( frmAdminJs.checkbox_limit );\n\t\t\tthis.value = '';\n\t\t}\n\t}\n\n\tfunction updateRepeatText( obj, addRemove ) {\n\t\tconst $thisField = jQuery( obj ).closest( '.frm_field_box' );\n\t\t$thisField.find( '.frm_' + addRemove + '_form_row .frm_repeat_label' ).text( obj.value );\n\t}\n\n\tfunction fieldsInSection( id ) {\n\t\tconst children = [];\n\t\tjQuery( document.getElementById( 'frm_field_id_' + id ) ).find( 'li.frm_field_box:not(.no_repeat_section .edit_field_type_end_divider)' ).each( function() {\n\t\t\tchildren.push( jQuery( this ).data( 'fid' ) );\n\t\t} );\n\t\treturn children;\n\t}\n\n\tfunction toggleFormTax() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tconst val = this.value;\n\t\tconst $showFields = document.getElementById( 'frm_show_selected_fields_' + id );\n\t\tconst $showForms = document.getElementById( 'frm_show_selected_forms_' + id );\n\n\t\tjQuery( $showForms ).find( 'select' ).val( '' );\n\t\tif ( val === 'form' ) {\n\t\t\t$showForms.style.display = 'inline';\n\t\t\tempty( $showFields );\n\t\t} else {\n\t\t\t$showFields.style.display = 'none';\n\t\t\t$showForms.style.display = 'none';\n\t\t\tgetTaxOrFieldSelection( val, id );\n\t\t}\n\t}\n\n\tfunction resetOptOnChange() {\n\t\t/*jshint validthis:true */\n\t\tlet field, thisOpt;\n\n\t\tfield = getFieldKeyFromOpt( this );\n\t\tif ( ! field ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisOpt = jQuery( this ).closest( '.frm_single_option' );\n\n\t\tresetSingleOpt( field.fieldId, field.fieldKey, thisOpt );\n\t}\n\n\tfunction getFieldKeyFromOpt( object ) {\n\t\tlet allOpts, fieldId, fieldKey;\n\n\t\tallOpts = jQuery( object ).closest( '.frm_sortable_field_opts' );\n\t\tif ( ! allOpts.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfieldId = allOpts.attr( 'id' ).replace( 'frm_field_', '' ).replace( '_opts', '' );\n\t\tfieldKey = allOpts.data( 'key' );\n\n\t\treturn {\n\t\t\tfieldId: fieldId,\n\t\t\tfieldKey: fieldKey\n\t\t};\n\t}\n\n\tfunction resetSingleOpt( fieldId, fieldKey, thisOpt ) {\n\t\tlet saved, text, defaultVal, previewInput, labelForDisplay, optContainer,\n\t\t\toptKey = thisOpt.data( 'optkey' ),\n\t\t\tseparateValues = usingSeparateValues( fieldId ),\n\t\t\tsingle = jQuery( 'label[for=\"field_' + fieldKey + '-' + optKey + '\"]' ),\n\t\t\tbaseName = 'field_options[options_' + fieldId + '][' + optKey + ']',\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '[label]\"]' );\n\n\t\tif ( single.length < 1 ) {\n\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t// Set the default value.\n\t\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\t\tif ( defaultVal.is( ':checked' ) && label.length > 0 ) {\n\t\t\t\tjQuery( 'select[name^=\"item_meta[' + fieldId + ']\"]' ).val( label.val() );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tpreviewInput = single.children( 'input' );\n\n\t\tif ( label.length < 1 ) {\n\t\t\t// Check for other label.\n\t\t\tlabel = jQuery( 'input[name=\"' + baseName + '\"]' );\n\t\t\tsaved = label.val();\n\t\t} else if ( separateValues ) {\n\t\t\tsaved = jQuery( 'input[name=\"' + baseName + '[value]\"]' ).val();\n\t\t} else {\n\t\t\tsaved = label.val();\n\t\t}\n\n\t\tif ( label.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the displayed value.\n\t\ttext = single[ 0 ].childNodes;\n\n\t\tif ( imagesAsOptions( fieldId ) ) {\n\t\t\tlabelForDisplay = getImageDisplayValue( thisOpt, fieldId, label );\n\t\t\toptContainer = single.find( '.frm_image_option_container' );\n\n\t\t\tif ( optContainer.length > 0 ) {\n\t\t\t\toptContainer.replaceWith( labelForDisplay );\n\t\t\t} else {\n\t\t\t\ttext[ text.length - 1 ].nodeValue = '';\n\t\t\t\tsingle.append( labelForDisplay );\n\t\t\t}\n\t\t} else {\n\t\t\tlet firstInputIndex = false;\n\t\t\ttext.forEach( ( node, index ) => {\n\t\t\t\tif ( firstInputIndex === false ) {\n\t\t\t\t\tif ( node.tagName === 'INPUT' ) {\n\t\t\t\t\t\tfirstInputIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else if ( index === firstInputIndex + 1 ) {\n\t\t\t\t\tlet nodeValue = '';\n\n\t\t\t\t\tif ( buttonsAsOptions( fieldId ) ) {\n\t\t\t\t\t\tnodeValue = div( { className: 'frm_label_button_container', text: ' ' + label.val() } );\n\t\t\t\t\t\tsingle[ 0 ].replaceChild( nodeValue, node );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.nodeValue = ' ' + label.val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsingle[ 0 ].removeChild( node );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Set saved value.\n\t\tpreviewInput.val( saved );\n\n\t\t// Set the default value.\n\t\tdefaultVal = thisOpt.find( 'input[name^=\"default_value_\"]' );\n\t\tpreviewInput.prop( 'checked', defaultVal.is( ':checked' ) ? true : false );\n\t}\n\n\tfunction buttonsAsOptions( fieldId ) {\n\t\tconst fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\t\tconst result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) );\n\n\t\treturn typeof result !== 'undefined';\n\t}\n\n\t/**\n\t * Set the displayed value for an image option.\n\t */\n\tfunction getImageDisplayValue( thisOpt, fieldId, label ) {\n\t\tlet image, imageUrl, showLabelWithImage, fieldType;\n\n\t\timage = thisOpt.find( 'img' );\n\t\tif ( image ) {\n\t\t\timageUrl = image.attr( 'src' );\n\t\t}\n\n\t\tshowLabelWithImage = showingLabelWithImage( fieldId );\n\t\tfieldType = radioOrCheckbox( fieldId );\n\t\treturn getImageLabel( label.val(), showLabelWithImage, imageUrl, fieldType );\n\t}\n\n\tfunction getImageOptionSize( fieldId ) {\n\t\tlet val,\n\t\t\tfield = document.getElementById( 'field_options_image_size_' + fieldId ),\n\t\t\tsize = '';\n\n\t\tif ( field !== null ) {\n\t\t\tval = field.value;\n\t\t\tif ( val !== '' ) {\n\t\t\t\tsize = val;\n\t\t\t}\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tfunction resetDisplayedOpts( fieldId ) {\n\t\tlet i, opts, type, placeholder, fieldInfo,\n\t\t\tinput = jQuery( '[name^=\"item_meta[' + fieldId + ']\"]' );\n\n\t\tif ( input.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( input.is( 'select' ) ) {\n\t\t\tplaceholder = document.getElementById( 'frm_placeholder_' + fieldId );\n\t\t\tif ( placeholder !== null && placeholder.value === '' ) {\n\t\t\t\tfillDropdownOpts( input[ 0 ], { sourceID: fieldId } );\n\t\t\t} else {\n\t\t\t\tfillDropdownOpts( input[ 0 ], {\n\t\t\t\t\tsourceID: fieldId,\n\t\t\t\t\tplaceholder: placeholder.value\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\topts = getMultipleOpts( fieldId );\n\t\t\tjQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ).html( '' );\n\t\t\tfieldInfo = getFieldKeyFromOpt( jQuery( '#frm_delete_field_' + fieldId + '-000_container' ) );\n\n\t\t\tconst container = jQuery( '#field_' + fieldId + '_inner_container > .frm_form_fields' ),\n\t\t\t\thasImageOptions = imagesAsOptions( fieldId ),\n\t\t\t\timageSize = hasImageOptions ? getImageOptionSize( fieldId ) : '',\n\t\t\t\timageOptionClass = hasImageOptions ? ( 'frm_image_option frm_image_' + imageSize + ' ' ) : '',\n\t\t\t\tisProduct = isProductField( fieldId );\n\n\t\t\ttype = ( 'hidden' === input.attr( 'type' ) ? input.data( 'field-type' ) : input.attr( 'type' ) );\n\t\t\tfor ( i = 0; i < opts.length; i++ ) {\n\t\t\t\tcontainer.append( addRadioCheckboxOpt( type, opts[ i ], fieldId, fieldInfo.fieldKey, isProduct, imageOptionClass ) );\n\t\t\t}\n\t\t}\n\n\t\tadjustConditionalLogicOptionOrders( fieldId );\n\t}\n\n\t/**\n\t * Returns an object that has a value and label for new conditional logic option, for a given option value.\n\t *\n\t * @param {Number} fieldId\n\t * @param {string} expectedOption\n\t * @return {Object}\n\t */\n\tfunction getNewConditionalLogicOption( fieldId, expectedOption ) {\n\t\tconst optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tconst expectedOptionInput = optionsContainer.querySelector( 'input[value=\"' + expectedOption + '\"]' );\n\n\t\tif ( expectedOptionInput ) {\n\t\t\treturn getChoiceNewValueAndLabel( expectedOptionInput );\n\t\t}\n\n\t\treturn { newValue: expectedOption, newLabel: expectedOption };\n\t}\n\n\tfunction adjustConditionalLogicOptionOrders( fieldId, type ) {\n\t\tlet row, opts, logicId, valueSelect, optionLength, optionIndex, expectedOption, optionMatch, fieldOptions,\n\t\t\trows = builderPage.querySelectorAll( '.frm_logic_row' ),\n\t\t\trowLength = rows.length;\n\n\t\tfieldOptions = wp.hooks.applyFilters( 'frm_conditional_logic_field_options', getFieldOptions( fieldId ), { type, fieldId } );\n\t\toptionLength = fieldOptions.length;\n\n\t\tfor ( rowIndex = 0; rowIndex < rowLength; rowIndex++ ) {\n\t\t\trow = rows[ rowIndex ];\n\t\t\topts = row.querySelector( '.frm_logic_field_opts' );\n\n\t\t\tif ( opts.value != fieldId ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlogicId = row.id.split( '_' )[ 2 ];\n\t\t\tvalueSelect = row.querySelector( 'select[name=\"field_options[hide_opt_' + logicId + '][]\"]' );\n\n\t\t\tfor ( optionIndex = optionLength - 1; optionIndex >= 0; optionIndex-- ) {\n\t\t\t\texpectedOption = fieldOptions[ optionIndex ];\n\t\t\t\tlet expectedOptionValue = document.getElementById( 'frm_field_' + fieldId + '_opts' ).querySelector( '.frm_option_key input[type=\"text\"]' )?.value;\n\t\t\t\tif ( ! expectedOptionValue ) {\n\t\t\t\t\texpectedOptionValue = expectedOption;\n\t\t\t\t}\n\n\t\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"' + expectedOptionValue + '\"]' );\n\n\t\t\t\tconst { newValue, newLabel } = getNewConditionalLogicOption( fieldId, expectedOption );\n\n\t\t\t\tconst fieldChoices = document.querySelectorAll( '#frm_field_' + fieldId + '_opts input[data-value-on-focus]' );\n\t\t\t\tconst expectedChoiceEl = Array.from( fieldChoices ).find( element => element.value === expectedOption );\n\t\t\t\tif ( expectedChoiceEl ) {\n\t\t\t\t\tconst oldValue = expectedChoiceEl.dataset.valueOnFocus;\n\t\t\t\t\tconst hasMatch = oldValue && valueSelect.querySelector( 'option[value=\"' + oldValue + '\"]' );\n\t\t\t\t\tif ( hasMatch ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel );\n\t\t\t}\n\n\t\t\toptionMatch = valueSelect.querySelector( 'option[value=\"\"]' );\n\t\t\tif ( optionMatch !== null ) {\n\t\t\t\tvalueSelect.prepend( optionMatch );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction prependValueSelectWithOptionMatch( valueSelect, optionMatch, newValue, newLabel ) {\n\t\tif ( optionMatch === null && ! valueSelect.querySelector( 'option[value=\"' + newValue + '\"]' ) ) {\n\t\t\toptionMatch = frmDom.tag( 'option', { text: newLabel } );\n\t\t\toptionMatch.value = newValue;\n\t\t}\n\n\t\tvalueSelect.prepend( optionMatch );\n\t}\n\n\tfunction getFieldOptions( fieldId ) {\n\t\tlet index, input, li, listItems, optsContainer, length,\n\t\t\toptions = [];\n\t\toptsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\n\t\tif ( ! optsContainer ) {\n\t\t\treturn options;\n\t\t}\n\t\tlistItems = optsContainer.querySelectorAll( '.frm_single_option' );\n\t\tlength = listItems.length;\n\n\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\tli = listItems[ index ];\n\n\t\t\tif ( li.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tinput = li.querySelector( '.field_' + fieldId + '_option' );\n\t\t\toptions.push( input.value );\n\t\t}\n\t\treturn options;\n\t}\n\n\tfunction addRadioCheckboxOpt( type, opt, fieldId, fieldKey, isProduct, classes ) {\n\t\tlet other,\n\t\t\tsingle = '',\n\t\t\tisOther = opt.key.indexOf( 'other' ) !== -1,\n\t\t\tid = 'field_' + fieldKey + '-' + opt.key,\n\t\t\tinputType = type === 'scale' ? 'radio' : type;\n\n\t\tother = '';\n\n\t\tthis.getSingle = function() {\n\t\t\t/**\n\t\t\t * Get single option template.\n\t\t\t *\n\t\t\t * @param {Object} option Object containing the option data.\n\t\t\t * @param {string} type The field type.\n\t\t\t * @param {string} fieldId The field id.\n\t\t\t * @param {string} classes The option clasnames.\n\t\t\t * @param {string} id The input id attribute.\n\t\t\t */\n\t\t\tsingle = wp.hooks.applyFilters( 'frm_admin.build_single_option_template', single, { opt, type, fieldId, classes, id } );\n\n\t\t\tif ( '' !== single ) {\n\t\t\t\treturn single;\n\t\t\t}\n\n\t\t\treturn '
                                                                                                  ' +\n\t\t\t( isOther ? other : '' ) +\n\t\t\t'
                                                                                                  ';\n\t\t};\n\n\t\treturn this.getSingle();\n\t}\n\n\tfunction fillDropdownOpts( field, atts ) {\n\t\tif ( field === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sourceID = atts.sourceID,\n\t\t\tplaceholder = atts.placeholder,\n\t\t\tisProduct = isProductField( sourceID ),\n\t\t\tshowOther = atts.other;\n\n\t\tremoveDropdownOpts( field );\n\t\tlet opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) );\n\t\tlet hasPlaceholder = ( typeof placeholder !== 'undefined' );\n\n\t\tfor ( let i = 0; i < opts.length; i++ ) {\n\t\t\tlet label = opts[ i ].label,\n\t\t\t\tisOther = opts[ i ].key.indexOf( 'other' ) !== -1;\n\n\t\t\tif ( hasPlaceholder && label !== '' ) {\n\t\t\t\taddBlankSelectOption( field, placeholder );\n\t\t\t} else if ( hasPlaceholder ) {\n\t\t\t\tlabel = placeholder;\n\t\t\t}\n\t\t\thasPlaceholder = false;\n\n\t\t\tif ( ! isOther || showOther ) {\n\t\t\t\tconst opt = document.createElement( 'option' );\n\t\t\t\topt.value = opts[ i ].saved;\n\t\t\t\topt.innerHTML = purifyHtml( label );\n\n\t\t\t\tif ( isProduct ) {\n\t\t\t\t\topt.setAttribute( 'data-price', opts[ i ].price );\n\t\t\t\t}\n\n\t\t\t\tfield.appendChild( opt );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addBlankSelectOption( field, placeholder ) {\n\t\tconst opt = document.createElement( 'option' ),\n\t\t\tfirstChild = field.firstChild;\n\n\t\topt.value = '';\n\t\topt.innerHTML = placeholder;\n\t\tif ( firstChild !== null ) {\n\t\t\tfield.insertBefore( opt, firstChild );\n\t\t\tfield.selectedIndex = 0;\n\t\t} else {\n\t\t\tfield.appendChild( opt );\n\t\t}\n\t}\n\n\t/**\n\t * Get multiple options for a field.\n\t *\n\t * @param {string} fieldId The field id.\n\t * @param {boolean} showValueAsLabel Whether to show the value as label for empty labels.\n\t */\n\tfunction getMultipleOpts( fieldId, showValueAsLabel = false ) {\n\t\tlet i, saved, labelName, label, key, optObj,\n\t\t\tfieldType,\n\t\t\tchecked = false,\n\t\t\topts = [],\n\t\t\timageUrl = '';\n\n\t\tconst optVals = jQuery( 'input[name^=\"field_options[options_' + fieldId + ']\"]' ).filter( '[name$=\"[label]\"], [name*=\"[other_\"]' );\n\t\tconst isProduct = isProductField( fieldId );\n\t\tconst showLabelWithImage = showingLabelWithImage( fieldId );\n\t\tconst hasImageOptions = imagesAsOptions( fieldId );\n\t\tconst separateValues = usingSeparateValues( fieldId );\n\n\t\tfor ( i = 0; i < optVals.length; i++ ) {\n\t\t\tif ( optVals[ i ].name.indexOf( '[000]' ) > 0 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsaved = optVals[ i ].value;\n\t\t\tlabel = saved;\n\t\t\tkey = optVals[ i ].name.replace( 'field_options[options_' + fieldId + '][', '' ).replace( '[label]', '' ).replace( ']', '' );\n\n\t\t\tif ( separateValues ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[value]' );\n\t\t\t\tsaved = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\n\t\t\t\tif ( showValueAsLabel && '' === label ) {\n\t\t\t\t\tlabel = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( hasImageOptions ) {\n\t\t\t\timageUrl = getImageUrlFromInput( optVals[ i ] );\n\t\t\t\tfieldType = radioOrCheckbox( fieldId );\n\t\t\t\tlabel = getImageLabel( label, showLabelWithImage, imageUrl, fieldType );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @since 5.0.04\n\t\t\t */\n\t\t\tlabel = frmAdminBuild.hooks.applyFilters( 'frm_choice_field_label', label, fieldId, optVals[ i ], hasImageOptions );\n\n\t\t\tchecked = getChecked( optVals[ i ].id );\n\n\t\t\toptObj = {\n\t\t\t\tsaved: saved,\n\t\t\t\tlabel: label,\n\t\t\t\tchecked: checked,\n\t\t\t\tkey: key\n\t\t\t};\n\n\t\t\tif ( isProduct ) {\n\t\t\t\tlabelName = optVals[ i ].name.replace( '[label]', '[price]' );\n\t\t\t\toptObj.price = jQuery( 'input[name=\"' + labelName + '\"]' ).val();\n\t\t\t}\n\n\t\t\topts.push( optObj );\n\t\t}\n\n\t\treturn opts;\n\t}\n\n\tfunction radioOrCheckbox( fieldId ) {\n\t\tconst settings = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tif ( settings === null ) {\n\t\t\treturn 'radio';\n\t\t}\n\n\t\treturn settings.classList.contains( 'frm-type-checkbox' ) ? 'checkbox' : 'radio';\n\t}\n\n\tfunction getImageUrlFromInput( optVal ) {\n\t\tlet img,\n\t\t\twrapper = jQuery( optVal ).siblings( '.frm_image_preview_wrapper' );\n\n\t\tif ( ! wrapper.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\timg = wrapper.find( 'img' );\n\t\tif ( ! img.length ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn img.attr( 'src' );\n\t}\n\n\tfunction purifyHtml( html ) {\n\t\tif ( html instanceof Element || html instanceof Document ) {\n\t\t\thtml = html.outerHTML;\n\t\t}\n\n\t\tconst clean = jQuery.parseHTML( html ).reduce(\n\t\t\t( total, currentNode ) => {\n\t\t\t\tconst cleanNode = frmDom.cleanNode( currentNode );\n\n\t\t\t\tif ( '#text' === cleanNode.nodeName ) {\n\t\t\t\t\treturn total += cleanNode.textContent;\n\t\t\t\t}\n\n\t\t\t\treturn total + cleanNode.outerHTML;\n\t\t\t},\n\t\t\t''\n\t\t);\n\n\t\tif ( clean !== html ) {\n\t\t\t// Clean it until nothing changes, in case the stripped result is now unsafe.\n\t\t\treturn purifyHtml( clean );\n\t\t}\n\n\t\treturn clean;\n\t}\n\n\tfunction getImageLabel( label, showLabelWithImage, imageUrl, fieldType ) {\n\t\tlet imageLabelClass,\n\t\t\toriginalLabel = label,\n\t\t\tshape = fieldType === 'checkbox' ? 'square' : 'circle',\n\t\t\tlabelImage,\n\t\t\tlabelNode,\n\t\t\timageLabel;\n\n\t\toriginalLabel = purifyHtml( originalLabel );\n\n\t\tif ( imageUrl ) {\n\t\t\tlabelImage = img( { src: imageUrl, alt: originalLabel } );\n\t\t} else {\n\t\t\tlabelImage = div( { className: 'frm_empty_url' } );\n\t\t\tlabelImage.innerHTML = frmAdminJs.image_placeholder_icon;\n\t\t}\n\n\t\timageLabelClass = showLabelWithImage ? ' frm_label_with_image' : '';\n\n\t\timageLabel = tag( 'span', { className: 'frm_text_label_for_image_inner' } );\n\n\t\timageLabel.innerHTML = originalLabel;\n\t\tlabelNode = tag(\n\t\t\t'span',\n\t\t\t{\n\t\t\t\tclassName: 'frm_image_option_container' + imageLabelClass,\n\t\t\t\tchildren: [\n\t\t\t\t\tlabelImage,\n\t\t\t\t\ttag( 'span', { className: 'frm_text_label_for_image', child: imageLabel } )\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn labelNode;\n\t}\n\n\tfunction getChecked( id ) {\n\t\tfield = jQuery( '#' + id );\n\n\t\tif ( field.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tcheckbox = field.siblings( 'input[type=checkbox]' );\n\n\t\treturn checkbox.length && checkbox.prop( 'checked' );\n\t}\n\n\tfunction removeDropdownOpts( field ) {\n\t\tlet i;\n\t\tif ( typeof field.options === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = field.options.length - 1; i >= 0; i-- ) {\n\t\t\tfield.remove( i );\n\t\t}\n\t}\n\n\t/**\n\t * Is the box checked to use separate values?\n\t */\n\tfunction usingSeparateValues( fieldId ) {\n\t\treturn isChecked( 'separate_value_' + fieldId );\n\t}\n\n\t/**\n\t * Is the box checked to use images as options?\n\t */\n\tfunction imagesAsOptions( fieldId ) {\n\t\tlet checked = false,\n\t\t\tfield = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' );\n\n\t\tfor ( let i = 0; i < field.length; i++ ) {\n\t\t\tif ( field[ i ].checked ) {\n\t\t\t\tchecked = '0' !== field[ i ].value;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_images_as_options', checked, fieldId );\n\t}\n\n\tfunction showingLabelWithImage( fieldId ) {\n\t\tconst isShowing = ! isChecked( 'hide_image_text_' + fieldId );\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\treturn frmAdminBuild.hooks.applyFilters( 'frm_choice_field_showing_label_with_image', isShowing, fieldId );\n\t}\n\n\tfunction isChecked( id ) {\n\t\tconst field = document.getElementById( id );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn field.checked;\n\t}\n\n\tfunction checkUniqueOpt( targetInput ) {\n\t\tconst settingsContainer = targetInput.closest( '.frm-single-settings' );\n\t\tconst fieldId = settingsContainer.getAttribute( 'data-fid' );\n\t\tconst areValuesSeparate = settingsContainer.querySelector( '[name=\"field_options[separate_value_' + fieldId + ']\"]' ).checked;\n\n\t\tif ( areValuesSeparate && ! targetInput.name.endsWith( '[value]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = document.getElementById( 'frm_field_' + fieldId + '_opts' );\n\t\tconst conflicts = Array.from( container.querySelectorAll( 'input[type=\"text\"]' ) ).filter(\n\t\t\tinput => input.id !== targetInput.id &&\n\t\t\t\tareValuesSeparate === input.name.endsWith( '[value]' ) &&\n\t\t\t\tinput.value === targetInput.value\n\t\t);\n\n\t\tif ( conflicts.length ) {\n\t\t\t/* translators: %s: The detected option value. */\n\t\t\tinfoModal( sprintf( __( 'Duplicate option value \"%s\" detected', 'formidable' ), purifyHtml( targetInput.value ) ) );\n\t\t}\n\t}\n\n\tfunction getFieldValues() {\n\t\t/*jshint validthis:true */\n\t\tlet isTaxonomy,\n\t\t\tval = this.value;\n\n\t\tif ( val ) {\n\t\t\tconst parentIDs = this.parentNode.id.replace( 'frm_logic_', '' ).split( '_' );\n\t\t\tconst fieldID = parentIDs[ 0 ];\n\t\t\tconst metaKey = parentIDs[ 1 ];\n\t\t\tconst valueField = document.getElementById( 'frm_field_id_' + val );\n\t\t\tconst valueFieldType = valueField.getAttribute( 'data-ftype' );\n\t\t\tconst fill = document.getElementById( 'frm_show_selected_values_' + fieldID + '_' + metaKey );\n\t\t\tconst optionName = 'field_options[hide_opt_' + fieldID + '][]';\n\t\t\tconst optionID = 'frm_field_logic_opt_' + fieldID;\n\t\t\tlet input = false;\n\t\t\tlet showSelect = ( valueFieldType === 'select' || valueFieldType === 'checkbox' || valueFieldType === 'radio' );\n\t\t\tconst showText = ( valueFieldType === 'text' || valueFieldType === 'email' || valueFieldType === 'phone' || valueFieldType === 'url' || valueFieldType === 'number' );\n\n\t\t\tif ( showSelect ) {\n\t\t\t\tisTaxonomy = document.getElementById( 'frm_has_hidden_options_' + val );\n\t\t\t\tif ( isTaxonomy !== null ) {\n\t\t\t\t\t// get the category options with ajax\n\t\t\t\t\tshowSelect = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( showSelect || showText ) {\n\t\t\t\tconst comparison = document.querySelector( `#frm_logic_${ fieldID }_${ metaKey } [name=\"field_options[hide_field_cond_${ fieldID }][]\"]` ).value;\n\t\t\t\tfill.innerHTML = '';\n\t\t\t\tconst creatingValuesDropdown = showSelect && ! [ 'LIKE', 'not LIKE', 'LIKE%', '%LIKE' ].includes( comparison );\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tinput = document.createElement( 'select' );\n\t\t\t\t} else {\n\t\t\t\t\tinput = document.createElement( 'input' );\n\t\t\t\t\tinput.type = 'text';\n\t\t\t\t}\n\t\t\t\tinput.name = optionName;\n\t\t\t\tinput.id = optionID + '_' + metaKey;\n\t\t\t\tfill.appendChild( input );\n\n\t\t\t\tif ( creatingValuesDropdown ) {\n\t\t\t\t\tconst fillField = document.getElementById( input.id );\n\t\t\t\t\tfillDropdownOpts( fillField, {\n\t\t\t\t\t\tsourceID: val,\n\t\t\t\t\t\tplaceholder: '',\n\t\t\t\t\t\tother: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst thisType = this.getAttribute( 'data-type' );\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tconst event = new CustomEvent( 'frm_logic_options_loaded' );\n\t\t\t\t\tevent.frmData = { valueFieldType, fieldID, metaKey };\n\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t};\n\n\t\t\t\tfrmGetFieldValues( val, fieldID, metaKey, thisType, undefined, callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getFieldSelection() {\n\t\t/*jshint validthis:true */\n\t\tconst formId = this.value;\n\t\tif ( formId ) {\n\t\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\t\tgetTaxOrFieldSelection( formId, fieldId );\n\t\t}\n\t}\n\n\tfunction getTaxOrFieldSelection( formId, fieldId ) {\n\t\tif ( formId ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_field_selection',\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\tform_id: formId,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tconst $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId );\n\t\t\t\t\t$selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) );\n\t\t\t\t\t$selectedFields.html( msg ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateFieldOrder() {\n\t\tlet self = this;\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It will store the order input fields ( input[name=\"field_options[field_order_{fieldId}]\"] ).\n\t\t\t// It will help to reduce the DOM searches based on fieldId.\n\t\t\t// The same object data is used across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.orderFieldsObject = {};\n\n\t\t\t// Get the Form group that will handle the fields settings.\n\t\t\t// Perform a single DOM search and use it across all \"updateFieldOrder\" instances.\n\t\t\tupdateFieldOrder.prototype.fieldSettingsForm = document.getElementById( 'frm-end-form-marker' ).closest( 'form' );\n\t\t};\n\n\t\tthis.getFieldOrderInputById = function( fieldId, parent ) {\n\t\t\tlet field;\n\t\t\tconst orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject;\n\t\t\tconst fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm;\n\n\t\t\tif ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) {\n\t\t\t\tfield = fieldSettingsForm.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\tif ( null === field ) {\n\t\t\t\t\tfield = parent.querySelector( 'input[name=\"field_options[field_order_' + fieldId + ']\"]' );\n\t\t\t\t}\n\t\t\t\torderFieldsObject[ fieldId ] = field;\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\treturn orderFieldsObject[ fieldId ];\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\t\trenumberPageBreaks();\n\n\t\treturn ( function() {\n\t\t\tlet fieldId, field, currentOrder, newOrder,\n\t\t\t\tmoveFieldsClass = new moveFieldSettings(),\n\t\t\t\tfields = jQuery( 'li.frm_field_box', jQuery( '#frm-show-fields' ) );\n\n\t\t\tfor ( i = 0; i < fields.length; i++ ) {\n\t\t\t\tfieldId = fields[ i ].getAttribute( 'data-fid' );\n\t\t\t\tfield = self.getFieldOrderInputById( fieldId, fields[ i ] );\n\n\t\t\t\t// get current field order, make sure we don't get the \"field\" reference as the \"field\" value will get updated later.\n\t\t\t\tcurrentOrder = null !== field ? Object.assign( {}, field.value )[ 0 ] : null;\n\t\t\t\tnewOrder = i + 1;\n\n\t\t\t\tif ( currentOrder != newOrder && null !== currentOrder ) {\n\t\t\t\t\tfield.value = newOrder;\n\t\t\t\t\tsingleField = fields[ i ].querySelector( '#frm-single-settings-' + fieldId );\n\n\t\t\t\t\t// add field that needs to be moved to \"updateFieldOrder.prototype.fieldSettingsForm\"\n\t\t\t\t\tmoveFieldsClass.append( singleField );\n\t\t\t\t\tfieldUpdated();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// move all appended fields\n\t\t\tmoveFieldsClass.moveFields();\n\t\t}() );\n\t}\n\n\tfunction toggleSectionHolder() {\n\t\tdocument.querySelectorAll( '.start_divider' ).forEach(\n\t\t\tfunction( divider ) {\n\t\t\t\ttoggleOneSectionHolder( jQuery( divider ) );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction toggleOneSectionHolder( $section ) {\n\t\tlet noSectionFields, $rows, length, index, sectionHasFields;\n\n\t\tif ( ! $section.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$rows = $section.find( 'ul.frm_sorting' );\n\t\tsectionHasFields = false;\n\t\tlength = $rows.length;\n\t\tfor ( index = 0; index < length; ++index ) {\n\t\t\tif ( 0 !== getFieldsInRow( jQuery( $rows.get( index ) ) ).length ) {\n\t\t\t\tsectionHasFields = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tnoSectionFields = $section.parent().children( '.frm_no_section_fields' ).get( 0 );\n\t\tnoSectionFields.classList.toggle( 'frm_block', ! sectionHasFields );\n\t}\n\n\tfunction handleShowPasswordLiveUpdate() {\n\t\tfrmDom.util.documentOn( 'change', '.frm_show_password_setting_input', event => {\n\t\t\tconst fieldId = event.target.getAttribute( 'data-fid' );\n\t\t\tconst fieldEl = document.getElementById( 'frm_field_id_' + fieldId );\n\t\t\tif ( ! fieldEl ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfieldEl.classList.toggle( 'frm_disabled_show_password', ! event.target.checked );\n\t\t} );\n\t}\n\n\tfunction slideDown() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slidedown' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\tif ( $thisId.is( ':hidden' ) ) {\n\t\t\t$thisId.slideDown( 'fast' );\n\t\t\tthis.style.display = 'none';\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction slideUp() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'slideup' );\n\t\tconst $thisId = jQuery( document.getElementById( id ) );\n\t\t$thisId.slideUp( 'fast' );\n\t\t$thisId.siblings( 'a' ).show();\n\t\treturn false;\n\t}\n\n\tfunction adjustVisibilityValuesForEveryoneValues( element, option ) {\n\t\tif ( '' === option.getAttribute( 'value' ) ) {\n\t\t\tonEveryoneOptionSelected( jQuery( this ) );\n\t\t} else {\n\t\t\tunselectEveryoneOptionIfSelected( jQuery( this ) );\n\t\t}\n\t}\n\n\tfunction onEveryoneOptionSelected( $select ) {\n\t\t$select.val( '' );\n\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value!=\"\"]' ).prop( 'checked', false );\n\t}\n\n\tfunction unselectEveryoneOptionIfSelected( $select ) {\n\t\tlet selectedValues = $select.val(),\n\t\t\tindex;\n\n\t\tif ( selectedValues === null ) {\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', true );\n\t\t\tonEveryoneOptionSelected( $select );\n\t\t\treturn;\n\t\t}\n\n\t\tindex = selectedValues.indexOf( '' );\n\t\tif ( index >= 0 ) {\n\t\t\tselectedValues.splice( index, 1 );\n\t\t\t$select.val( selectedValues );\n\t\t\t$select.next( '.btn-group' ).find( '.multiselect-container input[value=\"\"]' ).prop( 'checked', false );\n\t\t}\n\t}\n\n\t/**\n\t * Get rid of empty container that inserts extra space.\n\t */\n\tfunction hideEmptyEle() {\n\t\tjQuery( '.frm-hide-empty' ).each( function() {\n\t\t\tif ( jQuery( this ).text().trim().length === 0 ) {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Change the classes in the builder */\n\tfunction changeFieldClass( field, setting ) {\n\t\tlet classes, replace, alignField,\n\t\t\treplaceWith = ' ' + setting.value,\n\t\t\tfieldId = field.getAttribute( 'data-fid' );\n\n\t\t// Include classes from multiple settings.\n\t\tif ( typeof fieldId !== 'undefined' ) {\n\t\t\tif ( setting.classList.contains( 'field_options_align' ) ) {\n\t\t\t\treplaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value;\n\t\t\t} else if ( setting.classList.contains( 'frm_classes' ) ) {\n\t\t\t\talignField = document.getElementById( 'field_options_align_' + fieldId );\n\t\t\t\tif ( alignField !== null ) {\n\t\t\t\t\treplaceWith += ' ' + alignField.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treplaceWith += ' ';\n\n\t\t// Allow for the column number dropdown.\n\t\treplaceWith = replaceWith.replace( ' block ', ' vertical_radio ' ).replace( ' inline ', ' horizontal_radio ' );\n\n\t\tclasses = field.className.split( ' frmstart ' )[ 1 ];\n\t\tclasses = 0 === classes.indexOf( 'frmend ' ) ? '' : classes.split( ' frmend ' )[ 0 ];\n\n\t\tif ( classes.trim() === '' ) {\n\t\t\treplace = ' frmstart frmend ';\n\t\t\tif ( -1 === field.className.indexOf( replace ) ) {\n\t\t\t\treplace = ' frmstart frmend ';\n\t\t\t}\n\t\t\treplaceWith = ' frmstart ' + replaceWith.trim() + ' frmend ';\n\t\t} else {\n\t\t\treplace = classes.trim();\n\t\t\treplaceWith = replaceWith.trim();\n\t\t}\n\n\t\tfield.className = field.className.replace( replace, replaceWith );\n\t}\n\n\tfunction maybeShowInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tshowInlineModal( this, undefined, e );\n\t}\n\n\tfunction showInlineModal( icon, input, event ) {\n\t\tconst box = document.getElementById( icon.getAttribute( 'data-open' ) ),\n\t\t\tcontainer = jQuery( icon ).closest( 'p,ul' ),\n\t\t\tinputTrigger = ( typeof input !== 'undefined' );\n\n\t\tif ( container.hasClass( 'frm-open' ) ) {\n\t\t\tcontainer.removeClass( 'frm-open' );\n\t\t\tbox.classList.add( 'frm_hidden' );\n\t\t} else {\n\t\t\tif ( ! inputTrigger ) {\n\t\t\t\tinput = getInputForIcon( icon );\n\t\t\t}\n\t\t\tif ( input !== null ) {\n\t\t\t\tif ( ! inputTrigger ) {\n\t\t\t\t\tconst { key } = event;\n\t\t\t\t\tif ( key !== 'Enter' && key !== ' ' ) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontainer.after( box );\n\t\t\t\tbox.setAttribute( 'data-fills', input.id.replace( '-proxy-input', '' ) );\n\n\t\t\t\tif ( box.id.indexOf( 'frm-calc-box' ) === 0 ) {\n\t\t\t\t\tpopCalcFields( box, true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontainer.addClass( 'frm-open' );\n\t\t\tbox.classList.remove( 'frm_hidden' );\n\n\t\t\t/**\n\t\t\t * @since 6.4.1\n\t\t\t */\n\t\t\twp.hooks.doAction( 'frm_show_inline_modal', box, icon );\n\t\t}\n\t}\n\n\tfunction dismissInlineModal( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tthis.parentNode.classList.add( 'frm_hidden' );\n\t\tjQuery( '.frm-open [data-open=\"' + this.parentNode.id + '\"]' ).closest( '.frm-open' ).removeClass( 'frm-open' );\n\t}\n\n\t/**\n\t * Close frm-modal-no-dismiss element when clicking outside of it\n\t *\n\t * @param {Event} event The click event\n\t */\n\tfunction closeModalOnOutsideClick( { target } ) {\n\t\tif (\n\t\t\ttarget.closest( '.frm-inline-modal.frm-modal-no-dismiss' ) ||\n\t\t\ttarget.closest( '.frm-show-inline-modal' ) ||\n\t\t\ttarget.closest( '#frm_adv_info' ) ||\n\t\t\ttarget.closest( '.frm-token-proxy-input' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Close all inline modals (without close button) that are not hidden\n\t\tdocument.querySelectorAll( '.frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)' ).forEach( modal => {\n\t\t\tmodal.classList.add( 'frm_hidden' );\n\t\t\tmodal.previousElementSibling.classList.remove( 'frm-open' );\n\t\t} );\n\t}\n\n\tfunction changeInputtedValue() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\taction = this.getAttribute( 'data-frmchange' ).split( ',' );\n\n\t\tfor ( i = 0; i < action.length; i++ ) {\n\t\t\tif ( action[ i ] === 'updateOption' ) {\n\t\t\t\tchangeHiddenSeparateValue( this );\n\t\t\t} else if ( action[ i ] === 'updateDefault' ) {\n\t\t\t\tchangeDefaultRadioValue( this );\n\t\t\t} else if ( action[ i ] === 'checkUniqueOpt' ) {\n\t\t\t\tcheckUniqueOpt( this );\n\t\t\t} else {\n\t\t\t\tthis.value = this.value[ action[ i ] ]();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When the saved value is changed, update the default value radio.\n\t */\n\tfunction changeDefaultRadioValue( input ) {\n\t\tconst parentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tdefaultRadio = parentLi.querySelector( 'input[name=\"default_value_' + fieldId + '\"]' );\n\n\t\tif ( defaultRadio !== null ) {\n\t\t\tdefaultRadio.value = input.value;\n\t\t}\n\t}\n\n\t/**\n\t * If separate values are not enabled, change the saved value when\n\t * the displayed value is changed.\n\t */\n\tfunction changeHiddenSeparateValue( input ) {\n\t\tlet savedVal,\n\t\t\tparentLi = getOptionParent( input ),\n\t\t\tkey = parentLi.getAttribute( 'data-optkey' ),\n\t\t\tfieldId = getOptionFieldId( parentLi, key ),\n\t\t\tsep = document.getElementById( 'separate_value_' + fieldId );\n\n\t\tif ( sep !== null && sep.checked === false ) {\n\t\t\t// If separate values are not turned on.\n\t\t\tsavedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );\n\t\t\tsavedVal.value = input.value;\n\t\t\tchangeDefaultRadioValue( savedVal );\n\t\t}\n\t}\n\n\tfunction getOptionParent( input ) {\n\t\tlet parentLi = input.parentNode;\n\t\tif ( parentLi.tagName !== 'LI' ) {\n\t\t\tparentLi = parentLi.parentNode;\n\t\t}\n\t\treturn parentLi;\n\t}\n\n\tfunction getOptionFieldId( li, key ) {\n\t\tconst liId = li.id;\n\n\t\treturn liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );\n\t}\n\n\tfunction submitBuild() {\n\t\t/*jshint validthis:true */\n\t\tconst $thisEle = this;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\n\t\tconst $form = jQuery( builderForm );\n\t\tconst v = JSON.stringify( $form.serializeArray() );\n\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( v );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tafterFormSave( $thisEle );\n\n\t\t\t\tconst $postStuff = document.getElementById( 'post-body-content' );\n\t\t\t\tconst $html = document.createElement( 'div' );\n\t\t\t\t$html.setAttribute( 'class', 'frm_updated_message' );\n\t\t\t\t$html.innerHTML = msg;\n\t\t\t\t$postStuff.insertBefore( $html, $postStuff.firstChild );\n\t\t\t\treloadIfAddonActivatedAjaxSubmitOnly();\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction triggerSubmit( form ) {\n\t\tconst button = form.ownerDocument.createElement( 'input' );\n\t\tbutton.style.display = 'none';\n\t\tbutton.type = 'submit';\n\t\tform.appendChild( button ).click();\n\t\tform.removeChild( button );\n\t}\n\n\tfunction triggerChange( element ) {\n\t\tjQuery( element ).trigger( 'change' );\n\t}\n\n\tfunction submitNoAjax() {\n\t\t/*jshint validthis:true */\n\t\tlet form;\n\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreFormSave( this );\n\t\tform = jQuery( builderForm );\n\t\tjQuery( document.getElementById( 'frm_compact_fields' ) ).val( JSON.stringify( form.serializeArray() ) );\n\t\ttriggerSubmit( document.getElementById( 'frm_js_build_form' ) );\n\t}\n\n\t/**\n\t * Display a modal dialog for naming a new form template, if applicable.\n\t *\n\t * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise.\n\t */\n\tfunction showNameYourFormModal() {\n\t\t// Exit early if the 'new_template' URL parameter is not set to 'true'\n\t\tif ( ! shouldShowNameYourFormNameModal() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst modalWidget = initModal( '#frm-form-templates-modal', '440px' );\n\t\tif ( ! modalWidget ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Set the vertical offset for the modal and open it\n\t\toffsetModalY( modalWidget, '72px' );\n\t\tmodalWidget.dialog( 'open' );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns true if 'Name Your Form' modal should be displayed.\n\t *\n\t * @return {Boolean}\n\t */\n\tfunction shouldShowNameYourFormNameModal() {\n\t\tconst formNameInput = document.getElementById( 'frm_form_name' );\n\t\tif ( formNameInput && formNameInput.value.trim() !== '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase\n\t}\n\n\t/**\n\t * Manages event handling for the 'Name your form' modal.\n\t *\n\t * Attaches click and keydown event listeners to the save button and input field.\n\t *\n\t * @return {void}\n\t */\n\tfunction addFormNameModalEvents() {\n\t\tconst saveFormNameButton = document.getElementById( 'frm-save-form-name-button' );\n\t\tconst newFormNameInput = document.getElementById( 'frm_new_form_name_input' );\n\n\t\t// Attach click event listener\n\t\tonClickPreventDefault( saveFormNameButton, onSaveFormNameButton );\n\n\t\t// Attach keydown event listener\n\t\tnewFormNameInput.addEventListener( 'keydown', function( event ) {\n\t\t\tif ( event.key === 'Enter' ) {\n\t\t\t\tonSaveFormNameButton.call( this, event );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the click event on the save form name button.\n\t *\n\t * @param {Event} event The click event object.\n\t * @return {void}\n\t */\n\tconst onSaveFormNameButton = event => {\n\t\tconst newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim();\n\n\t\t// Prepare FormData for the POST request\n\t\tconst formData = new FormData();\n\t\tformData.append( 'form_id', urlParams.get( 'id' ) );\n\t\tformData.append( 'form_name', newFormName );\n\n\t\t// Perform the POST request\n\t\tdoJsonPost( 'rename_form', formData ).then( data => {\n\t\t\t// Remove the 'new_template' parameter from the URL and update the browser history\n\t\t\turlParams.delete( 'new_template' );\n\t\t\tcurrentURL.search = urlParams.toString();\n\t\t\thistory.replaceState( {}, '', currentURL.toString() );\n\n\t\t\tif ( null !== document.getElementById( 'frm_notification_settings' ) ) {\n\t\t\t\tdocument.getElementById( 'frm_form_name' ).value = newFormName;\n\t\t\t\tdocument.getElementById( 'frm_form_key' ).value = data.form_key;\n\t\t\t}\n\n\t\t\t// Trigger the 'Save' button click using jQuery\n\t\t\tjQuery( '#frm-publishing' ).find( '.frm_button_submit' ).trigger( 'click' );\n\t\t} );\n\t};\n\n\tfunction preFormSave( b ) {\n\t\tremoveWPUnload();\n\t\tif ( jQuery( 'form.inplace_form' ).length ) {\n\t\t\tjQuery( '.inplace_save, .postbox' ).trigger( 'click' );\n\t\t}\n\n\t\tif ( b.classList.contains( 'frm_button_submit' ) ) {\n\t\t\tb.classList.add( 'frm_loading_form' );\n\t\t} else {\n\t\t\tb.classList.add( 'frm_loading_button' );\n\t\t}\n\t\tb.setAttribute( 'aria-busy', 'true' );\n\n\t\tadjustFormatInputBeforeSave();\n\t}\n\n\t/**\n\t * Updates the format input based on the selected format type from dropdowns during the form save process.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction adjustFormatInputBeforeSave() {\n\t\tconst formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' );\n\t\tconst valueMap = {\n\t\t\tnone: '',\n\t\t\tinternational: 'international',\n\t\t\tcurrency: 'currency',\n\t\t\tnumber: 'number'\n\t\t};\n\n\t\tformatTypes.forEach( formatType => {\n\t\t\tconst value = formatType.value;\n\t\t\tif ( value in valueMap ) {\n\t\t\t\tconst formatInput = document.getElementById( `frm_format_${ formatType.dataset.fieldId }` );\n\t\t\t\tformatInput.value = valueMap[ value ];\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterFormSave( button ) {\n\t\tbutton.classList.remove( 'frm_loading_form' );\n\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\tresetOptionTextDetails();\n\t\tfieldsUpdated = 0;\n\t\tbutton.setAttribute( 'aria-busy', 'false' );\n\n\t\tsetTimeout( function() {\n\t\t\tjQuery( '.frm_updated_message' ).fadeOut( 'slow', function() {\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t\t} );\n\t\t}, 5000 );\n\t}\n\n\tfunction initUpgradeModal() {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.initUpgradeModal();\n\t}\n\n\tfunction addOneClick( element, type, upgradeLabel ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\tupgradePopup.addOneClick( element, type, upgradeLabel );\n\t}\n\n\t/**\n\t * Opens a basic modal with the given title and content.\n\t *\n\t * @param {Event} event The event object.\n\t * @return {void}\n\t */\n\tfunction showBasicModal( event ) {\n\t\tconst button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' );\n\t\tif ( ! button ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { modalTitle, modalContent } = button.dataset;\n\t\tif ( ! modalTitle || ! modalContent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmBasicModal',\n\t\t\t{\n\t\t\t\ttitle: modalTitle,\n\t\t\t\tcontent: div( {\n\t\t\t\t\tclassName: 'inside',\n\t\t\t\t\tchild: span( modalContent ),\n\t\t\t\t} ),\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction getRequiredLicenseFromTrigger( element ) {\n\t\tif ( element.dataset.requires ) {\n\t\t\treturn element.dataset.requires;\n\t\t}\n\t\treturn 'Pro';\n\t}\n\n\tfunction populateUpgradeTab( element ) {\n\t\tconst title = element.dataset.upgrade;\n\n\t\tconst tab = element.getAttribute( 'href' ).replace( '#', '' );\n\t\tconst container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( container.querySelector( '.frm-upgrade-message' ) ) {\n\t\t\t// Tab has already been populated.\n\t\t\treturn;\n\t\t}\n\n\t\tconst h2 = container.querySelector( 'h2' );\n\t\th2.style.borderBottom = 'none';\n\n\t\t/* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */\n\t\th2.textContent = sprintf( __( '%s are not installed', 'formidable' ), title );\n\n\t\tcontainer.classList.add( 'frmcenter' );\n\n\t\tconst upgradeModal = document.getElementById( 'frm_upgrade_modal' );\n\t\tappendClonedModalElementToContainer( 'frm-oneclick' );\n\t\tappendClonedModalElementToContainer( 'frm-addon-status' );\n\n\t\t// Borrow the call to action from the Upgrade upgradeModal which should exist on the settings page (it is still used for other upgrades including Actions).\n\t\tconst upgradeModalLink = upgradeModal.querySelector( '.frm-upgrade-link' );\n\t\tif ( upgradeModalLink ) {\n\t\t\tlet upgradeButton;\n\t\t\tlet upgradeActions = upgradeModalLink.closest( '.frm-upgrade-modal-actions' );\n\t\t\tif ( upgradeActions ) {\n\t\t\t\tupgradeActions = upgradeActions.cloneNode( true );\n\t\t\t\tupgradeButton = upgradeActions.querySelector( '.frm-upgrade-link' );\n\t\t\t} else {\n\t\t\t\tupgradeButton = upgradeModalLink.cloneNode( true );\n\t\t\t}\n\t\t\tconst level = upgradeButton.querySelector( '.license-level' );\n\t\t\tif ( level ) {\n\t\t\t\tlevel.textContent = getRequiredLicenseFromTrigger( element );\n\t\t\t}\n\t\t\tcontainer.appendChild( upgradeActions || upgradeButton );\n\n\t\t\t// Maybe append the secondary \"Already purchased?\" link from the upgradeModal as well.\n\t\t\tif ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {\n\t\t\t\tcontainer.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );\n\t\t\t}\n\n\t\t\tappendClonedModalElementToContainer( 'frm-oneclick-button' );\n\t\t}\n\n\t\tappendClonedModalElementToContainer( 'frm-upgrade-message' );\n\n\t\tlet upgradeLabel = element.dataset.message;\n\n\t\tif ( upgradeLabel === undefined ) {\n\t\t\tupgradeLabel = element.dataset.upgrade;\n\t\t}\n\t\taddOneClick( element, 'tab', upgradeLabel );\n\n\t\tif ( element.dataset.screenshot ) {\n\t\t\tcontainer.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );\n\t\t}\n\n\t\tfunction appendClonedModalElementToContainer( className ) {\n\t\t\tcontainer.appendChild( upgradeModal.querySelector( '.' + className ).cloneNode( true ) );\n\t\t}\n\t}\n\n\tfunction getScreenshotWrapper( screenshot ) {\n\t\tconst folderUrl = frmGlobal.url + '/images/screenshots/';\n\t\tconst wrapper = div( {\n\t\t\tclassName: 'frm-settings-screenshot-wrapper',\n\t\t\tchildren: [\n\t\t\t\tgetToolbar(),\n\t\t\t\tdiv( { child: img( { src: folderUrl + screenshot } ) } )\n\t\t\t]\n\t\t} );\n\n\t\tfunction getToolbar() {\n\t\t\tconst children = getColorIcons();\n\t\t\tchildren.push( img( { src: frmGlobal.url + '/images/tab.svg' } ) );\n\t\t\treturn div( {\n\t\t\t\tclassName: 'frm-settings-screenshot-toolbar',\n\t\t\t\tchildren\n\t\t\t} );\n\t\t}\n\n\t\tfunction getColorIcons() {\n\t\t\treturn [ '#ED8181', '#EDE06A', '#80BE30' ].map(\n\t\t\t\tcolor => {\n\t\t\t\t\tconst circle = div( { className: 'frm-minmax-icon' } );\n\t\t\t\t\tcircle.style.backgroundColor = color;\n\t\t\t\t\treturn circle;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t/* Form settings */\n\n\tfunction showInputIcon( parentClass ) {\n\t\tif ( typeof parentClass === 'undefined' ) {\n\t\t\tparentClass = '';\n\t\t}\n\t\tmaybeAddFieldSelection( parentClass );\n\t\tjQuery( parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) input,' + parentClass + ' .frm_has_shortcodes:not(.frm-with-right-icon) textarea' ).wrap( '' ).before( '' );\n\t}\n\n\t/**\n\t * For reverse compatibility. Check for fields that were\n\t * using the old sidebar.\n\t */\n\tfunction maybeAddFieldSelection( parentClass ) {\n\t\tlet i,\n\t\t\tmissingClass = jQuery( parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_message, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_to, ' + parentClass + ' :not(.frm_has_shortcodes) .frm_not_email_subject' );\n\t\tfor ( i = 0; i < missingClass.length; i++ ) {\n\t\t\tmissingClass[ i ].parentNode.classList.add( 'frm_has_shortcodes' );\n\t\t}\n\t}\n\n\tfunction showSuccessOpt() {\n\t\t/*jshint validthis:true */\n\t\tlet c = 'success';\n\t\tif ( this.name === 'options[edit_action]' ) {\n\t\t\tc = 'edit';\n\t\t}\n\t\tconst v = jQuery( this ).val();\n\t\tjQuery( '.' + c + '_action_box' ).hide();\n\t\tif ( v === 'redirect' ) {\n\t\t\tjQuery( '.' + c + '_action_redirect_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else if ( v === 'page' ) {\n\t\t\tjQuery( '.' + c + '_action_page_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( '.' + c + '_action_message_box.' + c + '_action_box' ).fadeIn( 'slow' );\n\t\t}\n\t}\n\n\tfunction copyFormAction( event ) {\n\t\tif ( waitForActionToLoadBeforeCopy( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetSettings = event.target.closest( '.frm_form_action_settings' );\n\t\tconst wysiwygs = targetSettings.querySelectorAll( '.wp-editor-area' );\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Temporary remove TinyMCE before cloning to avoid TinyMCE conflicts.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\ttinymce.EditorManager.execCommand( 'mceRemoveEditor', true, wysiwyg.id );\n\t\t\t} );\n\t\t}\n\n\t\tconst $action = jQuery( targetSettings ).clone();\n\t\tconst currentID = $action.attr( 'id' ).replace( 'frm_form_action_', '' );\n\t\tconst newID = newActionId( currentID );\n\n\t\t$action.find( '.frm_action_id, .frm-btn-group' ).remove();\n\t\t$action.find( 'input[name$=\"[' + currentID + '][ID]\"]' ).val( '' );\n\t\t$action.find( '.widget-inside' ).hide();\n\n\t\t// the .html() gets original values, so they need to be set\n\t\t$action.find( 'input[type=text], textarea, input[type=number]' ).prop( 'defaultValue', function() {\n\t\t\treturn this.value;\n\t\t} );\n\n\t\t$action.find( 'input[type=checkbox], input[type=radio]' ).prop( 'defaultChecked', function() {\n\t\t\treturn this.checked;\n\t\t} );\n\n\t\tconst rename = new RegExp( '\\\\[' + currentID + '\\\\]', 'g' );\n\t\tconst reid = new RegExp( '_' + currentID + '\"', 'g' );\n\t\tconst reclass = new RegExp( '-' + currentID + '\"', 'g' );\n\t\tconst revalue = new RegExp( '\"' + currentID + '\"', 'g' ); // if a field id matches, this could cause trouble\n\n\t\tlet html = $action.html().replace( rename, '[' + newID + ']' ).replace( reid, '_' + newID + '\"' );\n\t\thtml = html.replace( reclass, '-' + newID + '\"' ).replace( revalue, '\"' + newID + '\"' );\n\n\t\tconst newAction = div( {\n\t\t\tid: 'frm_form_action_' + newID,\n\t\t\tclassName: $action.get( 0 ).className\n\t\t} );\n\t\tnewAction.setAttribute( 'data-actionkey', newID );\n\t\tnewAction.innerHTML = html;\n\t\tnewAction.querySelectorAll( '.wp-editor-wrap, .wp-editor-wrap *' ).forEach(\n\t\t\telement => {\n\t\t\t\tif ( 'string' === typeof element.className ) {\n\t\t\t\t\telement.className = element.className.replace( currentID, newID );\n\t\t\t\t}\n\t\t\t\telement.id = element.id.replace( currentID, newID );\n\t\t\t}\n\t\t);\n\t\tnewAction.classList.remove( 'open' );\n\t\tdocument.getElementById( 'frm_notification_settings' ).appendChild( newAction );\n\n\t\tif ( wysiwygs.length ) {\n\t\t\t// Re-initialize the original wysiwyg which was removed before cloning.\n\t\t\twysiwygs.forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\n\t\t\tnewAction.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\t\tfrmDom.wysiwyg.init( wysiwyg );\n\t\t\t} );\n\t\t}\n\n\t\tif ( newAction.classList.contains( 'frm_single_on_submit_settings' ) ) {\n\t\t\tconst autocompleteInput = newAction.querySelector( 'input.frm-page-search' );\n\t\t\tif ( autocompleteInput ) {\n\t\t\t\tinitAutocomplete( newAction );\n\t\t\t}\n\t\t}\n\n\t\tinitiateMultiselect();\n\n\t\tconst hookName = 'frm_after_duplicate_action';\n\t\twp.hooks.doAction( hookName, newAction );\n\t}\n\n\tfunction waitForActionToLoadBeforeCopy( element ) {\n\t\tlet $trigger = jQuery( element ),\n\t\t\t$original = $trigger.closest( '.frm_form_action_settings' ),\n\t\t\t$inside = $original.find( '.widget-inside' ),\n\t\t\t$top;\n\n\t\tif ( $inside.find( 'p, div, table' ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t$top = $original.find( '.widget-top' );\n\t\t$top.on( 'frm-action-loaded', function() {\n\t\t\t$trigger.trigger( 'click' );\n\t\t\t$original.removeClass( 'open' );\n\t\t\t$inside.hide();\n\t\t} );\n\t\t$top.trigger( 'click' );\n\t\treturn true;\n\t}\n\n\tfunction newActionId( currentID ) {\n\t\tlet newID = parseInt( currentID, 10 ) + 11;\n\t\tconst exists = document.getElementById( 'frm_form_action_' + newID );\n\t\tif ( exists !== null ) {\n\t\t\tnewID++;\n\t\t\tnewID = newActionId( newID );\n\t\t}\n\t\treturn newID;\n\t}\n\n\tfunction addFormAction() {\n\t\t/*jshint validthis:true */\n\t\tconst type = jQuery( this ).data( 'actiontype' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst actionId = getNewActionId();\n\t\tconst formId = thisFormId;\n\n\t\tconst placeholderSetting = document.createElement( 'div' );\n\t\tplaceholderSetting.classList.add( 'frm_single_' + type + '_settings' );\n\n\t\tconst actionsList = document.getElementById( 'frm_notification_settings' );\n\t\tactionsList.appendChild( placeholderSetting );\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_action',\n\t\t\t\ttype: type,\n\t\t\t\tlist_id: actionId,\n\t\t\t\tform_id: formId,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: handleAddFormActionSuccess\n\t\t} );\n\n\t\tfunction handleAddFormActionSuccess( html ) {\n\t\t\tfieldUpdated();\n\t\t\tplaceholderSetting.remove();\n\n\t\t\tcloseOpenActions();\n\n\t\t\tconst newActionContainer = div();\n\t\t\tnewActionContainer.innerHTML = html;\n\n\t\t\tconst widgetTop = newActionContainer.querySelector( '.widget-top' );\n\t\t\tArray.from( newActionContainer.children ).forEach( child => actionsList.appendChild( child ) );\n\n\t\t\tjQuery( '.frm_form_action_settings' ).fadeIn( 'slow' );\n\n\t\t\tconst newAction = document.getElementById( 'frm_form_action_' + actionId );\n\n\t\t\tnewAction.classList.add( 'open' );\n\t\t\tdocument.getElementById( 'post-body-content' ).scroll( {\n\t\t\t\ttop: newAction.offsetTop + 10,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'smooth'\n\t\t\t} );\n\n\t\t\t// Check if icon should be active\n\t\t\tcheckActiveAction( type );\n\t\t\tshowInputIcon( '#frm_form_action_' + actionId );\n\n\t\t\tinitiateMultiselect();\n\t\t\tinitAutocomplete( newAction );\n\n\t\t\tif ( widgetTop ) {\n\t\t\t\tjQuery( widgetTop ).trigger( 'frm-action-loaded' );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires after added a new form action.\n\t\t\t *\n\t\t\t * @since 5.5.4\n\t\t\t *\n\t\t\t * @param {HTMLElement} formAction Form action element.\n\t\t\t */\n\t\t\tfrmAdminBuild.hooks.doAction( 'frm_added_form_action', newAction );\n\t\t}\n\t}\n\n\tfunction closeOpenActions() {\n\t\tdocument.querySelectorAll( '.frm_form_action_settings.open' ).forEach(\n\t\t\tsetting => setting.classList.remove( 'open' )\n\t\t);\n\t}\n\n\tfunction toggleActionGroups() {\n\t\t/*jshint validthis:true */\n\t\tconst actions = document.getElementById( 'frm_email_addon_menu' ).classList,\n\t\t\tsearch = document.getElementById( 'actions-search-input' );\n\n\t\tif ( actions.contains( 'frm-all-actions' ) ) {\n\t\t\tactions.remove( 'frm-all-actions' );\n\t\t\tactions.add( 'frm-limited-actions' );\n\t\t} else {\n\t\t\tactions.add( 'frm-all-actions' );\n\t\t\tactions.remove( 'frm-limited-actions' );\n\t\t}\n\n\t\t// Reset search.\n\t\tsearch.value = '';\n\t\ttriggerEvent( search, 'input' );\n\t}\n\n\tfunction getNewActionId() {\n\t\tlet actionSettings = document.querySelectorAll( '.frm_form_action_settings' ),\n\t\t\tlen = getNewRowId( actionSettings, 'frm_form_action_' );\n\t\tif ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) {\n\t\t\tlen = len + 100;\n\t\t}\n\t\tif ( lastNewActionIdReturned >= len ) {\n\t\t\tlen = lastNewActionIdReturned + 1;\n\t\t}\n\t\tlastNewActionIdReturned = len;\n\t\treturn len;\n\t}\n\n\tfunction clickAction( obj ) {\n\t\tconst $thisobj = jQuery( obj );\n\n\t\tif ( obj.className.indexOf( 'selected' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( obj.className.indexOf( 'edit_field_type_end_divider' ) !== -1 && $thisobj.closest( '.edit_field_type_divider' ).hasClass( 'no_repeat_section' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdeselectFields();\n\t\t$thisobj.addClass( 'selected' );\n\t\tshowFieldOptions( obj );\n\t}\n\n\t/**\n\t * When a field is selected, show the field settings in the sidebar.\n\t */\n\tfunction showFieldOptions( obj ) {\n\t\tlet i, singleField,\n\t\t\tfieldId = obj.getAttribute( 'data-fid' ),\n\t\t\tfieldType = obj.getAttribute( 'data-type' ),\n\t\t\tallFieldSettings = document.querySelectorAll( '.frm-single-settings:not(.frm_hidden)' );\n\n\t\tfor ( i = 0; i < allFieldSettings.length; i++ ) {\n\t\t\tallFieldSettings[ i ].classList.add( 'frm_hidden' );\n\t\t}\n\n\t\tsingleField = document.getElementById( 'frm-single-settings-' + fieldId );\n\t\tmoveFieldSettings( singleField );\n\n\t\tif ( fieldType && 'quantity' === fieldType ) {\n\t\t\tpopProductFields( jQuery( singleField ).find( '.frmjs_prod_field_opt' )[ 0 ] );\n\t\t}\n\n\t\t// Scroll settings panel to top\n\t\tdocument.querySelector( '.frm-settings-panel.frm-scrollbar-wrapper' )?.scrollTo( {\n\t\t\ttop: 0,\n\t\t\tbehavior: 'instant'\n\t\t} );\n\n\t\tsingleField.classList.remove( 'frm_hidden' );\n\t\tdocument.getElementById( 'frm-options-panel-tab' ).click();\n\n\t\tconst editor = singleField.querySelector( '.wp-editor-area' );\n\t\tif ( editor ) {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\teditor,\n\t\t\t\t{ setupCallback: setupTinyMceEventHandlers }\n\t\t\t);\n\t\t}\n\n\t\twp.hooks.doAction( 'frmShowedFieldSettings', obj, singleField );\n\t\tmaybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField );\n\t}\n\n\tfunction maybeAddShortcodesModalTriggerIcon( fieldType, fieldId, singleField ) {\n\t\tif ( ! shouldAddShortcodesModalTriggerIcon( fieldType ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fieldSettingsSelector = '#frm-single-settings-' + fieldId;\n\t\tif ( document.querySelector( fieldSettingsSelector + ' .frm-show-box' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tsingleField.querySelector( '.wp-editor-container' )?.classList.add( 'frm_has_shortcodes' );\n\n\t\tconst wrapTextareaWithIconContainer = () => {\n\t\t\tconst textareas = document.querySelectorAll( fieldSettingsSelector + ' .frm_has_shortcodes textarea' );\n\t\t\ttextareas.forEach( textarea => {\n\t\t\t\tconst wrapperSpan = span( { className: 'frm-with-right-icon' } );\n\t\t\t\ttextarea.parentNode.insertBefore( wrapperSpan, textarea );\n\t\t\t\twrapperSpan.appendChild( createModalTriggerIcon() );\n\t\t\t\twrapperSpan.appendChild( textarea );\n\t\t\t} );\n\t\t};\n\n\t\tconst createModalTriggerIcon = () => {\n\t\t\treturn frmDom.svg( { href: '#frm_more_horiz_solid_icon', classList: [ 'frm-show-box' ] } );\n\t\t};\n\n\t\twrapTextareaWithIconContainer();\n\t}\n\n\tfunction shouldAddShortcodesModalTriggerIcon( fieldType ) {\n\t\tconst fieldsWithShortcodesBox = wp.hooks.applyFilters( 'frm_fields_with_shortcode_popup', [ 'html' ] );\n\n\t\treturn fieldsWithShortcodesBox.includes( fieldType );\n\t}\n\n\tfunction setupTinyMceEventHandlers( editor ) {\n\t\teditor.on( 'Change', function() {\n\t\t\thandleTinyMceChange( editor );\n\t\t} );\n\t}\n\n\tfunction handleTinyMceChange( editor ) {\n\t\tif ( ! isTinyMceActive() || tinyMCE.activeEditor.isHidden() ) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.targetElm.value = editor.getContent();\n\t\tjQuery( editor.targetElm ).trigger( 'change' );\n\t}\n\n\tfunction isTinyMceActive() {\n\t\tlet activeSettings, wrapper;\n\n\t\tactiveSettings = document.querySelector( '.frm-single-settings:not(.frm_hidden)' );\n\t\tif ( ! activeSettings ) {\n\t\t\treturn false;\n\t\t}\n\n\t\twrapper = activeSettings.querySelector( '.wp-editor-wrap' );\n\t\treturn null !== wrapper && wrapper.classList.contains( 'tmce-active' );\n\t}\n\n\t/**\n\t * Move the settings to the sidebar the first time they are changed or selected.\n\t * Keep the end marker at the end of the form.\n\t */\n\tfunction moveFieldSettings( singleField ) {\n\t\tlet self = this;\n\n\t\tif ( singleField === null ) {\n\t\t\t// The field may have not been loaded yet via ajax.\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fragment = document.createDocumentFragment();\n\n\t\tthis.initOnceInAllInstances = function() {\n\t\t\tif ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// perform a single search in the DOM and use it across all moveFieldSettings instances\n\t\t\tmoveFieldSettings.prototype.endMarker = document.getElementById( 'frm-end-form-marker' );\n\t\t};\n\n\t\tthis.append = function( field ) {\n\t\t\tconst classname = null !== field ? field.parentElement.classList : '';\n\t\t\tif ( null === field || ( ! classname.contains( 'frm_field_box' ) && ! classname.contains( 'divider_section_only' ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.fragment.appendChild( field );\n\t\t};\n\n\t\tthis.moveFields = function() {\n\t\t\tbuilderForm.insertBefore( self.fragment, moveFieldSettings.prototype.endMarker );\n\t\t};\n\n\t\tthis.initOnceInAllInstances();\n\n\t\t// Move the field if function is called as function with a singleField passed as arg.\n\t\t// In this particular case only 1 field is needed to be moved so the field will get instantly moved.\n\t\t// \"singleField\" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through \"append\" and move these all at once via \"moveFields\".\n\t\tif ( 'undefined' !== typeof singleField ) {\n\t\t\tthis.append( singleField );\n\t\t\tthis.moveFields();\n\t\t\treturn;\n\t\t}\n\n\t\treturn {\n\t\t\tappend: this.append,\n\t\t\tmoveFields: this.moveFields\n\t\t};\n\t}\n\n\tfunction showEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' );\n\t\tconst rowType = this.getAttribute( 'data-emailrow' );\n\n\t\tjQuery( '#frm_form_action_' + actionKey + ' .frm_' + rowType + '_row' ).fadeIn( 'slow' );\n\t\tjQuery( this ).fadeOut( 'slow' );\n\t}\n\n\tfunction hideEmailRow() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\trowType = this.getAttribute( 'data-emailrow' ),\n\t\t\temailRowSelector = '.frm_' + rowType + '_row',\n\t\t\temailButtonSelector = '.frm_' + rowType + '_button';\n\n\t\tjQuery( actionBox ).find( emailButtonSelector ).fadeIn( 'slow' );\n\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow', function() {\n\t\t\tjQuery( actionBox ).find( emailRowSelector + ' input' ).val( '' );\n\t\t} );\n\t}\n\n\tfunction showEmailWarning() {\n\t\t/*jshint validthis:true */\n\t\tconst actionBox = jQuery( this ).closest( '.frm_form_action_settings' ),\n\t\t\temailRowSelector = '.frm_from_to_match_row',\n\t\t\tfromVal = actionBox.find( 'input[name$=\"[post_content][from]\"]' ).val(),\n\t\t\ttoVal = actionBox.find( 'input[name$=\"[post_content][email_to]\"]' ).val();\n\n\t\tif ( fromVal === toVal ) {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeIn( 'slow' );\n\t\t} else {\n\t\t\tjQuery( actionBox ).find( emailRowSelector ).fadeOut( 'slow' );\n\t\t}\n\t}\n\n\tfunction checkActiveAction( type ) {\n\t\tconst actionTriggers = document.querySelectorAll( '.frm_' + type + '_action' );\n\n\t\tif ( isAtLimitForActionType( type ) ) {\n\t\t\tconst addAlreadyUsedClass = getLimitForActionType( type ) > 0;\n\t\t\tmarkActionTriggersInactive( actionTriggers, addAlreadyUsedClass );\n\t\t\treturn;\n\t\t}\n\n\t\tmarkActionTriggersActive( actionTriggers );\n\t}\n\n\tfunction markActionTriggersActive( triggers ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\tif ( trigger.querySelector( '.frm_show_upgrade' ) ) {\n\t\t\t\t\t// Prevent disabled action becoming active.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttrigger.classList.remove( 'frm_inactive_action', 'frm_already_used' );\n\t\t\t\ttrigger.classList.add( 'frm_active_action' );\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction markActionTriggersInactive( triggers, addAlreadyUsedClass ) {\n\t\ttriggers.forEach(\n\t\t\ttrigger => {\n\t\t\t\ttrigger.classList.remove( 'frm_active_action' );\n\t\t\t\ttrigger.classList.add( 'frm_inactive_action' );\n\t\t\t\tif ( addAlreadyUsedClass ) {\n\t\t\t\t\ttrigger.classList.add( 'frm_already_used' );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction isAtLimitForActionType( type ) {\n\t\tlet atLimit = getNumberOfActionsForType( type ) >= getLimitForActionType( type );\n\n\t\tconst hookName = 'frm_action_at_limit';\n\t\tconst hookArgs = { type };\n\t\tatLimit = wp.hooks.applyFilters( hookName, atLimit, hookArgs );\n\n\t\treturn atLimit;\n\t}\n\n\tfunction getLimitForActionType( type ) {\n\t\treturn parseInt( jQuery( '.frm_' + type + '_action' ).data( 'limit' ), 10 );\n\t}\n\n\tfunction getNumberOfActionsForType( type ) {\n\t\treturn jQuery( '.frm_single_' + type + '_settings' ).length;\n\t}\n\n\tfunction actionLimitMessage() {\n\t\tlet message = frmAdminJs.only_one_action;\n\t\tlet limit = this.dataset.limit;\n\n\t\tif ( 'undefined' !== typeof limit ) {\n\t\t\tlimit = parseInt( limit );\n\t\t\tif ( limit > 1 ) {\n\t\t\t\tmessage = message.replace( 1, limit ).trim();\n\t\t\t} else {\n\t\t\t\tmessage += ' ' + frmAdminJs.edit_action_text;\n\t\t\t}\n\t\t}\n\n\t\tinfoModal( message );\n\t}\n\n\tfunction addFormLogicRow() {\n\t\t/*jshint validthis:true */\n\t\tconst id = jQuery( this ).data( 'emailkey' );\n\t\tconst type = jQuery( this ).closest( '.frm_form_action_settings' ).find( '.frm_action_name' ).val();\n\t\tconst formId = document.getElementById( 'form_id' ).value;\n\t\tconst logicRowsContainer = document.getElementById( 'frm_logic_row_' + id );\n\t\tconst logicRows = logicRowsContainer.querySelectorAll( '.frm_logic_row' );\n\t\tconst newRowID = getNewRowId( logicRows, 'frm_logic_' + id + '_' );\n\t\tconst placeholder = div( {\n\t\t\tid: 'frm_logic_' + id + '_' + newRowID,\n\t\t\tclassName: 'frm_logic_row frm_hidden'\n\t\t} );\n\n\t\tlogicRowsContainer.appendChild( placeholder );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_form_logic_row',\n\t\t\t\temail_id: id,\n\t\t\t\tform_id: formId,\n\t\t\t\tmeta_name: newRowID,\n\t\t\t\ttype: type,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tjQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => {\n\t\t\t\t\tplaceholder.insertAdjacentHTML( 'beforebegin', html );\n\t\t\t\t\tplaceholder.remove();\n\n\t\t\t\t\t// Show conditional logic options after \"Add Conditional Logic\" is clicked.\n\t\t\t\t\tjQuery( logicRowsContainer ).parent( '.frm_logic_rows' ).fadeIn( 'slow' );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t}\n\n\tfunction checkDupPost() {\n\t\t/*jshint validthis:true */\n\t\tconst postField = jQuery( 'select.frm_single_post_field' );\n\t\tpostField.css( 'border-color', '' );\n\t\tconst $t = this;\n\t\tconst v = jQuery( $t ).val();\n\t\tif ( v === '' || v === 'checkbox' ) {\n\t\t\treturn false;\n\t\t}\n\t\tpostField.each( function() {\n\t\t\tif ( jQuery( this ).val() === v && this.name !== $t.name ) {\n\t\t\t\tthis.style.borderColor = 'red';\n\t\t\t\tjQuery( $t ).val( '' );\n\t\t\t\tinfoModal( frmAdminJs.field_already_used );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction togglePostContent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tif ( '' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt, select.frm_dyncontent_opt' ).hide().val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t} else if ( 'post_content' === v ) {\n\t\t\tjQuery( '.frm_post_content_opt' ).show();\n\t\t\tjQuery( '.frm_dyncontent_opt' ).hide();\n\t\t\tjQuery( 'select.frm_dyncontent_opt' ).val( '' );\n\t\t} else {\n\t\t\tjQuery( '.frm_post_content_opt' ).hide().val( '' );\n\t\t\tjQuery( 'select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt' ).show();\n\t\t}\n\t}\n\n\tfunction fillDyncontent() {\n\t\t/*jshint validthis:true */\n\t\tconst v = jQuery( this ).val();\n\t\tconst $dyn = jQuery( document.getElementById( 'frm_dyncontent' ) );\n\t\tif ( '' === v || 'new' === v ) {\n\t\t\t$dyn.val( '' );\n\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t} else {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce },\n\t\t\t\tsuccess: function( val ) {\n\t\t\t\t\t$dyn.val( val );\n\t\t\t\t\tjQuery( '.frm_dyncontent_opt' ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction switchPostType() {\n\t\t/*jshint validthis:true */\n\t\t// update all rows of categories/taxonomies\n\t\tlet curSelect, newSelect,\n\t\t\tcatRows = document.getElementById( 'frm_posttax_rows' ).childNodes,\n\t\t\tpostParentField = document.querySelector( '.frm_post_parent_field' ),\n\t\t\tpostMenuOrderField = document.querySelector( '.frm_post_menu_order_field' ),\n\t\t\tpostType = this.value;\n\n\t\t// Get new category/taxonomy options\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_replace_posttax_options',\n\t\t\t\tpost_type: postType,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\t// Loop through each category row, and replace the first dropdown\n\t\t\t\tfor ( i = 0; i < catRows.length; i++ ) {\n\t\t\t\t\t// Check if current element is a div\n\t\t\t\t\tif ( catRows[ i ].tagName !== 'DIV' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get current category select\n\t\t\t\t\tcurSelect = catRows[ i ].getElementsByTagName( 'select' )[ 0 ];\n\n\t\t\t\t\t// Set up new select\n\t\t\t\t\tnewSelect = document.createElement( 'select' );\n\t\t\t\t\tnewSelect.innerHTML = html;\n\t\t\t\t\tnewSelect.className = curSelect.className;\n\t\t\t\t\tnewSelect.name = curSelect.name;\n\n\t\t\t\t\t// Replace the old select with the new select\n\t\t\t\t\tcatRows[ i ].replaceChild( newSelect, curSelect );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Get new post parent option.\n\t\tif ( postParentField ) {\n\t\t\tgetActionOption(\n\t\t\t\tpostParentField,\n\t\t\t\tpostType,\n\t\t\t\t'frm_get_post_parent_option',\n\t\t\t\tfunction( response, optName ) {\n\t\t\t\t\t// The replaced string is declared in FrmProFormActionController::ajax_get_post_menu_order_option() in the pro version.\n\t\t\t\t\tpostParentField.querySelector( '.frm_post_parent_opt_wrapper' ).innerHTML = response.replaceAll( 'REPLACETHISNAME', optName );\n\t\t\t\t\tinitAutocomplete( postParentField );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif ( postMenuOrderField ) {\n\t\t\tgetActionOption( postMenuOrderField, postType, 'frm_should_use_post_menu_order_option' );\n\t\t}\n\t}\n\n\tfunction getActionOption( field, postType, action, successHandler ) {\n\t\tconst opt = field.querySelector( '.frm_autocomplete_value_input' ) || field.querySelector( 'select' ),\n\t\t\toptName = opt.getAttribute( 'name' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\taction: action,\n\t\t\t\tpost_type: postType,\n\t\t\t\t_wpnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: response => {\n\t\t\t\tif ( 'string' !== typeof response ) {\n\t\t\t\t\tconsole.error( response );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( '0' === response ) {\n\t\t\t\t\t// This post type does not support this field.\n\t\t\t\t\tfield.classList.add( 'frm_hidden' );\n\t\t\t\t\tfield.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfield.classList.remove( 'frm_hidden' );\n\n\t\t\t\tif ( 'function' === typeof successHandler ) {\n\t\t\t\t\tsuccessHandler( response, optName );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: response => console.error( response )\n\t\t} );\n\t}\n\n\tfunction addPosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'tax', this );\n\t}\n\n\tfunction addPostmetaRow() {\n\t\t/*jshint validthis:true */\n\t\taddPostRow( 'meta', this );\n\t}\n\n\tfunction addPostRow( type, button ) {\n\t\tlet name,\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\tsettings = jQuery( button ).closest( '.frm_form_action_settings' ),\n\t\t\tkey = settings.data( 'actionkey' ),\n\t\t\tpostType = settings.find( '.frm_post_type' ).val(),\n\t\t\tmetaName = 0,\n\t\t\tpostTypeRows = document.querySelectorAll( '.frm_post' + type + '_row' );\n\n\t\tif ( postTypeRows.length ) {\n\t\t\tname = postTypeRows[ postTypeRows.length - 1 ].id.replace( 'frm_post' + type + '_', '' );\n\t\t\tif ( isNumeric( name ) ) {\n\t\t\t\tmetaName = 1 + parseInt( name, 10 );\n\t\t\t} else {\n\t\t\t\tmetaName = 1;\n\t\t\t}\n\t\t}\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_post' + type + '_row',\n\t\t\t\tform_id: id,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\ttax_key: metaName,\n\t\t\t\tpost_type: postType,\n\t\t\t\taction_key: key,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tlet cfOpts, optIndex;\n\t\t\t\tjQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html );\n\t\t\t\tjQuery( '.frm_add_post' + type + '_row.button' ).hide();\n\n\t\t\t\tif ( type === 'meta' ) {\n\t\t\t\t\tjQuery( '.frm_name_value' ).show();\n\t\t\t\t\tcfOpts = document.querySelectorAll( '.frm_toggle_cf_opts' );\n\t\t\t\t\tfor ( optIndex = 0; optIndex < cfOpts.length - 1; ++optIndex ) {\n\t\t\t\t\t\tcfOpts[ optIndex ].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t} else if ( type === 'tax' ) {\n\t\t\t\t\tjQuery( '.frm_posttax_labels' ).show();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction isNumeric( value ) {\n\t\treturn ! isNaN( parseFloat( value ) ) && isFinite( value );\n\t}\n\n\tfunction changePosttaxRow() {\n\t\t/*jshint validthis:true */\n\t\tif ( ! jQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( this ).closest( '.frm_posttax_row' ).find( '.frm_posttax_opt_list' ).html( '
                                                                                                  ' );\n\n\t\tconst postType = jQuery( this ).closest( '.frm_form_action_settings' ).find( 'select[name$=\"[post_content][post_type]\"]' ).val(),\n\t\t\tactionKey = jQuery( this ).closest( '.frm_form_action_settings' ).data( 'actionkey' ),\n\t\t\ttaxKey = jQuery( this ).closest( '.frm_posttax_row' ).attr( 'id' ).replace( 'frm_posttax_', '' ),\n\t\t\tmetaName = jQuery( this ).val(),\n\t\t\tshowExclude = jQuery( document.getElementById( taxKey + '_show_exclude' ) ).is( ':checked' ) ? 1 : 0,\n\t\t\tfieldId = jQuery( 'select[name$=\"[post_category][' + taxKey + '][field_id]\"]' ).val(),\n\t\t\tid = jQuery( 'input[name=\"id\"]' ).val();\n\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'frm_add_posttax_row',\n\t\t\t\tform_id: id,\n\t\t\t\tpost_type: postType,\n\t\t\t\ttax_key: taxKey,\n\t\t\t\taction_key: actionKey,\n\t\t\t\tmeta_name: metaName,\n\t\t\t\tfield_id: fieldId,\n\t\t\t\tshow_exclude: showExclude,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t},\n\t\t\tsuccess: function( html ) {\n\t\t\t\tconst $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) );\n\t\t\t\t$tax.replaceWith( html );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toggleCfOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst row = jQuery( this ).closest( '.frm_postmeta_row' );\n\t\tconst cancel = row.find( '.frm_cancelnew' );\n\t\tconst select = row.find( '.frm_enternew' );\n\t\tif ( row.find( 'select.frm_cancelnew' ).is( ':visible' ) ) {\n\t\t\tcancel.hide();\n\t\t\tselect.show();\n\t\t} else {\n\t\t\tcancel.show();\n\t\t\tselect.hide();\n\t\t}\n\n\t\trow.find( 'input.frm_enternew, select.frm_cancelnew' ).val( '' );\n\t\treturn false;\n\t}\n\n\tfunction toggleFormOpts() {\n\t\t/*jshint validthis:true */\n\t\tconst changedOpt = jQuery( this );\n\t\tlet val = changedOpt.val();\n\t\tif ( changedOpt.attr( 'type' ) === 'checkbox' ) {\n\t\t\tif ( this.checked === false ) {\n\t\t\t\tval = '';\n\t\t\t}\n\t\t}\n\n\t\tconst toggleClass = changedOpt.data( 'toggleclass' );\n\t\tif ( val === '' ) {\n\t\t\tjQuery( '.' + toggleClass ).hide();\n\t\t} else {\n\t\t\tjQuery( '.' + toggleClass ).show();\n\t\t\tjQuery( '.hide_' + toggleClass + '_' + val ).hide();\n\t\t}\n\t}\n\n\tfunction submitSettings() {\n\t\tif ( showNameYourFormModal() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*jshint validthis:true */\n\t\tpreFormSave( this );\n\t\ttriggerSubmit( document.querySelector( '.frm_form_settings' ) );\n\t}\n\n\t/* Customization Panel */\n\tfunction insertCode( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\tinsertFieldCode( jQuery( this ), this.getAttribute( 'data-code' ) );\n\t\treturn false;\n\t}\n\n\tfunction insertFieldCode( element, variable ) {\n\t\tlet rich = false,\n\t\t\telementId = element;\n\t\tif ( typeof element === 'object' ) {\n\t\t\tif ( element.hasClass( 'frm_noallow' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' );\n\t\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\t\telementId = element.closest( 'div' ).attr( 'class' );\n\t\t\t\tif ( typeof elementId !== 'undefined' ) {\n\t\t\t\t\telementId = elementId.split( ' ' )[ 1 ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof elementId === 'undefined' ) {\n\t\t\tlet active = document.activeElement;\n\t\t\tif ( active.type === 'search' ) {\n\t\t\t\t// If the search field has focus, find the correct field.\n\t\t\t\telementId = active.id.replace( '-search-input', '' );\n\t\t\t\tif ( elementId.match( /\\d/gi ) === null ) {\n\t\t\t\t\tactive = jQuery( '.frm-single-settings:visible .' + elementId );\n\t\t\t\t\telementId = active.attr( 'id' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telementId = active.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( elementId ) {\n\t\t\trich = jQuery( '#wp-' + elementId + '-wrap.wp-editor-wrap' ).length > 0;\n\t\t}\n\n\t\tconst contentBox = jQuery( document.getElementById( elementId ) );\n\t\tif ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) {\n\t\t\t// this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field\n\t\t\tconst doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' );\n\t\t\tif ( doShortcode === 'undefined' || doShortcode !== 'no' ) {\n\t\t\t\tvariable = '[' + variable + ']';\n\t\t\t}\n\t\t}\n\n\t\tif ( rich ) {\n\t\t\twpActiveEditor = elementId;\n\t\t}\n\n\t\tif ( ! contentBox.length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( variable === '[default-html]' || variable === '[default-plain]' ) {\n\t\t\tlet p = 0;\n\t\t\tif ( variable === '[default-plain]' ) {\n\t\t\t\tp = 1;\n\t\t\t}\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_get_default_html',\n\t\t\t\t\tform_id: jQuery( 'input[name=\"id\"]' ).val(),\n\t\t\t\t\tplain_text: p,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\telementId: elementId,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tif ( rich ) {\n\t\t\t\t\t\tconst p = document.createElement( 'p' );\n\t\t\t\t\t\tp.innerText = msg;\n\t\t\t\t\t\tsend_to_editor( p.innerHTML );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinsertContent( contentBox, msg );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tvariable = maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox );\n\t\t\tif ( rich ) {\n\t\t\t\tsend_to_editor( variable );\n\t\t\t} else {\n\t\t\t\tinsertContent( contentBox, variable );\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction maybeAddSanitizeUrlToShortcodeVariable( variable, element, contentBox ) {\n\t\tif ( 'object' !== typeof element || ! ( element instanceof jQuery ) || 0 !== contentBox[ 0 ].id.indexOf( 'success_url_' ) ) {\n\t\t\treturn variable;\n\t\t}\n\n\t\telement = element[ 0 ];\n\t\tif ( ! element.closest( '#frm-insert-fields-box' ) ) {\n\t\t\t// Only add sanitize_url=1 to field shortcodes.\n\t\t\treturn variable;\n\t\t}\n\n\t\tif ( ! element.parentNode.classList.contains( 'frm_insert_url' ) ) {\n\t\t\tvariable = variable.replace( ']', ' sanitize_url=1]' );\n\t\t}\n\n\t\treturn variable;\n\t}\n\n\tfunction insertContent( contentBox, variable ) {\n\t\tif ( document.selection ) {\n\t\t\tcontentBox[ 0 ].focus();\n\t\t\tdocument.selection.createRange().text = variable;\n\t\t} else {\n\t\t\tobj = contentBox[ 0 ];\n\t\t\tconst e = obj.selectionEnd;\n\n\t\t\tvariable = maybeFormatInsertedContent( contentBox, variable, obj.selectionStart, e );\n\n\t\t\tobj.value = obj.value.substr( 0, obj.selectionStart ) + variable + obj.value.substr( obj.selectionEnd, obj.value.length );\n\n\t\t\tconst s = e + variable.length;\n\n\t\t\tmaybeRemoveLayoutClasses( obj, variable );\n\n\t\t\tobj.focus();\n\t\t\tobj.setSelectionRange( s, s );\n\t\t}\n\t\ttriggerChange( contentBox );\n\t}\n\n\t/**\n\t * When a layout class is added, remove any previous layout classes to avoid conflicts.\n\t * We only expect one layout class to exist for a given field.\n\t * For example, if a field has frm_half and we set it to frm_third, frm_half will be removed.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {HTMLElement} obj\n\t * @param {string} variable\n\t * @return {void}\n\t */\n\tfunction maybeRemoveLayoutClasses( obj, variable ) {\n\t\tif ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeClasses = obj.value.split( ' ' ).filter( isALayoutClass );\n\t\tif ( removeClasses.length ) {\n\t\t\tobj.value = maybeRemoveClasses( obj.value, removeClasses, variable.trim() );\n\t\t}\n\t}\n\n\t/**\n\t * Check if a given class is a layout class.\n\t *\n\t * @since 6.11\n\t *\n\t * @param {string} className\n\t * @return {boolean}\n\t */\n\tfunction isALayoutClass( className ) {\n\t\tlet layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ];\n\t\treturn layoutClasses.includes( className.trim() );\n\t}\n\n\t/**\n\t * @since 6.11\n\t *\n\t * @param {string} beforeValue\n\t * @param {Array} removeClasses\n\t * @param {string} variable\n\t * @return {string}\n\t */\n\tfunction maybeRemoveClasses( beforeValue, removeClasses, variable ) {\n\t\tconst currentClasses = beforeValue.split( ' ' ).filter(\n\t\t\tcurrentClass => {\n\t\t\t\tcurrentClass = currentClass.trim();\n\t\t\t\treturn currentClass.length && ! removeClasses.includes( currentClass );\n\t\t\t}\n\t\t);\n\t\tif ( ! currentClasses.includes( variable ) ) {\n\t\t\tcurrentClasses.push( variable );\n\t\t}\n\t\treturn currentClasses.join( ' ' );\n\t}\n\n\tfunction maybeFormatInsertedContent( input, textToInsert, selectionStart, selectionEnd ) {\n\t\tconst separator = input.data( 'sep' );\n\t\tif ( undefined === separator ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst value = input.val();\n\n\t\tif ( ! value.trim().length ) {\n\t\t\treturn textToInsert;\n\t\t}\n\n\t\tconst startPattern = new RegExp( separator + '\\\\s*$' );\n\t\tconst endPattern = new RegExp( '^\\\\s*' + separator );\n\n\t\tif ( value.substr( 0, selectionStart ).trim().length && false === startPattern.test( value.substr( 0, selectionStart ) ) ) {\n\t\t\ttextToInsert = separator + textToInsert;\n\t\t}\n\n\t\tif ( value.substr( selectionEnd, value.length ).trim().length && false === endPattern.test( value.substr( selectionEnd, value.length ) ) ) {\n\t\t\ttextToInsert += separator;\n\t\t}\n\n\t\treturn textToInsert;\n\t}\n\n\tfunction resetLogicBuilder() {\n\t\t/*jshint validthis:true */\n\t\tconst id = document.getElementById( 'frm-id-condition' ),\n\t\t\tkey = document.getElementById( 'frm-key-condition' );\n\n\t\tif ( this.value === 'id' ) {\n\t\t\tid.classList.remove( 'frm_hidden' );\n\t\t\tkey.classList.add( 'frm_hidden' );\n\t\t\ttriggerEvent( key, 'change' );\n\t\t} else {\n\t\t\tid.classList.add( 'frm_hidden' );\n\t\t\tkey.classList.remove( 'frm_hidden' );\n\t\t\ttriggerEvent( id, 'change' );\n\t\t}\n\t}\n\n\tfunction setLogicExample() {\n\t\tlet field, code,\n\t\t\tidKey = document.getElementById( 'frm-id-key-condition-id' ).checked ? 'frm-id-condition' : 'frm-key-condition',\n\t\t\tis = document.getElementById( 'frm-is-condition' ).value,\n\t\t\ttext = document.getElementById( 'frm-text-condition' ).value,\n\t\t\tresult = document.getElementById( 'frm-insert-condition' );\n\n\t\tidKey = document.getElementById( idKey );\n\t\tfield = idKey.options[ idKey.selectedIndex ].value;\n\t\tcode = 'if ' + field + ' ' + is + '=\"' + text + '\"]';\n\t\tresult.setAttribute( 'data-code', code + frmAdminJs.conditional_text + '[/if ' + field );\n\t\tresult.innerHTML = '[' + code + '[/if ' + field + ']';\n\t}\n\n\tfunction maybeShowModal( input ) {\n\t\tlet moreIcon;\n\t\tif ( input.parentNode.parentNode.classList.contains( 'frm_has_shortcodes' ) ) {\n\t\t\thideShortcodes();\n\t\t\tmoreIcon = getIconForInput( input );\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tmoreIcon = moreIcon.firstElementChild;\n\n\t\t\t\tif ( moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ).indexOf( 'frm_close_icon' ) === -1 ) {\n\t\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t\t}\n\t\t\t} else if ( ! moreIcon.classList.contains( 'frm_close_icon' ) ) {\n\t\t\t\tshowShortcodeBox( moreIcon, 'nofocus' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction showShortcodes( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tshowShortcodeBox( this );\n\t}\n\n\t/**\n\t * Handles 'change' event on the document.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {Event} event\n\t * @return {void}\n\t */\n\tfunction handleBuilderChangeEvent( event ) {\n\t\tmaybeShowSaveAndReloadModal( event.target );\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal if the target field's type is changed.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} target\n\t * @return {void}\n\t */\n\tfunction maybeShowSaveAndReloadModal( target ) {\n\t\tif ( ! target.id.startsWith( 'field_options_type_' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst idParts = target.id.split( '_' );\n\t\tconst fieldId = idParts.length && idParts[ idParts.length - 1 ];\n\n\t\tif ( document.querySelector( `#frm-single-settings-${ fieldId }` )?.classList.contains( `frm-type-${ target.value }` ) ) {\n\t\t\t// Do not show modal if the field type is reverted back to the original type when builder is loaded.\n\t\t\treturn;\n\t\t}\n\t\tshowSaveAndReloadModal();\n\t}\n\n\t/**\n\t * Shows 'Save and Reload' modal with the given message.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {string} message\n\t * @return {void}\n\t */\n\tfunction showSaveAndReloadModal( message ) {\n\t\tif ( 'undefined' === typeof message ) {\n\t\t\tmessage = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' );\n\t\t}\n\t\tfrmDom.modal.maybeCreateModal(\n\t\t\t'frmSaveAndReloadModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Save and Reload?', 'formidable' ),\n\t\t\t\tcontent: getModalContent(),\n\t\t\t\tfooter: getModalFooter()\n\t\t\t}\n\t\t);\n\n\t\tfunction getModalContent() {\n\t\t\tconst modalContent = div( message );\n\t\t\tmodalContent.style.padding = 'var(--gap-md)';\n\t\t\treturn modalContent;\n\t\t}\n\n\t\tfunction getModalFooter() {\n\t\t\tconst continueButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Save and Reload', 'formidable' ),\n\t\t\t\tbuttonType: 'primary'\n\t\t\t} );\n\n\t\t\tonClickPreventDefault( continueButton, () => {\n\t\t\t\tsaveAndReloadFormBuilder();\n\t\t\t} );\n\n\t\t\tconst cancelButton = frmDom.modal.footerButton( {\n\t\t\t\ttext: __( 'Cancel', 'formidable' ),\n\t\t\t\tbuttonType: 'cancel'\n\t\t\t} );\n\t\t\tcancelButton.classList.add( 'dismiss' );\n\n\t\t\treturn frmDom.div( {\n\t\t\t\tchildren: [ cancelButton, continueButton ]\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateShortcodesPopupPosition( target ) {\n\t\tlet moreIcon;\n\t\tif ( target instanceof Event ) {\n\t\t\tconst useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' );\n\t\t\tconst openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' );\n\t\t\tif ( 'undefined' === typeof openTrigger ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmoreIcon = openTrigger.parentElement;\n\t\t} else {\n\t\t\tmoreIcon = target;\n\t\t}\n\n\t\tconst moreIconPosition = moreIcon.getBoundingClientRect();\n\t\tconst shortCodesPopup = document.getElementById( 'frm_adv_info' );\n\t\tconst parentPos = shortCodesPopup.parentElement.getBoundingClientRect();\n\n\t\tshortCodesPopup.style.top = ( moreIconPosition.top - parentPos.top + 32 ) + 'px';\n\t\tshortCodesPopup.style.left = ( moreIconPosition.left - parentPos.left - 280 ) + 'px';\n\t}\n\n\tfunction showShortcodeBox( moreIcon, shouldFocus ) {\n\t\tlet input = getInputForIcon( moreIcon ),\n\t\t\tbox = document.getElementById( 'frm_adv_info' ),\n\t\t\tclasses = moreIcon.className;\n\n\t\tif ( moreIcon.tagName === 'svg' ) {\n\t\t\tmoreIcon = moreIcon.firstElementChild;\n\t\t}\n\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\tclasses = moreIcon.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );\n\n\t\t\tif ( null === classes ) {\n\t\t\t\t// If the deprecated xlink:href is not defined, check for href.\n\t\t\t\tclasses = moreIcon.getAttribute( 'href' );\n\t\t\t}\n\t\t}\n\n\t\tif ( classes.indexOf( 'frm_close_icon' ) !== -1 ) {\n\t\t\thideShortcodes( box );\n\t\t} else {\n\t\t\tupdateShortcodesPopupPosition( moreIcon );\n\n\t\t\tjQuery( '.frm_code_list a' ).removeClass( 'frm_noallow' );\n\t\t\tif ( input.classList.contains( 'frm_not_email_to' ) ) {\n\t\t\t\tjQuery( '#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a' ).addClass( 'frm_noallow' );\n\t\t\t} else if ( input.classList.contains( 'frm_not_email_subject' ) ) {\n\t\t\t\tjQuery( '.frm_code_list li.hide_frm_not_email_subject a' ).addClass( 'frm_noallow' );\n\t\t\t}\n\n\t\t\tbox.setAttribute( 'data-fills', input.id );\n\t\t\tbox.style.display = 'block';\n\n\t\t\tif ( moreIcon.tagName === 'use' ) {\n\t\t\t\tif ( moreIcon.hasAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) ) {\n\t\t\t\t\tmoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t} else {\n\t\t\t\t\tconst newMoreIcon = document.createElementNS( 'http://www.w3.org/2000/svg', 'use' );\n\t\t\t\t\tnewMoreIcon.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_close_icon' );\n\t\t\t\t\tmoreIcon.parentNode.replaceChild( newMoreIcon, moreIcon );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmoreIcon.className = classes.replace( 'frm_more_horiz_solid_icon', 'frm_close_icon' );\n\t\t\t}\n\n\t\t\tif ( shouldFocus !== 'nofocus' ) {\n\t\t\t\tif ( 'none' !== input.style.display ) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( tinymce.get( input.id ) ).trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tshowOrHideContextualShortcodes( input );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if a shortcode could be shown in the search result.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction checkContextualShortcode( item ) {\n\t\tif ( frmAdminJs.contextualShortcodes.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ! isContextualShortcode( item ) || canShowContextualShortcode( item );\n\t}\n\n\t/**\n\t * Returns true if a shortcode is contextual to fields.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction isContextualShortcode( item ) {\n\t\tconst anchor = item.querySelector( 'a' );\n\t\tif ( ! anchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst shortcode = anchor.dataset.code;\n\t\treturn frmAdminJs.contextualShortcodes.address.includes( shortcode ) || frmAdminJs.contextualShortcodes.body.includes( shortcode );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} item\n\t * @return {Boolean}\n\t */\n\tfunction canShowContextualShortcode( item ) {\n\t\tconst shortcode = item.querySelector( 'a' ).dataset.code;\n\t\tconst inputId = document.getElementById( 'frm_adv_info' ).dataset.fills;\n\t\tconst input = document.getElementById( inputId );\n\t\tconst contextualShortcodes = frmAdminJs.contextualShortcodes;\n\t\tif ( contextualShortcodes.address.includes( shortcode ) ) {\n\t\t\treturn input.matches( contextualShortcodes.addressSelector );\n\t\t}\n\t\treturn input.matches( contextualShortcodes.bodySelector );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @return {void}\n\t */\n\tfunction showOrHideContextualShortcodes( input ) {\n\t\t[ 'address', 'body' ].forEach( type => {\n\t\t\ttoggleContextualShortcodes( input, type );\n\t\t} );\n\t}\n\n\t/**\n\t * @since 6.16.3\n\t *\n\t * @param {HTMLElement} input\n\t * @param {string} type\n\t *\n\t * @return {void}\n\t */\n\tfunction toggleContextualShortcodes( input, type ) {\n\t\tlet selector, contextualShortcodes;\n\t\tselector = frmAdminJs.contextualShortcodes[ type + 'Selector' ];\n\t\tcontextualShortcodes = frmAdminJs.contextualShortcodes[ type ];\n\t\tlet shouldShowShortcodes = input.matches( selector );\n\t\tfor ( let shortcode of contextualShortcodes ) {\n\t\t\tconst shortcodeLi = document.querySelector( '#frm-adv-info-tab .frm_code_list [data-code=\"' + shortcode + '\"]' )?.closest( 'li' );\n\t\t\tshortcodeLi?.classList.toggle( 'frm_hidden', ! shouldShowShortcodes );\n\t\t}\n\t}\n\n\t/**\n\t * Returns shortcodes that are contextual to the current input field.\n\t *\n\t * @since 6.16.3\n\t *\n\t * @return {Array}\n\t */\n\tfunction getContextualShortcodes() {\n\t\tlet contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes;\n\t\tif ( ! contextualShortcodes ) {\n\t\t\treturn [];\n\t\t}\n\t\tcontextualShortcodes = JSON.parse( contextualShortcodes );\n\t\tcontextualShortcodes.addressSelector = '[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]';\n\t\tcontextualShortcodes.bodySelector = '[id^=email_message_]';\n\t\treturn contextualShortcodes;\n\t}\n\n\tfunction fieldUpdated() {\n\t\tif ( ! fieldsUpdated ) {\n\t\t\tfieldsUpdated = 1;\n\t\t\twindow.addEventListener( 'beforeunload', confirmExit );\n\t\t}\n\t}\n\n\tfunction buildSubmittedNoAjax() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction settingsSubmitted() {\n\t\t// set fieldsUpdated to 0 to avoid the unsaved changes pop up\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction resetFieldsUpdated() {\n\t\tfieldsUpdated = 0;\n\t}\n\n\tfunction reloadIfAddonActivatedAjaxSubmitOnly() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.hasAttribute( 'data-new-addon-installed' ) && 'true' === submitButton.getAttribute( 'data-new-addon-installed' ) ) {\n\t\t\tsubmitButton.removeAttribute( 'data-new-addon-installed' );\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction saveAndReloadFormBuilder() {\n\t\tconst submitButton = document.getElementById( 'frm_submit_side_top' );\n\t\tif ( submitButton.classList.contains( 'frm_submit_ajax' ) ) {\n\t\t\tsubmitButton.setAttribute( 'data-new-addon-installed', true );\n\t\t}\n\t\tsubmitButton.click();\n\t}\n\n\tfunction confirmExit( event ) {\n\t\tif ( fieldsUpdated ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.returnValue = '';\n\t\t}\n\t}\n\n\tfunction offsetModalY( $modal, amount ) {\n\t\tconst position = {\n\t\t\tmy: 'top',\n\t\t\tat: 'top+' + amount,\n\t\t\tof: window\n\t\t};\n\t\t$modal.dialog( 'option', 'position', position );\n\t}\n\n\t/**\n\t * Get the input box for the selected icon or calculation field.\n\t *\n\t * @param {Element} moreIcon The icon element\n\t * @return {Element} The associated input or textarea\n\t */\n\tfunction getInputForIcon( moreIcon ) {\n\t\tif ( moreIcon.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn moreIcon.previousElementSibling;\n\t\t}\n\n\t\t// For regular fields\n\t\tlet input = moreIcon.nextElementSibling;\n\t\twhile ( input !== null && (\n\t\t\t( input.tagName !== 'INPUT' && input.tagName !== 'TEXTAREA' ) || input.classList.contains( 'frm-token-input-field' )\n\t\t) ) {\n\t\t\tinput = getInputForIcon( input );\n\t\t}\n\n\t\t// For calculation fields\n\t\tif ( ! input ) {\n\t\t\tinput = moreIcon.closest( '.frm-field-formula' )?.querySelector( '.frm-calc-field' );\n\t\t}\n\n\t\treturn input;\n\t}\n\n\t/**\n\t * Get the ... icon for the selected input box.\n\t */\n\tfunction getIconForInput( input ) {\n\t\tif ( input.nextElementSibling?.classList.contains( 'frm-input-icon' ) ) {\n\t\t\treturn input.nextElementSibling;\n\t\t}\n\n\t\tlet moreIcon = input.previousElementSibling;\n\n\t\twhile ( moreIcon !== null && moreIcon.tagName !== 'I' && moreIcon.tagName !== 'svg' ) {\n\t\t\tmoreIcon = getIconForInput( moreIcon );\n\t\t}\n\n\t\treturn moreIcon;\n\t}\n\n\tfunction hideShortcodes( box ) {\n\t\tlet i, u, closeIcons, closeSvg;\n\t\tif ( typeof box === 'undefined' ) {\n\t\t\tbox = document.getElementById( 'frm_adv_info' );\n\t\t\tif ( box === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( document.getElementById( 'frm_dyncontent' ) !== null ) {\n\t\t\t// Don't run when in the sidebar.\n\t\t\treturn;\n\t\t}\n\n\t\tbox.style.display = 'none';\n\n\t\tcloseIcons = document.querySelectorAll( '.frm-show-box.frm_close_icon' );\n\t\tfor ( i = 0; i < closeIcons.length; i++ ) {\n\t\t\tcloseIcons[ i ].classList.remove( 'frm_close_icon' );\n\t\t\tcloseIcons[ i ].classList.add( 'frm_more_horiz_solid_icon' );\n\t\t}\n\n\t\tcloseSvg = document.querySelectorAll( '.frm_has_shortcodes use' );\n\t\tfor ( u = 0; u < closeSvg.length; u++ ) {\n\t\t\tif ( closeSvg[ u ].getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) === '#frm_close_icon' ) {\n\t\t\t\tif ( closeSvg[ u ].closest( '.frm_remove_field' ) ) {\n\t\t\t\t\t// Don't change the icon for the email fields remove button.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcloseSvg[ u ].setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#frm_more_horiz_solid_icon' );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleAllowedHTML( input ) {\n\t\tlet b,\n\t\t\tid = input.id;\n\t\tif ( typeof id === 'undefined' || id.indexOf( '-search-input' ) !== -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tjQuery( '#frm-adv-info-tab' ).attr( 'data-fills', id.trim() );\n\t\tif ( input.classList.contains( 'field_custom_html' ) ) {\n\t\t\tid = 'field_custom_html';\n\t\t}\n\n\t\tb = [ 'after_html', 'before_html', 'submit_html', 'field_custom_html' ];\n\t\tif ( jQuery.inArray( id, b ) >= 0 ) {\n\t\t\tjQuery( '.frm_code_list li:not(.show_' + id + ')' ).addClass( 'frm_hidden' );\n\t\t\tjQuery( '.frm_code_list li.show_' + id ).removeClass( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleKeyID( switchTo, e ) {\n\t\te.stopPropagation();\n\t\tjQuery( '.frm_code_list .frmids, .frm_code_list .frmkeys' ).addClass( 'frm_hidden' );\n\t\tjQuery( '.frm_code_list .' + switchTo ).removeClass( 'frm_hidden' );\n\t\tjQuery( '.frmids, .frmkeys' ).removeClass( 'current' );\n\t\tjQuery( '.' + switchTo ).addClass( 'current' );\n\t}\n\n\tfunction onActionLoaded( event ) {\n\t\tconst settings = event.target.closest( '.frm_form_action_settings' );\n\t\tif ( settings && ( settings.classList.contains( 'frm_single_email_settings' ) || settings.classList.contains( 'frm_single_on_submit_settings' ) ) ) {\n\t\t\tinitWysiwygOnActionLoaded( settings );\n\t\t}\n\t}\n\n\tfunction initWysiwygOnActionLoaded( settings ) {\n\t\tsettings.querySelectorAll( '.wp-editor-area' ).forEach( wysiwyg => {\n\t\t\tfrmDom.wysiwyg.init(\n\t\t\t\twysiwyg,\n\t\t\t\t{ height: 160, addFocusEvents: true }\n\t\t\t);\n\t\t} );\n\t}\n\n\t/* Global settings page */\n\tfunction loadSettingsTab( anchor ) {\n\t\tconst holder = anchor.replace( '#', '' );\n\t\tconst holderContainer = jQuery( '.frm_' + holder + '_ajax' );\n\t\tif ( holderContainer.length ) {\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST', url: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'frm_settings_tab',\n\t\t\t\t\ttab: holder.replace( '_settings', '' ),\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tholderContainer.replaceWith( html );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction uninstallNow() {\n\t\t/*jshint validthis:true */\n\t\tif ( confirmLinkClick( this ) === true ) {\n\t\t\tjQuery( '.frm_uninstall .frm-wait' ).css( 'visibility', 'visible' );\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: 'action=frm_uninstall&nonce=' + frmGlobal.nonce,\n\t\t\t\tsuccess: function( msg ) {\n\t\t\t\t\tjQuery( '.frm_uninstall' ).fadeOut( 'slow' );\n\t\t\t\t\twindow.location = msg;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction saveAddonLicense() {\n\t\t/*jshint validthis:true */\n\t\tconst button = jQuery( this );\n\t\tconst buttonName = this.name;\n\t\tconst pluginSlug = this.getAttribute( 'data-plugin' );\n\t\tconst action = buttonName.replace( 'edd_' + pluginSlug + '_license_', '' );\n\t\tlet license = document.getElementById( 'edd_' + pluginSlug + '_license_key' ).value;\n\t\tbutton.get( 0 ).disabled = true;\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST', url: ajaxurl, dataType: 'json',\n\t\t\tdata: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce },\n\t\t\tsuccess: function( msg ) {\n\t\t\t\tbutton.get( 0 ).disabled = false;\n\t\t\t\tconst thisRow = button.closest( '.edd_frm_license_row' );\n\t\t\t\tif ( action === 'deactivate' ) {\n\t\t\t\t\tlicense = '';\n\t\t\t\t\tdocument.getElementById( 'edd_' + pluginSlug + '_license_key' ).value = '';\n\t\t\t\t}\n\t\t\t\tthisRow.find( '.edd_frm_license' ).html( license );\n\t\t\t\tconst eddWrapper = button.get( 0 ).closest( '.frm_form_field' );\n\t\t\t\tconst actionIsSuccess = msg.success === true;\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_success` ).classList.toggle( 'frm_hidden', ! actionIsSuccess || action === 'deactivate' );\n\t\t\t\teddWrapper.querySelector( `.frm_icon_font.frm_action_error` ).classList.toggle( 'frm_hidden', actionIsSuccess );\n\n\t\t\t\tconst messageBox = thisRow.find( '.frm_license_msg' );\n\t\t\t\tmessageBox.html( msg.message );\n\t\t\t\tif ( msg.message !== '' ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tmessageBox.html( '' );\n\t\t\t\t\t\tthisRow.find( '.frm_icon_font' ).addClass( 'frm_hidden' );\n\t\t\t\t\t\tif ( actionIsSuccess ) {\n\t\t\t\t\t\t\tconst actionIsActivate = action === 'activate';\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_unauthorized' ).classList.toggle( 'frm_hidden', actionIsActivate );\n\t\t\t\t\t\t\tthisRow.get( 0 ).querySelector( '.edd_frm_authorized' ).classList.toggle( 'frm_hidden', ! actionIsActivate );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/* Import/Export page */\n\n\tfunction startFormMigration( event ) {\n\t\tevent.preventDefault();\n\n\t\tconst checkedBoxes = jQuery( event.target ).find( 'input:checked' );\n\t\tif ( ! checkedBoxes.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = [];\n\t\tcheckedBoxes.each( function( i ) {\n\t\t\tids[ i ] = this.value;\n\t\t} );\n\n\t\t// Begin the import process.\n\t\timportForms( ids, event.target );\n\t}\n\n\t/**\n\t * Begins the process of importing the forms.\n\t */\n\tfunction importForms( forms, targetForm ) {\n\t\t// Hide the form select section.\n\t\tconst $form = jQuery( targetForm ),\n\t\t\t$processSettings = $form.next( '.frm-importer-process' );\n\n\t\t// Display total number of forms we have to import.\n\t\t$processSettings.find( '.form-total' ).text( forms.length );\n\t\t$processSettings.find( '.form-current' ).text( '1' );\n\n\t\t$form.hide();\n\n\t\t// Show processing status.\n\t\t// '.process-completed' might have been shown earlier during a previous import, so hide now.\n\t\t$processSettings.find( '.process-completed' ).hide();\n\t\t$processSettings.show();\n\n\t\t// Create global import queue.\n\t\ts.importQueue = forms;\n\t\ts.imported = 0;\n\n\t\t// Import the first form in the queue.\n\t\timportForm( $processSettings );\n\t}\n\n\t/**\n\t * Imports a single form from the import queue.\n\t */\n\tfunction importForm( $processSettings ) {\n\t\tconst formID = s.importQueue[ 0 ],\n\t\t\tprovider = jQuery( '#welcome-panel' ).find( 'input[name=\"slug\"]' ).val(),\n\t\t\tdata = {\n\t\t\t\taction: 'frm_import_' + provider,\n\t\t\t\tform_id: formID,\n\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t};\n\n\t\t// Trigger AJAX import for this form.\n\t\tjQuery.post( ajaxurl, data, function( res ) {\n\t\t\tif ( res.success ) {\n\t\t\t\tlet statusUpdate;\n\n\t\t\t\tif ( res.data.error ) {\n\t\t\t\t\tstatusUpdate = '

                                                                                                  ' + res.data.name + ': ' + res.data.msg + '

                                                                                                  ';\n\t\t\t\t} else {\n\t\t\t\t\tstatusUpdate = '

                                                                                                  Imported ' + res.data.name + '

                                                                                                  ';\n\t\t\t\t}\n\n\t\t\t\t$processSettings.find( '.status' ).prepend( statusUpdate );\n\t\t\t\t$processSettings.find( '.status' ).show();\n\n\t\t\t\t// Remove this form ID from the queue.\n\t\t\t\ts.importQueue = jQuery.grep( s.importQueue, function( value ) {\n\t\t\t\t\treturn value != formID;\n\t\t\t\t} );\n\t\t\t\ts.imported++;\n\n\t\t\t\tif ( s.importQueue.length === 0 ) {\n\t\t\t\t\t$processSettings.find( '.process-count' ).hide();\n\t\t\t\t\t$processSettings.find( '.forms-completed' ).text( s.imported );\n\t\t\t\t\t$processSettings.find( '.process-completed' ).show();\n\t\t\t\t} else {\n\t\t\t\t\t// Import next form in the queue.\n\t\t\t\t\t$processSettings.find( '.form-current' ).text( s.imported + 1 );\n\t\t\t\t\timportForm( $processSettings );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction validateExport( e ) {\n\t\t/*jshint validthis:true */\n\t\te.preventDefault();\n\n\t\tlet s = false;\n\t\tconst $exportForms = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( ! jQuery( 'input[name=\"frm_export_forms[]\"]:checked' ).val() ) {\n\t\t\t$exportForms.closest( '.frm-table-box' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tconst $exportType = jQuery( 'input[name=\"type[]\"]' );\n\t\tif ( ! jQuery( 'input[name=\"type[]\"]:checked' ).val() && $exportType.attr( 'type' ) === 'checkbox' ) {\n\t\t\t$exportType.closest( 'p' ).addClass( 'frm_blank_field' );\n\t\t\ts = 'stop';\n\t\t}\n\n\t\tif ( s === 'stop' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tthis.submit();\n\t}\n\n\tfunction removeExportError() {\n\t\t/*jshint validthis:true */\n\t\tconst t = jQuery( this ).closest( '.frm_blank_field' );\n\t\tif ( typeof t === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $thisName = this.name;\n\t\tif ( $thisName === 'type[]' && jQuery( 'input[name=\"type[]\"]:checked' ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t} else if ( $thisName === 'frm_export_forms[]' && jQuery( this ).val() ) {\n\t\t\tt.removeClass( 'frm_blank_field' );\n\t\t}\n\t}\n\n\tfunction checkCSVExtension() {\n\t\t/*jshint validthis:true */\n\t\tconst f = jQuery( this ).val();\n\t\tconst re = /\\.csv$/i;\n\t\tif ( f.match( re ) !== null ) {\n\t\t\tjQuery( '.show_csv' ).fadeIn();\n\t\t} else {\n\t\t\tjQuery( '.show_csv' ).fadeOut();\n\t\t}\n\t}\n\n\tfunction getExportOption() {\n\t\tconst exportFormatSelect = document.querySelector( 'select[name=\"format\"]' );\n\t\tif ( exportFormatSelect ) {\n\t\t\treturn exportFormatSelect.value;\n\t\t}\n\t\treturn '';\n\t}\n\n\tfunction exportTypeChanged( event ) {\n\t\tconst value = event.target.value;\n\t\tshowOrHideRepeaters( value );\n\t\tcheckExportTypes.call( event.target );\n\t\tcheckSelectedAllFormsCheckbox( value );\n\t}\n\n\tfunction checkSelectedAllFormsCheckbox( exportType ) {\n\t\tconst selectAllCheckbox = document.getElementById( 'frm-export-select-all' );\n\t\tif ( exportType === 'csv' ) {\n\t\t\tselectAllCheckbox.checked = false;\n\t\t\tselectAllCheckbox.disabled = true;\n\t\t} else {\n\t\t\tselectAllCheckbox.disabled = false;\n\t\t}\n\t}\n\n\tfunction checkExportTypes() {\n\t\t/*jshint validthis:true */\n\t\tconst $dropdown = jQuery( this );\n\t\tconst $selected = $dropdown.find( ':selected' );\n\t\tconst s = $selected.data( 'support' );\n\n\t\tconst multiple = s.indexOf( '|' );\n\t\tjQuery( 'input[name=\"type[]\"]' ).each( function() {\n\t\t\tthis.checked = false;\n\t\t\tif ( s.indexOf( this.value ) >= 0 ) {\n\t\t\t\tthis.disabled = false;\n\t\t\t\tif ( multiple === -1 ) {\n\t\t\t\t\tthis.checked = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( $dropdown.val() === 'csv' ) {\n\t\t\tjQuery( '.csv_opts' ).show();\n\t\t\tjQuery( '.xml_opts' ).hide();\n\t\t} else {\n\t\t\tjQuery( '.csv_opts' ).hide();\n\t\t\tjQuery( '.xml_opts' ).show();\n\t\t}\n\n\t\tconst c = $selected.data( 'count' );\n\t\tconst exportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\t\tif ( c === 'single' ) {\n\t\t\texportField.prop( 'multiple', false );\n\t\t\texportField.prop( 'checked', false );\n\t\t} else {\n\t\t\texportField.prop( 'multiple', true );\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t\t$dropdown.trigger( 'change' );\n\t}\n\n\tfunction showOrHideRepeaters( exportOption ) {\n\t\tif ( exportOption === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repeaters = document.querySelectorAll( '.frm-is-repeater' );\n\t\tif ( ! repeaters.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( exportOption === 'csv' ) {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t} else {\n\t\t\trepeaters.forEach( form => {\n\t\t\t\tform.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t}\n\n\t\tsearchContent.call( document.querySelector( '.frm-auto-search' ) );\n\t}\n\n\tfunction preventMultipleExport() {\n\t\tconst type = jQuery( 'select[name=format]' ),\n\t\t\tselected = type.find( ':selected' ),\n\t\t\tcount = selected.data( 'count' ),\n\t\t\texportField = jQuery( 'input[name=\"frm_export_forms[]\"]' );\n\n\t\tif ( count === 'single' ) {\n\t\t\t// Disable all other fields to prevent multiple selections.\n\t\t\tif ( this.checked ) {\n\t\t\t\texportField.prop( 'disabled', true );\n\t\t\t\tthis.removeAttribute( 'disabled' );\n\t\t\t} else {\n\t\t\t\texportField.prop( 'disabled', false );\n\t\t\t}\n\t\t} else {\n\t\t\texportField.prop( 'disabled', false );\n\t\t}\n\t}\n\n\tfunction initiateMultiselect() {\n\t\tjQuery( '.frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );\n\t}\n\n\t/* Addons page */\n\tfunction installMultipleAddons( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_multiple_addons' );\n\t}\n\n\tfunction activateAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_activate_addon' );\n\t}\n\n\tfunction installAddon( e ) {\n\t\te.preventDefault();\n\t\ttoggleAddonState( this, 'frm_install_addon' );\n\t}\n\n\tfunction toggleAddonState( clicked, action ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.toggleAddonState( clicked, action );\n\t}\n\n\tfunction installAddonWithCreds( e ) {\n\t\t// Prevent the default action, let the user know we are attempting to install again and go with it.\n\t\te.preventDefault();\n\n\t\t// Now let's make another Ajax request once the user has submitted their credentials.\n\t\tconst proceed = jQuery( this );\n\t\tconst el = proceed.parent().parent();\n\t\tconst plugin = proceed.attr( 'rel' );\n\n\t\tproceed.addClass( 'frm_loading_button' );\n\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tasync: true,\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\tdata: {\n\t\t\t\taction: 'frm_install_addon',\n\t\t\t\tnonce: frmAdminJs.nonce,\n\t\t\t\tplugin: plugin,\n\t\t\t\thostname: el.find( '#hostname' ).val(),\n\t\t\t\tusername: el.find( '#username' ).val(),\n\t\t\t\tpassword: el.find( '#password' ).val()\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tresponse = response?.data ?? response;\n\n\t\t\t\tconst error = extractErrorFromAddOnResponse( response );\n\t\t\t\tif ( error ) {\n\t\t\t\t\taddonError( error, el, proceed );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tafterAddonInstall( response, proceed, message, el );\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tproceed.removeClass( 'frm_loading_button' );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.afterAddonInstall( response, button, message, el, saveAndReload, action );\n\t}\n\n\tfunction extractErrorFromAddOnResponse( response ) {\n\t\tconst addonState = require( './addon-state' );\n\t\treturn addonState.extractErrorFromAddOnResponse( response );\n\t}\n\n\tfunction addonError( response, el, button ) {\n\t\tconst addonState = require( './addon-state' );\n\t\taddonState.addonError( response, el, button );\n\t}\n\n\t/* Templates */\n\tfunction showActiveCampaignForm() {\n\t\tloadApiEmailForm();\n\t}\n\n\tfunction handleApiFormError( inputId, errorId, type, message ) {\n\t\tconst $error = jQuery( errorId );\n\t\t$error.removeClass( 'frm_hidden' ).attr( 'frm-error', type );\n\n\t\tif ( typeof message !== 'undefined' ) {\n\t\t\t$error.find( 'span[frm-error=\"' + type + '\"]' ).text( message );\n\t\t}\n\n\t\tjQuery( inputId ).one( 'keyup', function() {\n\t\t\t$error.addClass( 'frm_hidden' );\n\t\t} );\n\t}\n\n\tfunction handleEmailAddressError( type ) {\n\t\thandleApiFormError( '#frm_leave_email', '#frm_leave_email_error', type );\n\t}\n\n\tfunction loadApiEmailForm() {\n\t\tconst formContainer = document.getElementById( 'frmapi-email-form' );\n\t\tjQuery.ajax( {\n\t\t\tdataType: 'json',\n\t\t\turl: formContainer.getAttribute( 'data-url' ),\n\t\t\tsuccess: function( json ) {\n\t\t\t\tlet form = json.renderedHtml;\n\t\t\t\tform = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' );\n\t\t\t\tformContainer.innerHTML = form;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction initAutocomplete( container ) {\n\t\tfrmDom.autocomplete.initSelectionAutocomplete( container );\n\t}\n\n\tfunction nextInstallStep( thisStep ) {\n\t\tthisStep.classList.add( 'frm_grey' );\n\t\tthisStep.nextElementSibling.classList.remove( 'frm_grey' );\n\t}\n\n\tfunction installTemplateFieldset( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst fieldset = this.parentNode.parentNode,\n\t\t\taction = fieldset.elements.type.value,\n\t\t\tbutton = this;\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( fieldset, action, button );\n\t}\n\n\tfunction installTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst action = this.elements.type.value,\n\t\t\tbutton = this.querySelector( 'button' );\n\t\te.preventDefault();\n\t\tbutton.classList.add( 'frm_loading_button' );\n\t\tinstallNewForm( this, action, button );\n\t}\n\n\tfunction installNewForm( form, action, button ) {\n\t\tconst formData = formToData( form );\n\t\tconst formName = formData.template_name;\n\t\tconst formDesc = formData.template_desc;\n\t\tconst link = form.elements.link.value;\n\n\t\tlet data = {\n\t\t\taction: action,\n\t\t\txml: link,\n\t\t\tname: formName,\n\t\t\tdesc: formDesc,\n\t\t\tform: JSON.stringify( formData ),\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\n\t\tconst hookName = 'frm_before_install_new_form';\n\t\tconst filterArgs = { formData };\n\t\tdata = wp.hooks.applyFilters( hookName, data, filterArgs );\n\n\t\tpostAjax( data, function( response ) {\n\t\t\tif ( typeof response.redirect !== 'undefined' ) {\n\t\t\t\tconst redirect = response.redirect;\n\t\t\t\tif ( typeof form.elements.redirect === 'undefined' ) {\n\t\t\t\t\twindow.location = redirect;\n\t\t\t\t} else {\n\t\t\t\t\tconst href = document.getElementById( 'frm-redirect-link' );\n\t\t\t\t\tif ( typeof link !== 'undefined' && href !== null ) {\n\t\t\t\t\t\t// Show the next installation step.\n\t\t\t\t\t\thref.setAttribute( 'href', redirect );\n\t\t\t\t\t\thref.classList.remove( 'frm_grey', 'disabled' );\n\t\t\t\t\t\tnextInstallStep( form.parentNode.parentNode );\n\t\t\t\t\t\tbutton.classList.add( 'frm_grey', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery( '.spinner' ).css( 'visibility', 'hidden' );\n\n\t\t\t\t// Show response.message\n\t\t\t\tif ( 'string' === typeof response.message ) {\n\t\t\t\t\tshowInstallFormErrorModal( response.message );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbutton.classList.remove( 'frm_loading_button' );\n\t\t} );\n\t}\n\n\tfunction showInstallFormErrorModal( message ) {\n\t\tconst modalContent = div( message );\n\t\tmodalContent.style.padding = '20px 40px';\n\t\tconst modal = frmDom.modal.maybeCreateModal(\n\t\t\t'frmInstallFormErrorModal',\n\t\t\t{\n\t\t\t\ttitle: __( 'Unable to install template', 'formidable' ),\n\t\t\t\tcontent: modalContent\n\t\t\t}\n\t\t);\n\t\tmodal.classList.add( 'frm_common_modal' );\n\t}\n\n\tfunction handleCaptchaTypeChange( e ) {\n\t\tconst thresholdContainer = document.getElementById( 'frm_captcha_threshold_container' );\n\t\tif ( thresholdContainer ) {\n\t\t\tthresholdContainer.classList.toggle( 'frm_hidden', 'v3' !== e.target.value );\n\t\t}\n\t}\n\n\tfunction trashTemplate( e ) {\n\t\t/*jshint validthis:true */\n\t\tconst id = this.getAttribute( 'data-id' );\n\t\te.preventDefault();\n\n\t\tdata = {\n\t\t\taction: 'frm_forms_trash',\n\t\t\tid: id,\n\t\t\tnonce: frmGlobal.nonce\n\t\t};\n\t\tpostAjax( data, function() {\n\t\t\tconst card = document.getElementById( 'frm-template-custom-' + id );\n\t\t\tfadeOut( card, function() {\n\t\t\t\tcard.parentNode.removeChild( card );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tfunction searchContent() {\n\t\t/*jshint validthis:true */\n\t\tlet i,\n\t\t\tregEx = false,\n\t\t\tsearchText = this.value.toLowerCase(),\n\t\t\ttoSearch = this.getAttribute( 'data-tosearch' ),\n\t\t\titems = document.getElementsByClassName( toSearch );\n\n\t\tif ( this.tagName === 'SELECT' ) {\n\t\t\tsearchText = selectedOptions( this );\n\t\t\tsearchText = searchText.join( '|' ).toLowerCase();\n\t\t\tregEx = true;\n\t\t}\n\n\t\tif ( toSearch === 'frm-action' && searchText !== '' ) {\n\t\t\tconst addons = document.getElementById( 'frm_email_addon_menu' ).classList;\n\t\t\taddons.remove( 'frm-all-actions' );\n\t\t\taddons.add( 'frm-limited-actions' );\n\t\t}\n\n\t\tfor ( i = 0; i < items.length; i++ ) {\n\t\t\tconst innerText = items[ i ].innerText.toLowerCase();\n\n\t\t\tconst itemCanBeShown = ! ( getExportOption() === 'xml' && items[ i ].classList.contains( 'frm-is-repeater' ) );\n\t\t\tif ( searchText === '' ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t} else if ( ( regEx && new RegExp( searchText ).test( innerText ) ) || innerText.indexOf( searchText ) >= 0 || textMatchesPlural( innerText, searchText ) ) {\n\t\t\t\tif ( itemCanBeShown && checkContextualShortcode( items[ i ] ) ) {\n\t\t\t\t\titems[ i ].classList.remove( 'frm_hidden' );\n\t\t\t\t}\n\t\t\t\titems[ i ].classList.add( 'frm-search-result' );\n\t\t\t} else {\n\t\t\t\titems[ i ].classList.add( 'frm_hidden' );\n\t\t\t\titems[ i ].classList.remove( 'frm-search-result' );\n\t\t\t}\n\t\t}\n\n\t\t// Updates the visibility of category headings based on search results.\n\t\tupdateCatHeadingVisibility();\n\n\t\tjQuery( this ).trigger( 'frmAfterSearch' );\n\t}\n\n\t/**\n\t * Allow a search for \"signatures\" to still match \"signature\" for example when searching fields.\n\t *\n\t * @since 6.15\n\t *\n\t * @param {string} text The text in the element we are checking for a match.\n\t * @param {string} searchText The text value that is being searched.\n\t * @return {boolean}\n\t */\n\tfunction textMatchesPlural( text, searchText ) {\n\t\tif ( searchText === 's' ) {\n\t\t\t// Don't match everything when just \"s\" is searched.\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( text[ text.length - 1 ] === 's' ) {\n\t\t\t// Do not match something with double s if the text already ends in s.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn ( text + 's' ).indexOf( searchText ) >= 0;\n\t}\n\n\t/**\n\t * Updates the visibility of category headings based on search results.\n\t * If all associated fields are hidden (indicating no search matches),\n\t * the heading is hidden.\n\t *\n\t * @since 6.4.1\n\t */\n\tfunction updateCatHeadingVisibility() {\n\t\tconst insertFieldsElement = document.querySelector( '#frm-insert-fields' );\n\t\tif ( ! insertFieldsElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst headingElements = insertFieldsElement.querySelectorAll( ':scope > .frm-with-line' );\n\t\theadingElements.forEach( heading => {\n\t\t\tconst fieldsListElement = heading.nextElementSibling;\n\t\t\tif ( ! fieldsListElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listItemElements = fieldsListElement.querySelectorAll( ':scope > li.frmbutton' );\n\t\t\tconst allHidden = Array.from( listItemElements ).every( li => li.classList.contains( 'frm_hidden' ) );\n\n\t\t\t// Add or remove class based on `allHidden` condition\n\t\t\theading.classList.toggle( 'frm_hidden', allHidden );\n\t\t} );\n\t}\n\n\tfunction stopPropagation( e ) {\n\t\te.stopPropagation();\n\t}\n\n\t/* Helpers */\n\n\tfunction selectedOptions( select ) {\n\t\tlet opt,\n\t\t\tresult = [],\n\t\t\toptions = select && select.options;\n\n\t\tfor ( let i = 0, iLen = options.length; i < iLen; i++ ) {\n\t\t\topt = options[ i ];\n\n\t\t\tif ( opt.selected ) {\n\t\t\t\tresult.push( opt.value );\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction triggerEvent( element, event ) {\n\t\tconst evt = document.createEvent( 'HTMLEvents' );\n\t\tevt.initEvent( event, false, true );\n\t\telement.dispatchEvent( evt );\n\t}\n\n\tfunction postAjax( data, success ) {\n\t\tlet response;\n\n\t\tconst xmlHttp = new XMLHttpRequest();\n\t\tconst params = typeof data === 'string' ? data : Object.keys( data ).map(\n\t\t\tfunction( k ) {\n\t\t\t\treturn encodeURIComponent( k ) + '=' + encodeURIComponent( data[ k ] );\n\t\t\t}\n\t\t).join( '&' );\n\n\t\txmlHttp.open( 'post', ajaxurl, true );\n\t\txmlHttp.onreadystatechange = function() {\n\t\t\tif ( xmlHttp.readyState > 3 && xmlHttp.status == 200 ) {\n\t\t\t\tresponse = xmlHttp.responseText;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// The response may not be JSON, so just return it.\n\t\t\t\t}\n\t\t\t\tsuccess( response );\n\t\t\t}\n\t\t};\n\t\txmlHttp.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );\n\t\txmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );\n\t\txmlHttp.send( params );\n\t\treturn xmlHttp;\n\t}\n\n\tfunction fadeOut( element, success ) {\n\t\telement.classList.add( 'frm-fade' );\n\t\tsetTimeout( success, 1000 );\n\t}\n\n\tfunction invisible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'hidden' );\n\t}\n\n\tfunction visible( classes ) {\n\t\tjQuery( classes ).css( 'visibility', 'visible' );\n\t}\n\n\tfunction initModal( id, width ) {\n\t\tconst upgradePopup = require( './upgrade-popup' );\n\t\treturn upgradePopup.initModal( id, width );\n\t}\n\n\tfunction toggle( cname, id ) {\n\t\tif ( id === '#' ) {\n\t\t\tconst cont = document.getElementById( cname );\n\t\t\tconst hidden = cont.style.display;\n\t\t\tif ( hidden === 'none' ) {\n\t\t\t\tcont.style.display = 'block';\n\t\t\t} else {\n\t\t\t\tcont.style.display = 'none';\n\t\t\t}\n\t\t} else {\n\t\t\tconst vis = cname.is( ':visible' );\n\t\t\tif ( vis ) {\n\t\t\t\tcname.hide();\n\t\t\t} else {\n\t\t\t\tcname.show();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction removeWPUnload() {\n\t\twindow.onbeforeunload = null;\n\t\tconst w = jQuery( window );\n\t\tw.off( 'beforeunload.widgets' );\n\t\tw.off( 'beforeunload.edit-post' );\n\t}\n\n\tfunction addMultiselectLabelListener() {\n\t\tconst clickListener = e => {\n\t\t\tif ( 'LABEL' !== e.target.nodeName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst labelFor = e.target.getAttribute( 'for' );\n\t\t\tif ( ! labelFor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst input = document.getElementById( labelFor );\n\t\t\tif ( ! input || ! input.nextElementSibling ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buttonToggle = input.nextElementSibling.querySelector( 'button.dropdown-toggle.multiselect' );\n\t\t\tif ( ! buttonToggle ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerMultiselectClick = () => buttonToggle.click();\n\t\t\tsetTimeout( triggerMultiselectClick, 0 );\n\t\t};\n\t\tdocument.addEventListener( 'click', clickListener );\n\t}\n\n\tfunction maybeChangeEmbedFormMsg() {\n\t\tconst fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' );\n\t\tlet fieldItem = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( null === fieldItem || 'form' !== fieldItem.dataset.type ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfieldItem = jQuery( fieldItem );\n\n\t\tif ( this.options[ this.selectedIndex ].value ) {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t\tconst embedMsg = fieldItem.find( '.frm-embed-message' );\n\t\t\tembedMsg.html( embedMsg.data( 'embedmsg' ) + this.options[ this.selectedIndex ].text );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t} else {\n\t\t\tfieldItem.find( '.frm-not-set' )[ 0 ].classList.remove( 'frm_hidden' );\n\t\t\tfieldItem.find( '.frm-embed-field-placeholder' )[ 0 ].classList.add( 'frm_hidden' );\n\t\t}\n\t}\n\n\tfunction toggleProductType() {\n\t\tconst settings = jQuery( this ).closest( '.frm-single-settings' ),\n\t\t\tcontainer = settings.find( '.frmjs_product_choices' ),\n\t\t\theading = settings.find( '.frm_prod_options_heading' ),\n\t\t\tcurrentVal = this.options[ this.selectedIndex ].value;\n\n\t\tcontainer.removeClass( 'frm_prod_type_single frm_prod_type_user_def' );\n\t\theading.removeClass( 'frm_prod_user_def' );\n\n\t\tif ( 'single' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_single' );\n\t\t} else if ( 'user_def' === currentVal ) {\n\t\t\tcontainer.addClass( 'frm_prod_type_user_def' );\n\t\t\theading.addClass( 'frm_prod_user_def' );\n\t\t}\n\t}\n\n\t/**\n\t * @param {Number | string} fieldId\n\t * @return {boolean} True if the field is a product field.\n\t */\n\tfunction isProductField( fieldId ) {\n\t\tconst field = document.getElementById( 'frm_field_id_' + fieldId );\n\t\tif ( field === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn 'product' === field.getAttribute( 'data-type' );\n\t}\n\n\t/**\n\t * Serialize form data with vanilla JS.\n\t */\n\tfunction formToData( form ) {\n\t\tlet subKey, i,\n\t\t\tobject = {},\n\t\t\tformData = form.elements;\n\n\t\tfor ( i = 0; i < formData.length; i++ ) {\n\t\t\tlet input = formData[ i ],\n\t\t\t\tkey = input.name,\n\t\t\t\tvalue = input.value,\n\t\t\t\tnames = key.match( /(.*)\\[(.*)\\]/ );\n\n\t\t\tif ( ( input.type === 'radio' || input.type === 'checkbox' ) && ! input.checked ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( names !== null ) {\n\t\t\t\tkey = names[ 1 ];\n\t\t\t\tsubKey = names[ 2 ];\n\t\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\t\tobject[ key ] = {};\n\t\t\t\t}\n\t\t\t\tobject[ key ][ subKey ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Reflect.has in favor of: object.hasOwnProperty(key)\n\t\t\tif ( ! Reflect.has( object, key ) ) {\n\t\t\t\tobject[ key ] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( ! Array.isArray( object[ key ] ) ) {\n\t\t\t\tobject[ key ] = [ object[ key ] ];\n\t\t\t}\n\t\t\tobject[ key ].push( value );\n\t\t}\n\n\t\treturn object;\n\t}\n\n\t/**\n\t * Show, hide, and sort subfields of Name field on form builder.\n\t *\n\t * @since 4.11\n\t */\n\tfunction handleNameFieldOnFormBuilder() {\n\t\t/**\n\t\t * Gets subfield element from cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @return {HTMLElement|undefined} Return the element from cache or undefined if not found.\n\t\t */\n\t\tconst getSubFieldElFromCache = ( fieldId, key ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\treturn window.frmCachedSubFields[ fieldId ][ key ];\n\t\t};\n\n\t\t/**\n\t\t * Sets subfield element to cache.\n\t\t *\n\t\t * @param {string} fieldId Field ID.\n\t\t * @param {string} key Cache key.\n\t\t * @param {HTMLElement} el Element.\n\t\t */\n\t\tconst setSubFieldElToCache = ( fieldId, key, el ) => {\n\t\t\twindow.frmCachedSubFields = window.frmCachedSubFields || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ] = window.frmCachedSubFields[ fieldId ] || {};\n\t\t\twindow.frmCachedSubFields[ fieldId ][ key ] = el;\n\t\t};\n\n\t\t/**\n\t\t * Gets column class from the number of columns.\n\t\t *\n\t\t * @param {Number} colCount Number of columns.\n\t\t * @return {string}\n\t\t */\n\t\tconst getColClass = colCount => 'frm' + parseInt( 12 / colCount );\n\n\t\tconst colClasses = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ].map( num => 'frm' + num );\n\n\t\tconst allSubFieldNames = [ 'first', 'middle', 'last' ];\n\n\t\t/**\n\t\t * Handles name layout change.\n\t\t *\n\t\t * @param {Event} event Event object.\n\t\t */\n\t\tconst onChangeLayout = event => {\n\t\t\tconst value = event.target.value;\n\t\t\tconst subFieldNames = value.split( '_' );\n\t\t\tconst fieldId = event.target.dataset.fieldId;\n\n\t\t\t/*\n\t\t\t * Live update form on the form builder.\n\t\t\t */\n\t\t\tconst container = document.querySelector( '#field_' + fieldId + '_inner_container .frm_combo_inputs_container' );\n\t\t\tconst newColClass = getColClass( subFieldNames.length );\n\n\t\t\t// Set all sub field elements to cache and hide all of them first.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst subFieldEl = container.querySelector( '[data-sub-field-name=\"' + name + '\"]' );\n\t\t\t\tif ( subFieldEl ) {\n\t\t\t\t\tsubFieldEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsubFieldEl.classList.remove( ...colClasses );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name, subFieldEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst subFieldEl = getSubFieldElFromCache( fieldId, subFieldName );\n\t\t\t\tif ( ! subFieldEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubFieldEl.classList.remove( 'frm_hidden' );\n\t\t\t\tsubFieldEl.classList.add( newColClass );\n\n\t\t\t\tcontainer.append( subFieldEl );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Live update subfield options.\n\t\t\t */\n\t\t\t// Hide all subfield options.\n\t\t\tallSubFieldNames.forEach( name => {\n\t\t\t\tconst optionsEl = document.querySelector( '.frm_sub_field_options-' + name + '[data-field-id=\"' + fieldId + '\"]' );\n\t\t\t\tif ( optionsEl ) {\n\t\t\t\t\toptionsEl.classList.add( 'frm_hidden' );\n\t\t\t\t\tsetSubFieldElToCache( fieldId, name + '_options', optionsEl );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsubFieldNames.forEach( subFieldName => {\n\t\t\t\tconst optionsEl = getSubFieldElFromCache( fieldId, subFieldName + '_options' );\n\t\t\t\tif ( ! optionsEl ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\toptionsEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\t\t};\n\n\t\tconst dropdownSelector = '.frm_name_layout_dropdown';\n\t\tdocument.addEventListener( 'change', event => {\n\t\t\tif ( event.target.matches( dropdownSelector ) ) {\n\t\t\t\tonChangeLayout( event );\n\t\t\t}\n\t\t}, false );\n\t}\n\n\tfunction debounce( func, wait = 100 ) {\n\t\treturn frmDom.util.debounce( func, wait );\n\t}\n\n\tfunction addSaveAndDragIconsToOption( fieldId, liObject ) {\n\t\tlet li, useTag, useTagHref;\n\t\tlet hasDragIcon = false;\n\t\tlet hasSaveIcon = false;\n\n\t\tif ( liObject.newOption ) {\n\t\t\tconst parser = new DOMParser();\n\t\t\tli = parser.parseFromString( liObject.newOption, 'text/html' ).body.childNodes[ 0 ];\n\t\t} else {\n\t\t\tli = liObject;\n\t\t}\n\n\t\tconst liIcons = li.querySelectorAll( 'svg' );\n\n\t\tliIcons.forEach( ( svg, key ) => {\n\t\t\tuseTag = svg.getElementsByTagNameNS( 'http://www.w3.org/2000/svg', 'use' )[ 0 ];\n\t\t\tif ( ! useTag ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tuseTagHref = useTag.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ) || useTag.getAttribute( 'href' );\n\n\t\t\tif ( useTagHref === '#frm_drag_icon' ) {\n\t\t\t\thasDragIcon = true;\n\t\t\t}\n\n\t\t\tif ( useTagHref === '#frm_save_icon' ) {\n\t\t\t\thasSaveIcon = true;\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! hasDragIcon ) {\n\t\t\tli.prepend( icons.drag.cloneNode( true ) );\n\t\t}\n\n\t\tif ( li.querySelector( `[id^=field_key_${ fieldId }-]` ) && ! hasSaveIcon ) {\n\t\t\tli.querySelector( `[id^=field_key_${ fieldId }-]` ).after( icons.save.cloneNode( true ) );\n\t\t}\n\n\t\tif ( liObject.newOption ) {\n\t\t\tliObject.newOption = li;\n\t\t}\n\t}\n\n\tfunction maybeAddSaveAndDragIcons( fieldId ) {\n\t\tconst fieldOptions = document.querySelectorAll( `[id^=frm_delete_field_${ fieldId }-]` );\n\t\t// return if there are no options.\n\t\tif ( fieldOptions.length < 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = [ ...fieldOptions ].slice( 1 );\n\t\toptions.forEach( ( li, _key ) => {\n\t\t\tif ( li.classList.contains( 'frm_other_option' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\taddSaveAndDragIconsToOption( fieldId, li );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforce the maximum number of entries list columns dynamically.\n\t *\n\t * @since 6.24\n\t *\n\t * @return {void}\n\t */\n\tfunction maybeInitEntriesListPage() {\n\t\tif ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst screenOptionsWrapper = document.getElementById( 'screen-options-wrap' );\n\t\tif ( ! screenOptionsWrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxSelectionsNote = div( {\n\t\t\tclassName: 'frm_warning_style',\n\t\t\ttext: __( 'Only 10 columns can be selected at a time.', 'formidable' ),\n\t\t} );\n\t\tmaxSelectionsNote.style.margin = 0;\n\n\t\tconst legend = screenOptionsWrapper.querySelector( 'legend' );\n\t\tlegend.parentNode.insertBefore( maxSelectionsNote, legend.nextElementSibling );\n\n\t\tconst checkboxes = Array.from( screenOptionsWrapper.querySelectorAll( 'input[type=\"checkbox\"]' ) );\n\t\tconst maximumColumns = 10;\n\t\tconst getSelectedCount = () => {\n\t\t\treturn checkboxes.reduce( ( count, checkbox ) => {\n\t\t\t\treturn checkbox.checked ? count + 1 : count;\n\t\t\t}, 0 );\n\t\t};\n\t\tconst disableCheckboxesIfAtMax = () => {\n\t\t\tif ( getSelectedCount() >= maximumColumns ) {\n\t\t\t\tmaxSelectionsNote.classList.remove( 'frm_hidden' );\n\t\t\t\tcheckboxes.forEach( checkbox => {\n\t\t\t\t\tif ( ! checkbox.checked ) {\n\t\t\t\t\t\tcheckbox.parentNode.classList.add( 'frm_noallow' );\n\t\t\t\t\t\tcheckbox.disabled = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\t\t\t}\n\t\t};\n\t\tconst addCheckboxListeners = () => {\n\t\t\tcheckboxes.forEach(\n\t\t\t\tcheckbox => {\n\t\t\t\t\tcheckbox.addEventListener(\n\t\t\t\t\t\t'change',\n\t\t\t\t\t\tevent => {\n\t\t\t\t\t\t\tif ( event.target.checked ) {\n\t\t\t\t\t\t\t\tdisableCheckboxesIfAtMax();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmaxSelectionsNote.classList.add( 'frm_hidden' );\n\n\t\t\t\t\t\t\t\t// Enable all checkboxes when a checkbox is unchecked.\n\t\t\t\t\t\t\t\tcheckboxes.forEach(\n\t\t\t\t\t\t\t\t\tcheckbox => {\n\t\t\t\t\t\t\t\t\t\tcheckbox.parentNode.classList.remove( 'frm_noallow' );\n\t\t\t\t\t\t\t\t\t\tcheckbox.disabled = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tdisableCheckboxesIfAtMax();\n\t\taddCheckboxListeners();\n\t}\n\n\tfunction initOnSubmitAction() {\n\t\tconst onChangeType = event => {\n\t\t\tif ( ! event.target.checked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionEl = event.target.closest( '.frm_form_action_settings' );\n\t\t\tactionEl.querySelectorAll( '.frm_on_submit_dependent_setting:not(.frm_hidden)' ).forEach( el => {\n\t\t\t\tel.classList.add( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tconst activeEls = actionEl.querySelectorAll( '.frm_on_submit_dependent_setting[data-show-if-' + event.target.value + ']' );\n\t\t\tactiveEls.forEach( activeEl => {\n\t\t\t\tactiveEl.classList.remove( 'frm_hidden' );\n\t\t\t} );\n\n\t\t\tactionEl.setAttribute( 'data-on-submit-type', event.target.value );\n\t\t};\n\n\t\tfrmDom.util.documentOn( 'change', '.frm_on_submit_type input[type=\"radio\"]', onChangeType );\n\t}\n\n\t/**\n\t * Listen for click events for an API-loaded email collection form.\n\t *\n\t * This is used for the Active Campaign sign-up form in the inbox page (when there are no messages).\n\t */\n\tfunction initAddMyEmailAddress() {\n\t\tjQuery( document ).on(\n\t\t\t'click',\n\t\t\t'#frm-add-my-email-address',\n\t\t\tevent => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\taddMyEmailAddress();\n\t\t\t}\n\t\t);\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tconst leaveEmailInput = document.getElementById( 'frm_leave_email' );\n\n\t\tif ( emptyInbox && leaveEmailInput ) {\n\t\t\tconst leaveEmailModal = document.getElementById( 'frm-leave-email-modal' );\n\t\t\tleaveEmailModal.classList.remove( 'frm_hidden' );\n\t\t\tleaveEmailModal.querySelector( '.frm_modal_footer' ).classList.add( 'frm_hidden' );\n\n\t\t\tleaveEmailInput.addEventListener(\n\t\t\t\t'keyup',\n\t\t\t\tevent => {\n\t\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\t\tconst button = document.getElementById( 'frm-add-my-email-address' );\n\t\t\t\t\t\tif ( button ) {\n\t\t\t\t\t\t\tbutton.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction addMyEmailAddress() {\n\t\tconst email = document.getElementById( 'frm_leave_email' ).value.trim();\n\t\tif ( '' === email ) {\n\t\t\thandleEmailAddressError( 'empty' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\t\tif ( regex.test( email ) === false ) {\n\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst $hiddenForm = jQuery( '#frmapi-email-form' ).find( 'form' );\n\t\tconst $hiddenEmailField = $hiddenForm.find( '[type=\"email\"]' ).not( '.frm_verify' );\n\t\tif ( ! $hiddenEmailField.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst emptyInbox = document.getElementById( 'frm_empty_inbox' );\n\t\tif ( emptyInbox ) {\n\t\t\tdocument.getElementById( 'frm-add-my-email-address' ).remove();\n\n\t\t\tconst emailWrapper = document.getElementById( 'frm_leave_email_wrapper' );\n\t\t\tif ( emailWrapper ) {\n\t\t\t\temailWrapper.classList.add( 'frm_hidden' );\n\t\t\t\tconst spinner = span( { className: 'frm-wait frm_spinner' } );\n\t\t\t\tspinner.style.visibility = 'visible';\n\t\t\t\tspinner.style.float = 'none';\n\t\t\t\tspinner.style.width = 'unset';\n\t\t\t\temailWrapper.parentElement.insertBefore(\n\t\t\t\t\tspinner,\n\t\t\t\t\temailWrapper.nextElementSibling\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t$hiddenEmailField.val( email );\n\t\tjQuery.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: $hiddenForm.attr( 'action' ),\n\t\t\tdata: $hiddenForm.serialize() + '&action=frm_forms_preview'\n\t\t} ).done( function( data ) {\n\t\t\tconst message = jQuery( data ).find( '.frm_message' ).text().trim();\n\t\t\tif ( message.indexOf( 'Thanks!' ) === -1 ) {\n\t\t\t\thandleEmailAddressError( 'invalid' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst apiForm = document.getElementById( 'frmapi-email-form' );\n\t\t\tconst spinner = apiForm.parentElement.querySelector( '.frm_spinner' );\n\t\t\tif ( spinner ) {\n\t\t\t\tspinner.remove();\n\t\t\t}\n\n\t\t\tconst showSuccessMessage = wp.hooks.applyFilters( 'frm_thank_you_on_signup', true );\n\t\t\tif ( showSuccessMessage ) {\n\t\t\t\t// Handle successful form submission.\n\t\t\t\t// handle the Active Campaign form on the inbox page.\n\t\t\t\tdocument.getElementById( 'frm_leave_email_wrapper' ).replaceWith(\n\t\t\t\t\tspan( __( 'Thank you for signing up!', 'formidable' ) )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds footer links to the admin body content.\n\t *\n\t * @return {void}\n\t */\n\tfunction addAdminFooterLinks() {\n\t\tconst footerLinks = document.querySelector( '.frm-admin-footer-links' );\n\t\tconst container = document.querySelector( '.frm_page_container' ) ?? document.getElementById( 'wpbody-content' );\n\n\t\tif ( ! footerLinks || ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.appendChild( footerLinks );\n\t\tfooterLinks.classList.remove( 'frm_hidden' );\n\t}\n\n\t/**\n\t * Apply zebra striping to a table while ignoring empty rows.\n\t *\n\t * @param {string} tableSelector The CSS selector for the table.\n\t * @param {string} emptyRowClass The class name used to identify empty rows.\n\t */\n\tfunction applyZebraStriping( tableSelector, emptyRowClass ) {\n\t\t// Get all non-empty table rows within the specified table\n\t\tconst rows = document.querySelectorAll( `${ tableSelector } tr${ emptyRowClass ? `:not(.${ emptyRowClass })` : '' }` );\n\t\tif ( rows.length < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet isOdd = true;\n\t\trows.forEach( row => {\n\t\t\t// Clean old \"frm-odd\" or \"frm-even\" classes and add the appropriate new class\n\t\t\trow.classList.remove( 'frm-odd', 'frm-even' );\n\t\t\trow.classList.add( isOdd ? 'frm-odd' : 'frm-even' );\n\n\t\t\tisOdd = ! isOdd;\n\t\t} );\n\n\t\tconst tables = document.querySelectorAll( tableSelector );\n\t\ttables.forEach( table => table.classList.add( 'frm-zebra-striping' ) );\n\t}\n\n\tfunction maybeHideShortcodes( e ) {\n\t\tif ( ! builderPage ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif ( e.target.classList.contains( 'frm-show-box' ) || ( e.target.parentElement && e.target.parentElement.classList.contains( 'frm-show-box' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sidebar = document.getElementById( 'frm_adv_info' );\n\t\tif ( ! sidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isChild = e.target.closest( '#frm_adv_info' );\n\n\t\tif ( ! isChild && sidebar.style.display !== 'none' ) {\n\t\t\thideShortcodes( sidebar );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes and manages the visibility of dependent elements based on the selected options in dropdowns with the 'frm_select_with_dependency' class.\n\t * It sets up initial visibility at page load and updates it on each dropdown change.\n\t *\n\t * @since 6.9\n\t *\n\t * @return {void}\n\t */\n\tfunction initSelectDependencies() {\n\t\tconst selects = document.querySelectorAll( 'select.frm_select_with_dependency' );\n\n\t\t/**\n\t\t * Toggles the visibility of dependent elements associated with a select element based on its current selection.\n\t\t *\n\t\t * @since 6.9\n\t\t *\n\t\t * @param {HTMLElement} select The select element whose dependencies need to be managed.\n\t\t * @return {void}\n\t\t */\n\t\tfunction toggleDependencyVisibility( select ) {\n\t\t\tconst selectedOption = select.options[ select.selectedIndex ];\n\t\t\tselect.querySelectorAll( 'option[data-dependency]:not([data-dependency-skip])' ).forEach( option => {\n\t\t\t\tconst dependencyElement = document.querySelector( option.dataset.dependency );\n\t\t\t\tdependencyElement?.classList.toggle( 'frm_hidden', selectedOption !== option );\n\t\t\t} );\n\t\t}\n\n\t\t// Initial setup: Show dependencies based on the current selection in each dropdown\n\t\tselects.forEach( toggleDependencyVisibility );\n\n\t\t// Update dependencies visibility on dropdown change\n\t\tfrmDom.util.documentOn( 'change', 'select.frm_select_with_dependency', event => toggleDependencyVisibility( event.target ) );\n\t}\n\n\t/**\n\t * Moves the focus to the next single option input field in the list and positions the cursor at the end of the text.\n\t *\n\t * @param {HTMLElement} currentInput The currently focused input element.\n\t */\n\tfunction focusNextSingleOptionInput( currentInput ) {\n\t\tconst optionsList = currentInput.closest( '.frm_single_option' ).parentElement;\n\t\tconst inputs = optionsList.querySelectorAll( '.frm_single_option input[name^=\"field_options[\" ], .frm_single_option input[name^=\"rows_\"]' );\n\t\tconst inputsArray = Array.from( inputs );\n\n\t\t// Find the index of the currently focused input\n\t\tconst currentIndex = inputsArray.indexOf( currentInput );\n\n\t\tif ( currentIndex < 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the next visible input field\n\t\tconst nextInput = inputsArray.slice( currentIndex + 1 ).find( input => input.offsetParent !== null );\n\n\t\tif ( nextInput ) {\n\t\t\tnextInput.focus();\n\n\t\t\t// Move the cursor to the end of the text in the next input field\n\t\t\tconst textLength = nextInput.value.length;\n\t\t\tnextInput.setSelectionRange( textLength, textLength );\n\t\t}\n\t}\n\n\treturn {\n\t\tinit: function() {\n\t\t\tinitAddMyEmailAddress();\n\t\t\taddAdminFooterLinks();\n\n\t\t\tdocument.addEventListener( 'show.bs.dropdown', function() {\n\t\t\t\t// Fixes issues with tooltips lingering after a dropdown is shown.\n\t\t\t\tdeleteTooltips();\n\t\t\t} );\n\n\t\t\ts = {};\n\n\t\t\t// Bootstrap dropdown button\n\t\t\tjQuery( '.wp-admin' ).on( 'click', function( e ) {\n\t\t\t\tconst t = jQuery( e.target );\n\t\t\t\tconst $openDrop = jQuery( '.dropdown.open' );\n\t\t\t\tif ( $openDrop.length && ! t.hasClass( 'dropdown' ) && ! t.closest( '.dropdown' ).length ) {\n\t\t\t\t\t$openDrop.removeClass( 'open' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tjQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox );\n\n\t\t\tif ( typeof thisFormId === 'undefined' ) {\n\t\t\t\tthisFormId = jQuery( document.getElementById( 'form_id' ) ).val();\n\t\t\t}\n\n\t\t\t// Add event listener for dismissible warning messages.\n\t\t\tdocument.querySelectorAll( '.frm-warning-dismiss' ).forEach( dismissIcon => {\n\t\t\t\tonClickPreventDefault( dismissIcon, dismissWarningMessage );\n\t\t\t} );\n\n\t\t\tfrmAdminBuild.inboxBannerInit();\n\n\t\t\tif ( $newFields.length > 0 ) {\n\t\t\t\t// only load this on the form builder page\n\t\t\t\tfrmAdminBuild.buildInit();\n\t\t\t} else if ( document.getElementById( 'frm_notification_settings' ) !== null ) {\n\t\t\t\t// only load on form settings page\n\t\t\t\tfrmAdminBuild.settingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_styling_form' ) !== null ) {\n\t\t\t\t// load styling settings js\n\t\t\t\tfrmAdminBuild.styleInit();\n\t\t\t} else if ( document.getElementById( 'form_global_settings' ) !== null ) {\n\t\t\t\t// global settings page\n\t\t\t\tfrmAdminBuild.globalSettingsInit();\n\t\t\t} else if ( document.getElementById( 'frm_export_xml' ) !== null ) {\n\t\t\t\t// import/export page\n\t\t\t\tfrmAdminBuild.exportInit();\n\t\t\t} else if ( null !== document.querySelector( '.frm-inbox-wrapper' ) ) {\n\t\t\t\t// Dashboard page inbox.\n\t\t\t\tfrmAdminBuild.inboxInit();\n\t\t\t} else if ( document.getElementById( 'frm-welcome' ) !== null ) {\n\t\t\t\t// Solution install page\n\t\t\t\tfrmAdminBuild.solutionInit();\n\t\t\t} else {\n\t\t\t\tmaybeInitEntriesListPage();\n\n\t\t\t\tinitAutocomplete();\n\n\t\t\t\tjQuery( '[data-frmprint]' ).on( 'click', function() {\n\t\t\t\t\twindow.print();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( document ).on( 'change', 'select[data-toggleclass], input[data-toggleclass]', toggleFormOpts );\n\t\t\tinitSelectDependencies();\n\n\t\t\tconst $advInfo = jQuery( document.getElementById( 'frm_adv_info' ) );\n\t\t\tif ( $advInfo.length > 0 || jQuery( '.frm_field_list' ).length > 0 ) {\n\t\t\t\t// only load on the form, form settings, and view settings pages\n\t\t\t\tfrmAdminBuild.panelInit();\n\t\t\t}\n\n\t\t\tloadTooltips();\n\t\t\tinitUpgradeModal();\n\t\t\tfrmDom.util.documentOn( 'click', '[data-modal-title]', showBasicModal );\n\n\t\t\t// used on build, form settings, and view settings\n\t\t\tconst $shortCodeDiv = jQuery( document.getElementById( 'frm_shortcodediv' ) );\n\t\t\tif ( $shortCodeDiv.length > 0 ) {\n\t\t\t\tjQuery( 'a.edit-frm_shortcode' ).on( 'click', function() {\n\t\t\t\t\tif ( $shortCodeDiv.is( ':hidden' ) ) {\n\t\t\t\t\t\t$shortCodeDiv.slideDown( 'fast' );\n\t\t\t\t\t\tthis.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\n\t\t\t\tjQuery( '.cancel-frm_shortcode', '#frm_shortcodediv' ).on( 'click', function() {\n\t\t\t\t\t$shortCodeDiv.slideUp( 'fast' );\n\t\t\t\t\t$shortCodeDiv.siblings( 'a.edit-frm_shortcode' ).show();\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// tabs\n\t\t\tjQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );\n\t\t\tjQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {\n\t\t\t\tconst showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );\n\t\t\t\tif ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( showUpgradeTab ) {\n\t\t\t\t\tpopulateUpgradeTab( this );\n\t\t\t\t}\n\n\t\t\t\tclickTab( this );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\tclickTab( jQuery( '.starttab a' ), 'auto' );\n\n\t\t\t// submit the search form with dropdown\n\t\t\tjQuery( document ).on( 'click', '#frm-fid-search-menu a', function() {\n\t\t\t\tconst val = this.id.replace( 'fid-', '' );\n\t\t\t\tjQuery( 'select[name=\"fid\"]' ).val( val );\n\t\t\t\ttriggerSubmit( document.getElementById( 'posts-filter' ) );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_select_box' ).on( 'click focus', function() {\n\t\t\t\tthis.select();\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'input search change', '.frm-auto-search:not(#frm-form-templates-page #template-search-input)', searchContent );\n\t\t\tjQuery( document ).on( 'focusin click', '.frm-auto-search', stopPropagation );\n\t\t\tconst autoSearch = jQuery( '.frm-auto-search' );\n\t\t\tif ( autoSearch.val() !== '' ) {\n\t\t\t\tautoSearch.trigger( 'keyup' );\n\t\t\t}\n\n\t\t\t// Initialize Formidable Connection.\n\t\t\tFrmFormsConnect.init();\n\n\t\t\tjQuery( document ).on( 'click', '.frm-install-addon', installAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-activate-addon', activateAddon );\n\t\t\tjQuery( document ).on( 'click', '.frm-solution-multiple', installMultipleAddons );\n\n\t\t\t// prevent annoying confirmation message from WordPress\n\t\t\tjQuery( 'button, input[type=submit]' ).on( 'click', removeWPUnload );\n\n\t\t\taddMultiselectLabelListener();\n\n\t\t\tfrmAdminBuild.hooks.addFilter(\n\t\t\t\t'frm_before_embed_modal',\n\t\t\t\t( ids, { element, type } ) => {\n\t\t\t\t\tif ( 'form' !== type ) {\n\t\t\t\t\t\treturn ids;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet formId, formKey;\n\t\t\t\t\tconst row = element.closest( 'tr' );\n\n\t\t\t\t\tif ( row ) {\n\t\t\t\t\t\t// Embed icon on form index.\n\t\t\t\t\t\tformId = parseInt( row.querySelector( '.column-id' ).textContent );\n\t\t\t\t\t\tformKey = row.querySelector( '.column-form_key' ).textContent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Embed button in form builder / form settings.\n\t\t\t\t\t\tformId = document.getElementById( 'form_id' ).value;\n\n\t\t\t\t\t\tconst formKeyInput = document.getElementById( 'frm_form_key' );\n\t\t\t\t\t\tif ( formKeyInput ) {\n\t\t\t\t\t\t\tformKey = formKeyInput.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst previewDrop = document.getElementById( 'frm-previewDrop' );\n\t\t\t\t\t\t\tif ( previewDrop ) {\n\t\t\t\t\t\t\t\tformKey = previewDrop.nextElementSibling.querySelector( '.dropdown-item a' ).getAttribute( 'href' ).split( 'form=' )[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ formId, formKey ];\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdocument.querySelectorAll( '#frm-show-fields > li, .frm_grid_container li' ).forEach( ( el, _key ) => {\n\t\t\t\tel.addEventListener( 'click', function() {\n\t\t\t\t\tconst fieldId = this.querySelector( 'li' )?.dataset.fid || this.dataset.fid;\n\t\t\t\t\tmaybeAddSaveAndDragIcons( fieldId );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tconst smallScreenProceedButton = document.getElementById( 'frm_small_screen_proceed_button' );\n\t\t\tif ( smallScreenProceedButton ) {\n\t\t\t\tonClickPreventDefault( smallScreenProceedButton, () => {\n\t\t\t\t\tdocument.getElementById( 'frm_small_device_message_container' )?.remove();\n\t\t\t\t\tdoJsonPost( 'small_screen_proceed', new FormData() );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst saleBanner = document.getElementById( 'frm_sale_banner' );\n\t\t\tconst saleDismiss = saleBanner?.querySelector( '.dismiss' );\n\t\t\tif ( saleBanner ) {\n\t\t\t\tonClickPreventDefault( saleBanner, event => {\n\t\t\t\t\tconst target = event.target;\n\t\t\t\t\tif ( target.closest( '.dismiss' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twindow.location.href = saleBanner.getAttribute( 'data-url' );\n\t\t\t\t} );\n\n\t\t\t\tif ( saleDismiss ) {\n\t\t\t\t\tonClickPreventDefault( saleDismiss, () => {\n\t\t\t\t\t\tsaleBanner.remove();\n\n\t\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\t\tdoJsonPost( 'sale_banner_dismiss', formData );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tbuildInit: function() {\n\t\t\tjQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\tlet loadFieldId, $builderForm, builderArea;\n\n\t\t\tdebouncedSyncAfterDragAndDrop = debounce( syncAfterDragAndDrop, 10 );\n\t\t\tpostBodyContent = document.getElementById( 'post-body-content' );\n\t\t\t$postBodyContent = jQuery( postBodyContent );\n\n\t\t\tif ( jQuery( '.frm_field_loading' ).length ) {\n\t\t\t\tloadFieldId = jQuery( '.frm_field_loading' ).first().attr( 'id' );\n\t\t\t\tloadFields( loadFieldId );\n\t\t\t}\n\n\t\t\tsetupSortable( 'ul.frm_sorting' );\n\n\t\t\tdocument.querySelectorAll( '.field_type_list > li:not(.frm_show_upgrade)' ).forEach( makeDraggable );\n\n\t\t\tjQuery( 'ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a' ).disableSelection();\n\n\t\t\tjQuery( '.frm_submit_ajax' ).on( 'click', submitBuild );\n\t\t\tjQuery( '.frm_submit_no_ajax' ).on( 'click', submitNoAjax );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tjQuery( 'a.edit-form-status' ).on( 'click', slideDown );\n\t\t\tjQuery( '.cancel-form-status' ).on( 'click', slideUp );\n\t\t\tjQuery( '.save-form-status' ).on( 'click', function() {\n\t\t\t\tconst newStatus = jQuery( document.getElementById( 'form_change_status' ) ).val();\n\t\t\t\tjQuery( 'input[name=\"new_status\"]' ).val( newStatus );\n\t\t\t\tjQuery( document.getElementById( 'form-status-display' ) ).html( newStatus );\n\t\t\t\tjQuery( '.cancel-form-status' ).trigger( 'click' );\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_form_builder form' ).first().on( 'submit', function() {\n\t\t\t\tjQuery( '.inplace_field' ).trigger( 'blur' );\n\t\t\t} );\n\n\t\t\tinitiateMultiselect();\n\t\t\trenumberPageBreaks();\n\n\t\t\t$builderForm = jQuery( builderForm );\n\t\t\tbuilderArea = document.getElementById( 'frm_form_editor_container' );\n\t\t\t$builderForm.on( 'click', '.frm_add_logic_row', addFieldLogicRow );\n\t\t\t$builderForm.on( 'click', '.frm_add_watch_lookup_row', addWatchLookupRow );\n\t\t\t$builderForm.on( 'change', '.frm_get_values_form', updateGetValueFieldSelection );\n\t\t\t$builderForm.on( 'change', '.frm_logic_field_opts', getFieldValues );\n\t\t\t$builderForm.on( 'frm-multiselect-changed', 'select[name^=\"field_options[admin_only_\"]', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document.getElementById( 'frm-insert-fields' ) ).on( 'click', '.frm_add_field', addFieldClick );\n\t\t\t$newFields.on( 'click', '.frm_clone_field', duplicateField );\n\t\t\t$builderForm.on( 'blur', 'input[id^=\"frm_calc\"]', checkCalculationCreatedByUser );\n\t\t\t$builderForm.on( 'change', 'input.frm_format_opt, input.frm_max_length_opt', toggleInvalidMsg );\n\t\t\t$builderForm.on( 'change click', '[data-changeme]', liveChanges );\n\t\t\t$builderForm.on( 'click', 'input.frm_req_field', markRequired );\n\t\t\t$builderForm.on( 'click', '.frm_mark_unique', markUnique );\n\n\t\t\t$builderForm.on( 'change', '.frm_repeat_format', toggleRepeatButtons );\n\t\t\t$builderForm.on( 'change', '.frm_repeat_limit', checkRepeatLimit );\n\t\t\t$builderForm.on( 'change', '.frm_js_checkbox_limit', checkCheckboxSelectionsLimit );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[add_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'add' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'input', 'input[name^=\"field_options[remove_label_\"]', function() {\n\t\t\t\tupdateRepeatText( this, 'remove' );\n\t\t\t} );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[data_type_\"]', maybeClearWatchFields );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-page', maybeCollapsePage );\n\t\t\tjQuery( builderArea ).on( 'click', '.frm-collapse-section', maybeCollapseSection );\n\t\t\t$builderForm.on( 'click', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', maybeCollapseSettings );\n\t\t\t$builderForm.on( 'keydown', '.frm-single-settings h3, .frm-single-settings h4.frm-collapsible', function( event ) {\n\t\t\t\t// If so, only proceed if the key pressed was 'Enter' or 'Space'\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeCollapseSettings.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( builderArea ).on( 'show.bs.dropdown hide.bs.dropdown', changeSectionStyle );\n\n\t\t\t$builderForm.on( 'click', '.frm_toggle_sep_values', toggleSepValues );\n\t\t\t$builderForm.on( 'click', '.frm_toggle_image_options', toggleImageOptions );\n\t\t\t$builderForm.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\t\t\t$builderForm.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$builderForm.on( 'change', '.frm_hide_image_text', refreshOptionDisplay );\n\t\t\t$builderForm.on( 'change', '.frm_field_options_image_size', setImageSize );\n\t\t\t$builderForm.on( 'click', '.frm_multiselect_opt', toggleMultiselect );\n\t\t\t$newFields.on( 'mousedown', 'input, textarea, select', stopFieldFocus );\n\t\t\t$newFields.on( 'click', 'input[type=radio], input[type=checkbox]', stopFieldFocus );\n\t\t\t$newFields.on( 'click', '.frm_delete_field', clickDeleteField );\n\t\t\t$newFields.on( 'click', '.frm_select_field', clickSelectField );\n\t\t\tjQuery( document ).on( 'click', '.frm_delete_field_group', clickDeleteFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '.frm_clone_field_group', duplicateFieldGroup );\n\t\t\tjQuery( document ).on( 'click', '#frm_field_group_controls > span:first-child', clickFieldGroupLayout );\n\t\t\tjQuery( document ).on( 'click', '.frm-row-layout-option', handleFieldGroupLayoutOptionClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-row-layout-option', handleFieldGroupLayoutOptionInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-custom-field-group-layout', customFieldGroupLayoutClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row .frm-custom-field-group-layout', customFieldGroupLayoutInsideMergeClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-break-field-group', breakFieldGroupClick );\n\t\t\t$newFields.on( 'click', '#frm_field_group_popup .frm_grid_container input', focusFieldGroupInputOnClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-cancel-custom-field-group-layout', cancelCustomFieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-save-custom-field-group-layout', saveCustomFieldGroupClick );\n\t\t\t$newFields.on( 'click', 'ul.frm_sorting', fieldGroupClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-merge-fields-into-row', mergeFieldsIntoRowClick );\n\t\t\tjQuery( document ).on( 'click', '.frm-delete-field-groups', deleteFieldGroupsClick );\n\t\t\t$newFields.on( 'click', '.frm-field-action-icons [data-toggle=\"dropdown\"]', function() {\n\t\t\t\tthis.closest( 'li.form-field' ).classList.add( 'frm-field-settings-open' );\n\t\t\t\tjQuery( document ).on( 'click', '#frm_builder_page', handleClickOutsideOfFieldSettings );\n\t\t\t} );\n\t\t\t$newFields.on( 'mousemove', 'ul.frm_sorting', checkForMultiselectKeysOnMouseMove );\n\t\t\t$newFields.on( 'show.bs.dropdown', '.frm-field-action-icons', onFieldActionDropdownShow );\n\t\t\tjQuery( document ).on( 'show.bs.dropdown', '#frm_field_group_controls', onFieldGroupActionDropdownShow );\n\t\t\t$builderForm.on( 'click', '.frm_single_option a[data-removeid]', deleteFieldOption );\n\t\t\t$builderForm.on( 'mousedown', '.frm_single_option input[type=radio]', maybeUncheckRadio );\n\t\t\t$builderForm.on( 'focusin', '.frm_single_option input[type=text]', maybeClearOptText );\n\t\t\t$builderForm.on( 'click', '.frm_add_opt', addFieldOption );\n\t\t\t$builderForm.on( 'change', '.frm_single_option input', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_image_id', resetOptOnChange );\n\t\t\t$builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );\n\n\t\t\t$newFields.on( 'click', '.frm_primary_label', clickLabel );\n\t\t\t$newFields.on( 'click', '.frm_description', clickDescription );\n\t\t\t$newFields.on( 'click', 'li.ui-state-default:not(.frm_noallow)', clickVis );\n\t\t\t$newFields.on( 'dblclick', 'li.ui-state-default', openAdvanced );\n\t\t\t$builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );\n\t\t\t$builderForm.on( 'change', 'select.conf_field', addConf );\n\n\t\t\t$builderForm.on( 'change', '.frm_get_field_selection', getFieldSelection );\n\n\t\t\t$builderForm.on( 'click', '.frm-show-inline-modal', maybeShowInlineModal );\n\t\t\t$builderForm.on( 'keydown', '.frm-show-inline-modal', function( event ) {\n\t\t\t\tconst { key } = event;\n\t\t\t\tif ( key === 'Enter' || key === ' ' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tmaybeShowInlineModal.call( this, event );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$builderForm.on( 'click', '.frm-inline-modal .dismiss', dismissInlineModal );\n\t\t\tjQuery( document ).on( 'change', '[data-frmchange]', changeInputtedValue );\n\n\t\t\tdocument.addEventListener( 'click', closeModalOnOutsideClick );\n\n\t\t\t$builderForm.on( 'change', '.frm_include_extras_field', rePopCalcFieldsForSummary );\n\t\t\t$builderForm.on( 'change', 'select[name^=\"field_options[form_select_\"]', maybeChangeEmbedFormMsg );\n\n\t\t\tjQuery( document ).on( 'submit', '#frm_js_build_form', buildSubmittedNoAjax );\n\t\t\tjQuery( document ).on( 'change', '#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea', fieldUpdated );\n\n\t\t\tpopAllProductFields();\n\n\t\t\tjQuery( document ).on( 'change', '.frmjs_prod_data_type_opt', toggleProductType );\n\n\t\t\tjQuery( document ).on( 'focus', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextFocus );\n\t\t\tjQuery( document ).on( 'blur', '.frm-single-settings ul input[type=\"text\"][name^=\"field_options[options_\"]', onOptionTextBlur );\n\n\t\t\tfrmDom.util.documentOn( 'click', '.frm-show-field-settings', clickVis );\n\t\t\tfrmDom.util.documentOn( 'change', 'select.frm_format_dropdown, select.frm_phone_type_dropdown', maybeUpdateFormatInput );\n\n\t\t\t// Navigate to the next input field on pressing Enter in a single option field\n\t\t\t$builderForm.on( 'keydown', '.frm_single_option input[name^=\"field_options[\"], .frm_single_option input[name^=\"rows_\"]', event => {\n\t\t\t\tif ( 'Enter' === event.key ) {\n\t\t\t\t\tfocusNextSingleOptionInput( event.currentTarget );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tinitBulkOptionsOverlay();\n\t\t\thideEmptyEle();\n\t\t\tdocument.addEventListener( 'frm_added_field', hideEmptyEle );\n\t\t\tmaybeHideQuantityProductFieldOption();\n\t\t\thandleNameFieldOnFormBuilder();\n\t\t\ttoggleSectionHolder();\n\t\t\thandleShowPasswordLiveUpdate();\n\t\t\tdocument.addEventListener( 'scroll', updateShortcodesPopupPosition, true );\n\t\t\tdocument.addEventListener( 'change', handleBuilderChangeEvent );\n\t\t\tdocument.querySelector( '.frm_form_builder' ).addEventListener( 'mousedown', event => {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} );\n\t\t\twp.hooks.addAction( 'frmShowedFieldSettings', 'formidableAdmin', ( showBtn, fieldSettingsEl ) => {\n\t\t\t\tfieldSettingsEl.querySelectorAll( '.frm-collapse-me' ).forEach( addSlideAnimationCssVars );\n\t\t\t}, 9999 );\n\t\t},\n\n\t\tsettingsInit: function() {\n\t\t\tconst $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) );\n\n\t\t\tlet formSettings, $loggedIn, $cookieExp, $editable;\n\n\t\t\t// BCC, CC, and Reply To button functionality\n\t\t\t$formActions.on( 'click', '.frm_email_buttons', showEmailRow );\n\t\t\t$formActions.on( 'click', '.frm_remove_field', hideEmailRow );\n\t\t\t$formActions.on( 'change', '.frm_to_row, .frm_from_row', showEmailWarning );\n\t\t\t$formActions.on( 'change', '.frm_tax_selector', changePosttaxRow );\n\t\t\t$formActions.on( 'change', 'select.frm_single_post_field', checkDupPost );\n\t\t\t$formActions.on( 'change', 'select.frm_toggle_post_content', togglePostContent );\n\t\t\t$formActions.on( 'change', 'select.frm_dyncontent_opt', fillDyncontent );\n\t\t\t$formActions.on( 'change', '.frm_post_type', switchPostType );\n\t\t\t$formActions.on( 'click', '.frm_add_postmeta_row', addPostmetaRow );\n\t\t\t$formActions.on( 'click', '.frm_add_posttax_row', addPosttaxRow );\n\t\t\t$formActions.on( 'click', '.frm_toggle_cf_opts', toggleCfOpts );\n\t\t\t$formActions.on( 'click', '.frm_duplicate_form_action', copyFormAction );\n\t\t\tjQuery( '.frm_actions_list' ).on( 'click', '.frm_active_action', addFormAction );\n\t\t\tjQuery( '#frm-show-groups, #frm-hide-groups' ).on( 'click', toggleActionGroups );\n\t\t\tinitiateMultiselect();\n\n\t\t\t//set actions icons to inactive\n\t\t\tjQuery( 'ul.frm_actions_list li' ).each( function() {\n\t\t\t\tcheckActiveAction( jQuery( this ).children( 'a' ).data( 'actiontype' ) );\n\n\t\t\t\t// If the icon is a background image, don't add BG color.\n\t\t\t\tconst icon = jQuery( this ).find( 'i' );\n\t\t\t\tif ( icon.css( 'background-image' ) !== 'none' ) {\n\t\t\t\t\ticon.addClass( 'frm-inverse' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.frm_submit_settings_btn' ).on( 'click', submitSettings );\n\n\t\t\taddFormNameModalEvents();\n\n\t\t\tformSettings = jQuery( '.frm_form_settings' );\n\t\t\tformSettings.on( 'click', '.frm_add_form_logic', addFormLogicRow );\n\t\t\tformSettings.on( 'click', '.frm_already_used', actionLimitMessage );\n\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction handleImageUploadClickEvents( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\tif ( ! target.closest( '.frm_image_preview_wrapper' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_choose_image_box' ) ) {\n\t\t\t\t\t\taddImageToOption.bind( target )( event );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( target.closest( '.frm_remove_image_option' ) ) {\n\t\t\t\t\t\tremoveImageFromOption.bind( target )( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// Close shortcode modal on click.\n\t\t\tformSettings.on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes );\n\n\t\t\t//Warning when user selects \"Do not store entries ...\"\n\t\t\tjQuery( document.getElementById( 'no_save' ) ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tif ( confirm( frmAdminJs.no_save_warning ) !== true ) {\n\t\t\t\t\t\t// Uncheck box if user hits \"Cancel\"\n\t\t\t\t\t\tjQuery( this ).attr( 'checked', false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( 'select[name=\"options[edit_action]\"]' ).on( 'change', showSuccessOpt );\n\n\t\t\t$loggedIn = document.getElementById( 'logged_in' );\n\t\t\tjQuery( $loggedIn ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_logged_in' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_logged_in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$cookieExp = jQuery( document.getElementById( 'frm_cookie_expiration' ) );\n\t\t\tjQuery( document.getElementById( 'frm_single_entry_type' ) ).on( 'change', function() {\n\t\t\t\tif ( this.value === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst $singleEntry = document.getElementById( 'single_entry' );\n\t\t\tjQuery( $singleEntry ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tvisible( '.hide_single_entry' );\n\t\t\t\t} else {\n\t\t\t\t\tinvisible( '.hide_single_entry' );\n\t\t\t\t}\n\n\t\t\t\tif ( this.checked && jQuery( document.getElementById( 'frm_single_entry_type' ) ).val() === 'cookie' ) {\n\t\t\t\t\t$cookieExp.fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\t$cookieExp.fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( '.hide_save_draft' ).hide();\n\n\t\t\tconst $saveDraft = jQuery( document.getElementById( 'save_draft' ) );\n\t\t\t$saveDraft.on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_save_draft' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\t\t\ttriggerChange( $saveDraft );\n\n\t\t\t//If Allow editing is checked/unchecked\n\t\t\t$editable = document.getElementById( 'editable' );\n\t\t\tjQuery( $editable ).on( 'change', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeIn( 'slow' );\n\t\t\t\t\ttriggerChange( document.getElementById( 'edit_action' ) );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_editable' ).fadeOut( 'slow' );\n\t\t\t\t\tjQuery( '.edit_action_message_box' ).fadeOut( 'slow' );//Hide On Update message box\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t//If File Protection is checked/unchecked\n\t\t\tjQuery( document ).on( 'change', '#protect_files', function() {\n\t\t\t\tif ( this.checked ) {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeIn( 'slow' );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( '.hide_protect_files' ).fadeOut( 'slow' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'frm-multiselect-changed', '#protect_files_role', adjustVisibilityValuesForEveryoneValues );\n\n\t\t\tjQuery( document ).on( 'submit', '.frm_form_settings', settingsSubmitted );\n\t\t\tjQuery( document ).on( 'change', '#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea', fieldUpdated );\n\n\t\t\t// Page Selection Autocomplete\n\t\t\tinitAutocomplete();\n\n\t\t\tjQuery( document ).on( 'frm-action-loaded', onActionLoaded );\n\n\t\t\tinitOnSubmitAction();\n\n\t\t\twp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated );\n\t\t},\n\n\t\tpanelInit: function() {\n\t\t\tlet customPanel, settingsPage, viewPage, insertFieldsTab;\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode );\n\t\t\tjQuery( document ).on( 'change', '.frm_insert_val', function() {\n\t\t\t\tinsertFieldCode( jQuery( this ).data( 'target' ), jQuery( this ).val() );\n\t\t\t\tjQuery( this ).val( '' );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'click change', '[name=\"frm-id-key-condition\"]', resetLogicBuilder );\n\t\t\tjQuery( document ).on( 'keyup change', '.frm-build-logic', setLogicExample );\n\n\t\t\tshowInputIcon();\n\t\t\tjQuery( document ).on( 'frmElementAdded', function( event, parentEle ) {\n\t\t\t\t/* This is here for add-ons to trigger */\n\t\t\t\tshowInputIcon( parentEle );\n\t\t\t} );\n\t\t\tjQuery( document ).on( 'mousedown', '.frm-show-box', showShortcodes );\n\n\t\t\tsettingsPage = document.getElementById( 'form_settings_page' );\n\t\t\tviewPage = document.body.classList.contains( 'post-type-frm_display' );\n\t\t\tinsertFieldsTab = document.getElementById( 'frm_insert_fields_tab' );\n\n\t\t\tif ( settingsPage !== null || viewPage || builderPage ) {\n\t\t\t\tjQuery( document ).on( 'focusin', 'form input, form textarea', function( e ) {\n\t\t\t\t\tlet htmlTab;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tmaybeShowModal( this );\n\n\t\t\t\t\tif ( jQuery( this ).is( ':not(:submit, input[type=button], .frm-search-input, input[type=checkbox])' ) ) {\n\t\t\t\t\t\tif ( jQuery( e.target ).closest( '#frm_adv_info' ).length ) {\n\t\t\t\t\t\t// Don't trigger for fields inside of the modal.\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( settingsPage !== null || builderPage ) {\n\t\t\t\t\t\t/* form settings page */\n\t\t\t\t\t\t\thtmlTab = jQuery( '#frm_html_tab' );\n\t\t\t\t\t\t\tif ( jQuery( this ).closest( '#html_settings' ).length > 0 ) {\n\t\t\t\t\t\t\t\thtmlTab.show();\n\t\t\t\t\t\t\t\thtmlTab.siblings().hide();\n\t\t\t\t\t\t\t\tjQuery( '#frm_html_tab a' ).trigger( 'click' );\n\t\t\t\t\t\t\t\ttoggleAllowedHTML( this );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tshowElement( jQuery( '.frm-category-tabs li' ) );\n\t\t\t\t\t\t\t\tinsertFieldsTab.click();\n\t\t\t\t\t\t\t\thtmlTab.hide();\n\t\t\t\t\t\t\t\thtmlTab.siblings().show();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( viewPage ) {\n\t\t\t\t\t\t\tconst event = new CustomEvent( 'frm_legacy_views_handle_field_focus' );\n\t\t\t\t\t\t\tevent.frmData = { idAttrValue: this.id };\n\t\t\t\t\t\t\tdocument.dispatchEvent( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( '.frm_wrap, #postbox-container-1' ).on( 'mousedown', '#frm_adv_info a, .frm_field_list a', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t} );\n\n\t\t\tcustomPanel = jQuery( '#frm_adv_info' );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmids', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmids', e );\n\t\t\t} );\n\t\t\tcustomPanel.on( 'click', '.subsubsub a.frmkeys', function( e ) {\n\t\t\t\ttoggleKeyID( 'frmkeys', e );\n\t\t\t} );\n\t\t},\n\n\t\tinboxInit: function() {\n\t\t\tjQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) {\n\t\t\t\tconst message = this.parentNode.parentNode;\n\t\t\t\tconst key = message.getAttribute( 'data-message' );\n\t\t\t\tconst href = this.getAttribute( 'href' );\n\t\t\t\tconst dismissedMessage = message.cloneNode( true );\n\t\t\t\tconst dismissedMessagesWrapper = document.querySelector( '.frm-dismissed-inbox-messages' );\n\n\t\t\t\tif ( 'free_templates' === key && ! this.classList.contains( 'frm_inbox_dismiss' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tdata = {\n\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\tkey,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t};\n\n\t\t\t\tconst isInboxSlideIn = 'frm_inbox_slide_in' === message.id;\n\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\tmessage.classList.remove( 's11-fadein' );\n\t\t\t\t\tmessage.classList.add( 's11-fadeout' );\n\t\t\t\t\tmessage.addEventListener( 'animationend', () => message.remove(), { once: true } );\n\t\t\t\t}\n\n\t\t\t\tpostAjax(\n\t\t\t\t\tdata,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif ( isInboxSlideIn ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( href !== '#' ) {\n\t\t\t\t\t\t\twindow.location = href;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfadeOut(\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tif ( null !== dismissedMessagesWrapper ) {\n\t\t\t\t\t\t\t\t\tdismissedMessage.classList.remove( 'frm-fade' );\n\t\t\t\t\t\t\t\t\tdismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) );\n\t\t\t\t\t\t\t\t\tdismissedMessagesWrapper.append( dismissedMessage );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) {\n\t\t\t\t\t\t\t\t\tdocument.getElementById( 'frm_empty_inbox' ).classList.remove( 'frm_hidden' );\n\t\t\t\t\t\t\t\t\tmessage.parentNode.closest( '.frm-active' ).classList.add( 'frm-empty-inbox' );\n\t\t\t\t\t\t\t\t\tshowActiveCampaignForm();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmessage.parentNode.removeChild( message );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\tif ( false === document.getElementById( 'frm_empty_inbox' )?.classList.contains( 'frm_hidden' ) ) {\n\t\t\t\tshowActiveCampaignForm();\n\t\t\t}\n\t\t},\n\n\t\tsolutionInit: function() {\n\t\t\tjQuery( document ).on( 'submit', '#frm-new-template', installTemplate );\n\t\t},\n\n\t\tstyleInit: function() {\n\t\t\tconst $previewWrapper = jQuery( '.frm_image_preview_wrapper' );\n\t\t\t$previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption );\n\t\t\t$previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption );\n\n\t\t\twp.hooks.doAction( 'frm_style_editor_init' );\n\t\t},\n\n\t\tcustomCSSInit: function() {\n\t\t\tconsole.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' );\n\t\t},\n\n\t\tglobalSettingsInit: function() {\n\t\t\tlet licenseTab;\n\n\t\t\tjQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow );\n\n\t\t\tinitiateMultiselect();\n\n\t\t\t// activate addon licenses\n\t\t\tlicenseTab = document.getElementById( 'licenses_settings' );\n\t\t\tif ( licenseTab !== null ) {\n\t\t\t\tjQuery( licenseTab ).on( 'click', '.edd_frm_save_license', saveAddonLicense );\n\t\t\t}\n\n\t\t\t// Solution install page\n\t\t\tjQuery( document ).on( 'click', '#frm-new-template button', installTemplateFieldset );\n\n\t\t\tjQuery( '#frm-dismissable-cta .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post(\n\t\t\t\t\tajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'frm_lite_settings_upgrade',\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tjQuery( '.settings-lite-cta' ).remove();\n\t\t\t} );\n\n\t\t\tconst captchaType = document.getElementById( 'frm_re_type' );\n\t\t\tif ( captchaType ) {\n\t\t\t\tcaptchaType.addEventListener( 'change', handleCaptchaTypeChange );\n\t\t\t}\n\n\t\t\tdocument.querySelector( '.frm_captchas' ).addEventListener( 'change', function( event ) {\n\t\t\t\tconst captchaValueOnLoad = document.querySelector( '.frm_captchas input[checked=\"checked\"]' )?.value;\n\t\t\t\tconst showNote = event.target.value !== captchaValueOnLoad;\n\t\t\t\tdocument.querySelector( '.captcha_settings .frm_note_style' ).classList.toggle( 'frm_hidden', ! showNote );\n\t\t\t} );\n\n\t\t\t// Set fieldsUpdated to 0 to avoid the unsaved changes pop up.\n\t\t\tfrmDom.util.documentOn( 'submit', '.frm_settings_form', () => fieldsUpdated = 0 );\n\n\t\t\tconst manageStyleSettings = document.getElementById( 'manage_styles_settings' );\n\t\t\tif ( manageStyleSettings ) {\n\t\t\t\tmanageStyleSettings.addEventListener(\n\t\t\t\t\t'change',\n\t\t\t\t\tevent => {\n\t\t\t\t\t\tconst target = event.target;\n\t\t\t\t\t\tif ( 'SELECT' !== target.nodeName || ! target.dataset.name || target.getAttribute( 'name' ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.setAttribute( 'name', target.dataset.name );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst paymentsSettings = document.getElementById( 'payments_settings' );\n\t\t\tconst paymentSettingsTabs = paymentsSettings?.querySelectorAll( '[name=\"frm_payment_section\"]' );\n\t\t\tif ( paymentSettingsTabs ) {\n\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\telement => {\n\t\t\t\t\t\telement.addEventListener( 'change', () => {\n\t\t\t\t\t\t\tif ( ! element.checked ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ element.id }\"]` );\n\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'true' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpaymentSettingsTabs.forEach(\n\t\t\t\t\t\t\t\ttab => {\n\t\t\t\t\t\t\t\t\tif ( tab === element ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst label = paymentsSettings.querySelector( `label[for=\"${ tab.id }\"]` );\n\t\t\t\t\t\t\t\t\tif ( label ) {\n\t\t\t\t\t\t\t\t\t\tlabel.setAttribute( 'aria-selected', 'false' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\texportInit: function() {\n\t\t\tjQuery( '.frm_form_importer' ).on( 'submit', startFormMigration );\n\t\t\tjQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport );\n\t\t\tjQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError );\n\t\t\tjQuery( 'input[name=\"frm_import_file\"]' ).on( 'change', checkCSVExtension );\n\t\t\tdocument.querySelector( 'select[name=\"format\"]' ).addEventListener( 'change', exportTypeChanged );\n\n\t\t\tjQuery( 'input[name=\"frm_export_forms[]\"]' ).on( 'click', preventMultipleExport );\n\t\t\tinitiateMultiselect();\n\n\t\t\tjQuery( '.frm-feature-banner .dismiss' ).on( 'click', function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tjQuery.post( ajaxurl, {\n\t\t\t\t\taction: 'frm_dismiss_migrator',\n\t\t\t\t\tplugin: this.id,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t} );\n\t\t\t\tthis.parentElement.remove();\n\t\t\t} );\n\n\t\t\tshowOrHideRepeaters( getExportOption() );\n\n\t\t\tdocument.querySelector( '#frm-export-select-all' ).addEventListener( 'change', event => {\n\t\t\t\tdocument.querySelectorAll( '[name=\"frm_export_forms[]\"]' ).forEach( cb => cb.checked = event.target.checked );\n\t\t\t} );\n\t\t},\n\n\t\tinboxBannerInit: function() {\n\t\t\tconst banner = document.getElementById( 'frm_banner' );\n\t\t\tif ( ! banner ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dismissButton = banner.querySelector( '.frm-banner-dismiss' );\n\t\t\tdocument.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tfunction( event ) {\n\t\t\t\t\tif ( event.target !== dismissButton ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\taction: 'frm_inbox_dismiss',\n\t\t\t\t\t\tkey: banner.dataset.key,\n\t\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t\t};\n\t\t\t\t\tpostAjax(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tjQuery( banner ).fadeOut(\n\t\t\t\t\t\t\t\t400,\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tbanner.remove();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateOpts: function( fieldId, opts, modal ) {\n\t\t\tconst separate = usingSeparateValues( fieldId ),\n\t\t\t\taction = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options';\n\t\t\tjQuery.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: action,\n\t\t\t\t\tfield_id: fieldId,\n\t\t\t\t\topts: opts,\n\t\t\t\t\tseparate: separate,\n\t\t\t\t\tnonce: frmGlobal.nonce\n\t\t\t\t},\n\t\t\t\tsuccess: function( html ) {\n\t\t\t\t\tdocument.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html;\n\t\t\t\t\twp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId );\n\t\t\t\t\tresetDisplayedOpts( fieldId );\n\n\t\t\t\t\tif ( typeof modal !== 'undefined' ) {\n\t\t\t\t\t\tmodal.dialog( 'close' );\n\t\t\t\t\t\tdocument.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/* remove conditional logic if the field doesn't exist */\n\t\ttriggerRemoveLogic: function( fieldID, metaName ) {\n\t\t\tjQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' );\n\t\t},\n\n\t\tdownloadXML: function( controller, ids, isTemplate ) {\n\t\t\tlet url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids;\n\t\t\tif ( isTemplate !== null ) {\n\t\t\t\turl = url + '&is_template=' + isTemplate;\n\t\t\t}\n\t\t\tlocation.href = url;\n\t\t},\n\n\t\t/**\n\t\t * @since 5.0.04\n\t\t */\n\t\thooks: {\n\t\t\tapplyFilters: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.applyFilters( hookName, ...args );\n\t\t\t},\n\t\t\taddFilter: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addFilter( hookName, 'formidable', callback, priority );\n\t\t\t},\n\t\t\tdoAction: function( hookName, ...args ) {\n\t\t\t\treturn wp.hooks.doAction( hookName, ...args );\n\t\t\t},\n\t\t\taddAction: function( hookName, callback, priority ) {\n\t\t\t\treturn wp.hooks.addAction( hookName, 'formidable', callback, priority );\n\t\t\t}\n\t\t},\n\n\t\tapplyZebraStriping,\n\t\tinitModal,\n\t\tinfoModal,\n\t\toffsetModalY,\n\t\tadjustConditionalLogicOptionOrders,\n\t\taddRadioCheckboxOpt,\n\t\tinstallNewForm,\n\t\ttoggleAddonState,\n\t\tpurifyHtml,\n\t\tloadApiEmailForm,\n\t\taddMyEmailAddress,\n\t\tfillDropdownOpts,\n\t\tshowSaveAndReloadModal,\n\t\tclearSettingsBox,\n\t\tdeleteField,\n\t\tinsertFormField,\n\t\tconfirmLinkClick,\n\t\thandleInsertFieldByDraggingResponse,\n\t\thandleAddFieldClickResponse,\n\t\tsyncLayoutClasses,\n\t\tmoveFieldSettings,\n\t};\n};\n\nwindow.frmAdminBuild = frmAdminBuildJS();\n\njQuery( document ).ready(\n\t() => {\n\t\tfrmAdminBuild.init();\n\n\t\tdocument.querySelectorAll( '.frm-dropdown-menu' ).forEach( convertOldBootstrapDropdownsToBootstrap5 );\n\t\tdocument.querySelector( '.preview.dropdown .frm-dropdown-toggle' )?.setAttribute( 'data-bs-toggle', 'dropdown' );\n\n\t\t// Bootstrap 5 uses data-bs-toggle instead of data-toggle.\n\t\tdocument.querySelectorAll( '[data-toggle]' ).forEach( toggle => toggle.setAttribute( 'data-bs-toggle', toggle.getAttribute( 'data-toggle' ) ) );\n\n\t\tfunction convertOldBootstrapDropdownsToBootstrap5( frmDropdownMenu ) {\n\t\t\tfrmDropdownMenu.classList.add( 'dropdown-menu' );\n\n\t\t\tconst toggle = frmDropdownMenu.querySelector( '.frm-dropdown-toggle' );\n\t\t\tif ( toggle ) {\n\t\t\t\tif ( ! toggle.hasAttribute( 'role' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'role', 'button' );\n\t\t\t\t}\n\t\t\t\tif ( ! toggle.hasAttribute( 'tabindex' ) ) {\n\t\t\t\t\ttoggle.setAttribute( 'tabindex', 0 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Convert
                                                                                                • and
                                                                                                    tags.\n\t\t\tif ( 'UL' === frmDropdownMenu.tagName ) {\n\t\t\t\tconvertBootstrapUl( frmDropdownMenu );\n\t\t\t}\n\t\t}\n\n\t\tfunction convertBootstrapUl( ul ) {\n\t\t\tlet html = ul.outerHTML;\n\t\t\thtml = html.replace( '
                                                                                                      ', '' );\n\t\t\thtml = html.replaceAll( '
                                                                                                    • ', '
                                                                                                      ' );\n\t\t\thtml = html.replaceAll( '
                                                                                                    • ', '' );\n\t\t\tul.outerHTML = html;\n\t\t}\n\t}\n);\n\nwindow.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase\n\tif ( value == showIf ) {\n\t\tjQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' );\n\t} else {\n\t\tjQuery( classId + div ).fadeOut( 'slow' );\n\t}\n};\n\nwindow.frmCheckAll = ( checked, n ) => {\n\tjQuery( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmCheckAllLevel = ( checked, n, level ) => {\n\tconst $kids = jQuery( '.frm_catlevel_' + level ).children( '.frm_checkbox' ).children( 'label' );\n\t$kids.children( 'input[name^=\"' + n + '\"]' ).prop( 'checked', ! ! checked );\n};\n\nwindow.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callback ) => {\n\tif ( ! fieldId ) {\n\t\treturn;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name=\"frm_action\"]' ).val() + '&nonce=' + frmGlobal.nonce,\n\t\tsuccess: function( msg ) {\n\t\t\tdocument.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg;\n\n\t\t\tif ( 'function' === typeof callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t} );\n};\n\nwindow.frmImportCsv = formID => {\n\tlet urlVars = '';\n\tif ( typeof __FRMURLVARS !== 'undefined' ) {\n\t\turlVars = __FRMURLVARS;\n\t}\n\n\tjQuery.ajax( {\n\t\ttype: 'POST', url: ajaxurl,\n\t\tdata: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars,\n\t\tsuccess: function( count ) {\n\t\t\tconst max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' );\n\t\t\tconst imported = max - count;\n\t\t\tconst percent = ( imported / max ) * 100;\n\t\t\tjQuery( '.frm_admin_progress_bar' ).css( 'width', percent + '%' ).attr( 'aria-valuenow', imported );\n\n\t\t\tif ( parseInt( count, 10 ) > 0 ) {\n\t\t\t\tjQuery( '.frm_csv_remaining' ).html( count );\n\t\t\t\tfrmImportCsv( formID );\n\t\t\t} else {\n\t\t\t\tjQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tlocation.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1';\n\t\t\t\t}, 2000 );\n\t\t\t}\n\t\t}\n\t} );\n};\n"],"names":["__","_frmDom","frmDom","div","svg","toggleAddonState","clicked","action","_window$ajaxurl","ajaxurl","window","frm_js","ajax_url","jQuery","remove","button","plugin","attr","el","parent","message","find","addClass","ajax","url","type","async","cache","dataType","data","nonce","frmGlobal","success","response","_response$data","_response","saveAndReload","error","extractErrorFromAddOnResponse","addonError","afterAddonInstall","wp","hooks","doAction","removeClass","form","is","html","arguments","length","undefined","frmAdminJs","frm_admin_js","addonStatuses","document","querySelectorAll","forEach","addonStatus","textContent","style","display","css","opacity","oneClick","showUpgradeModalSuccess","actionMap","frm_activate_addon","class","active","frm_deactivate_addon","installed","frm_uninstall_addon","not_installed","frm_install_addon","messageElement","parentElement","classList","add","buttonElement","refreshPage","location","reload","includes","inModal","closest","appendChild","getSaveAndReloadSettingsOptions","padding","on","installAddonWithCreds","append","delay","fadeOut","className","children","saveAndReloadSettingsButton","push","closePopupButton","createElement","addEventListener","saveAndReloadFormBuilder","saveAndReloadSettings","page","getElementById","querySelector","submit","a","setAttribute","submitButton","contains","click","upgradeModal","upgradeMessage","image","replaceChildren","frmAddonStatus","circledIcon","_circledIcon$querySel","replaceWith","href","getShowLinkHrefValue","link","showLink","customLink","getAttribute","addOneClick","context","upgradeLabel","container","substr","oneclickMessage","oneclick","newMessage","showIt","showMsg","hideIt","modalIconWrapper","_modalIconWrapper$que","learnMoreLink","dataset","learnMore","JSON","parse","replace","rel","linkIcon","innerHTML","upsellImage","img","src","alt","upgrade","showLinkParent","initModal","id","width","$info","dialogArgs","dialogClass","modal","autoOpen","closeOnEscape","resizable","draggable","open","bindClickForDialogClose","close","removeAttribute","optionType","value","dialog","$modal","closeModal","initUpgradeModal","handleUpgradeClick","util","documentOn","event","element","content","target","showExpiredModal","selectedOption","options","selectedIndex","hookName","preventDefault","get","lockIcon","upgradeImageId","oldImage","parentNode","insertBefore","level","getRequiredLicenseFromTrigger","requires","FrmFormsConnect","$","messageBox","reset","setElements","app","init","deauthorize","authorize","reauthorize","pluginSlug","input","license","wpmu","checked","msg","afterAuthorize","showMessage","showProgress","showAuthorized","showInlineSuccess","setTimeout","show","from","to","box","successElement","frmAdminBuild","purifyHtml","confirm","frmAdminBuildJS","MAX_FIELD_GROUP_SIZE","tag","span","onClickPreventDefault","_frmDom$ajax","doJsonFetch","doJsonPost","contextualShortcodes","getContextualShortcodes","icons","save","drag","$newFields","builderForm","thisForm","copyHelper","fieldsUpdated","thisFormId","autoId","optionMap","lastNewActionIdReturned","_wp$i18n","i18n","sprintf","debouncedSyncAfterDragAndDrop","postBodyContent","$postBodyContent","dragState","dragging","currentURL","URL","urlParams","searchParams","builderPage","s","showElement","empty","$obj","firstChild","removeChild","confirmClick","e","stopPropagation","confirmLinkClick","loadedFrom","applyFilters","confirmModal","verify","$confirmMessage","i","dataAtts","btnClass","continueButton","createTextNode","removeAtts","infoModal","toggleItem","toggle","text","$items","hideShowItem","hide","uncheckList","uncheckListArray","split","isUncheckedCheckbox","toggleClass","current","uncheckItem","uncheckItemElement","nodeName","loadTooltip","tooltipTarget","hasAttribute","tooltip","deleteTooltips","loadTooltips","wrapClass","confirmedBulkDelete","deleteFieldConfirmed","removeThisTag","trashTemplate","clickWidget","off","isTop","suffix","bulkActionSelector","confirmBulkDelete","removeMore","parseInt","deleteButton","indexOf","last","fadeEle","$fadeEle","_document$querySelect","fieldUpdated","fadeIn","afterActionRemoved","checkActiveAction","hookArgs","b","popCalcFields","cont","inside","actionId","val","actionType","action_id","action_type","initiateMultiselect","showInputIcon","initAutocomplete","trigger","siblings","slideUp","slideDown","clickNewTab","t","c","$link","not","tabContent","clearSettingsBox","clickTab","auto","loadSettingsTab","hideShortcodes","setupSortable","sortableSelector","list","makeDroppable","Array","child","makeDraggable","$sectionTitle","setupFieldOptionSorting","droppable","accept","deactivate","handleFieldDrop","over","onDragOverDroppable","out","onDraggableLeavesDroppable","tolerance","ui","getDroppableForOnDragOver","allowDrop","parents","nextAll","handle","settings","helper","getDraggableHelper","revert","start","handleDragStart","stop","handleDragStop","handleDrag","cursor","refreshPositions","cursorAt","top","left","delegateTarget","isFieldGroup","newTextFieldClone","cloneNode","setAttributeNS","copyTarget","isNewField","fieldType","body","initialOffset","scrollTop","unselectFieldGroups","deleteEmptyDividerWrappers","maybeRemoveGroupHoverTarget","closeOpenFieldDropdowns","fade","maybeScrollBuilder","getDroppableTarget","placeholder","frmSortableHelper","transform","getDragOffset","handleDragOverYAxis","y","clientY","handleDragOverFieldGroup","x","clientX","_","v","moved","h","offsetHeight","relativePos","offsetTop","Math","abs","$helper","maybeOpenCollapsedPage","$previousFieldContainer","previousSection","newSection","insertNewFieldByDragging","moveFieldThatAlreadyExists","maybeMakeFieldGroupDraggableAfterDragging","previousSectionId","newSectionId","$previousContainerFields","getFieldsInRow","maybeUpdatePreviousFieldContainerAfterDrop","maybeUpdateDraggableClassAfterDrop","updateFieldAfterMovingBetweenSections","placeholderParent","isDroppingIntoFieldGroup","fieldGroupLi","previousElementSibling","$pageBreakField","prevUntil","collapseButton","syncLayoutClasses","first","maybeDeleteAnEmptyFieldGroup","previousFieldContainer","closestFieldBox","_ref","$list","$children","prepend","insertAtIndex","determineIndexBasedOffOfMousePositionInList","$lastChild","offset","outerHeight","$endDivider","before","index","item","itemTop","returnIndex","_ref2","$row","determineIndexBasedOffOfMousePositionInRow","outerWidth","amountToOffsetLeftBy","syncAfterDragAndDrop","fixUnwrappedListItems","toggleSectionHolder","maybeFixEndDividers","maybeDeleteEmptyFieldGroups","updateFieldOrder","Event","bubbles","dispatchEvent","endDivider","fieldGroup","lists","childNodes","wrapFieldLiInPlace","dividers","divider","slice","call","firstElementChild","toLowerCase","$fields","row","classes","$inputs","inputLeft","$item","size","layoutClasses","classToAddFunction","getLayoutClasses","each","getSyncLayoutClass","getEvenClassForSize","getClassForBlock","getLayoutClassForSize","updateFieldGroupControls","count","rowOffset","shouldShowControls","controls","setFieldControlsHtml","layoutOption","moveOption","layoutOptionLabel","addTooltip","makeTabbable","moveOptionLabel","getFieldControlsDropdown","title","dropdown","setAttributes","ul","classToAdd","itemIndex","currentClassToAdd","layoutClassIndex","currentClass","activeLayoutClass","fieldId","layoutClassesInput","fid","moveFieldSettings","concat","trim","sort","opts","items","axis","forcePlaceholderSize","li","clone","insertAfter","resetDisplayedOpts","sortable","getSectionForFieldPlacement","currentItem","section","hasClass","getFormIdForFieldPlacement","formId","sDivide","appendTo","getSectionIdForFieldPlacement","sectionId","previousFormId","form_id","field","section_id","previous_form_id","updateInSectionValue","getInsertNewFieldArgs","hasBreak","fieldArgs","field_type","has_break","isInRepeater","last_row_field_ids","getFieldIdsInSubmitRow","shouldStopInsertingField","loadingID","getAutoId","loading","$placeholder","prevAll","handleInsertFieldByDraggingResponse","checkMsgForFieldId","handleInsertFieldError","$siblings","wrapFieldLi","msgAsjQueryObject","afterAddField","result","match","submitField","lastRowFields","ids","jqXHR","errorThrown","maybeShowInsertFieldError","jqXHRAborted","status","readyState","isSubmitBtn","containSubmitBtn","draggableIndex","lastRowIndex","childElementCount","submitButtonIndex","isLastRow","nextElementSibling","$fieldsInRow","groupCanFitAnotherField","allowNewFieldDrop","allowMoveField","matches","newPageBreakField","newHiddenField","newSectionField","newEmbedField","newUserIdField","newFieldWillBeAddedToAGroup","groupIncludesBreakOrHiddenOrUserId","fieldTypeIsAlwaysAllowed","newFieldWillBeAddedToASection","allowMoveFieldGroup","isPageBreak","allowMoveFieldToSection","isHiddenField","isUserIdField","allowMoveFieldToGroup","draggableIncludeEmbedForm","draggableIncludesSection","group","draggableIncludesASection","draggableIsEmbedField","groupIsInASection","fieldsInRow","$field","filter","loadFields","thisField","$thisField","addHtmlToField","frmHiddenFdata","nextElement","nextField","getNextField","handleAjaxLoadFieldSuccess","_field$parentNode","key","$nextSet","renumberPageBreaks","maybeHideQuantityProductFieldOption","loadedEvent","frmFields","map","f","addFieldClick","$thisObj","$button","handleAddFieldClickResponse","insertFormField","fieldOptions","Promise","resolve","Object","assign","field_options","canDuplicateField","maxFieldsInGroup","fieldsInGroup","duplicateField","newRowId","fieldOrder","startsWith","fieldsInSection","field_id","_$field$0$querySelect","newRow","lastElementChild","duplicatedFieldHtml","originalFieldId","setLayoutClassesForDuplicatedFieldInGroup","after","maybeDuplicateUnsavedSettings","toggleOneSectionHolder","newField","_document$getElementB","hoverTarget","fieldClasses","classesInput","newFieldHtml","originalSettings","newFieldId","copySettings","fieldOptionKeys","originalDefault","copyDefault","originalSetting","tagType","copySetting","getKeyFromSettingInput","copyOption","remainingKeyDetails","copyKey","name","nameWithoutPrefix","nameSplit","pop","join","openSettings","handleClickOutsideOfFieldSettings","originalEvent","checkForMultiselectKeysOnMouseMove","keyIsDown","ctrlKey","metaKey","shiftKey","checkForActiveHoverTarget","elementFromPoint","previousHoverTarget","destroyFieldGroupPopup","maybeRemoveHoverTargetOnMouseMove","onFieldActionDropdownShow","$ul","fillFieldActionDropdown","firstAnchor","focus","onFieldGroupActionDropdownShow","changeSectionStyle","collapsedSection","zIndex","classSuffix","getDeleteActionOption","getDuplicateActionOption","icon","label","option","anchor","wrapper","addFocus","regex","exec","$thisSection","checkHtmlForNewFields","toggled","maybeSetProductField","$parentSection","lastRowOrderInput","updateLastRowFieldsOrder","bounding","getBoundingClientRect","inView","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","scroll","scrollHeight","behavior","deselectFields","dropdownMenu","addedEvent","frmField","frmSection","frmType","frmToggles","fieldsOrder","_typeof","keys","orderInput","addFieldIdToDraftFieldsInput","draftInput","preventFieldGroups","scrollToField","newPos","animate","checkCalculationCreatedByUser","calculation","warningMessage","checkMatchingParens","checkShortcodes","formula","stack","formulaArray","opening","closing","unmatchedClosing","hasOwnProperty","unmatched_parens","inputElement","checkNonNumericShortcodes","checkNonFormShortcodes","isTextCalculation","nonNumericShortcodes","getNonNumericShortcodes","test","text_shortcodes","prop","nonFormShortcodes","getNonFormShortcodes","view_shortcodes","isCalcBoxType","listClass","extractExcludedOptions","exclude","isArray","splice","hasExcludedOption","excludedOpts","hasOption","inputs","getElementsByName","getFieldOptionInputName","opt","at","substring","force","fields","p","calc","isSummary","getExcludeArray","getFieldList","fieldName","calcBox","codeList","includedExtras","getIncludedExtras","checkboxes","getElementsByClassName","rePopCalcFieldsForSummary","allFields","checkType","getPossibleValue","fieldKey","popProductFields","getCurrentProductFields","fName","products","quantities","isSelect","tagName","toString","prodFieldOpt","idsArray","popAllProductFields","productFieldOpt","liveChanges","newValue","changes","att","addBlankSelectOption","changeFieldClass","isSliderField","updateSliderFieldPreview","proIncludesSliderJs","getSliderMidpoint","getSliderDefaultValueInput","previewInputId","sliderInput","max","parseFloat","min","previewInput","toggleInvalidMsg","typeDropdown","toggleValidationBox","markRequired","thisid","$reqBox","hasValue","messageClass","$msg","$validationBox","markUnique","$unqDetail","default_unique","addConf","valMsg","default_conf","setConfirmationFieldDescriptions","fieldDescription","hiddenDescName","maybeSetNewDescription","confFieldDescription","hiddenConfName","newConfValue","descriptionDiv","hiddenName","desc","initBulkOptionsOverlay","insertBulkPreset","optList","separate","usingSeparateValues","product","isProductField","getElementsByTagName","updateOpts","addFieldOption","newOption","optType","optKey","oldKey","lastKey","getHighestOptKey","ftype","opt_key","opt_type","post","RegExp","addSaveAndDragIconsToOption","$thisOption","fieldOptionEnableAllRemoveButtons","_element$closest","_parentEl$querySelect","parentEl","isNaN","toggleMultSel","toggleMultiSelect","setting","toggleSepValues","toggleImageOptions","hasImageOptions","imageSize","displayField","refreshOptionDisplayNow","imagesAsOptions","setAlignment","removeImageSizeClasses","getImageOptionSize","alignment","setImageSize","refreshOptionDisplay","object","fieldID","addImageToOption","_wp","imagePreview","media","model","fileFrame","frames","file_frame","multiple","library","attachment","state","toJSON","filename","$imagePreview","removeImageFromOption","$this","previewWrapper","toggleMultiselect","removeAttr","focusSearchBox","searchBox","dismissWarningMessage","warningEl","formData","FormData","stopFieldFocus","deleteFieldOption","parentLi","parentUl","visibleOptions","_Array$from$find$quer","otherInput","hasOther","maybeUncheckRadio","$self","uncheck","unbind","up","one","maybeClearOptText","new_option","confirmFieldsDeleteMessage","numberOfFields","clickDeleteField","confirmMsg","conf_delete","maybeDivider","fieldBoxes","fieldIdsToDelete","fieldBox","fieldsInsideFieldBox","conf_delete_sec","clickSelectField","clickDeleteFieldGroup","decoy","duplicateFieldGroup","placeholderUlChild","newRowUl","syncDetails","injectedCloneOptions","expectedLength","originalFieldIdByDuplicatedFieldId","duplicatedCount","args","$newRowUl","$duplicatedFields","cloneOption","getSizeOfLayoutClass","getLayoutClassName","clickFieldGroupLayout","sizeOfFieldGroup","popupWrapper","getSizeOfFieldGroupFromChildElement","destroyFieldGroupPopupOnOutsideClick","position","getFieldGroupPopup","firstLayoutOption","getSelectedFieldCount","childElement","popup","rowLayoutOptions","getRowLayoutTitle","getRowLayoutOptions","maybeMarkRowLayoutAsActive","separator","getCustomLayoutOption","getBreakIntoDifferentRowsOption","activeRow","currentRow","rowLayoutsMatch","getIconClone","ariaLabel","iconId","rowLayoutTitle","getEmptyGridContainer","getRowLayoutOption","useClass","getRowForSizeAndType","row1","row2","getRowLayoutAsKey","sizes","block","height","background","borderRadius","getLargeClassForSize","getSmallClassForSize","handleFieldGroupLayoutOptionClick","handleFieldGroupLayoutOptionInsideMergeClick","mergeSelectedFieldGroups","$selectedFieldGroups","$firstGroupUl","previousParent","customFieldGroupLayoutClick","setupCustomLayoutOptions","layoutClass","inputRow","paddingElement","inputValueOverride","inputField","heading","buttonsWrapper","cancelButton","saveButton","floor","textAlign","getSecondaryButton","marginRight","getPrimaryButton","firstInput","customFieldGroupLayoutInsideMergeClick","getButton","textDecoration","breakFieldGroupClick","breakRow","stripLayoutFromFields","focusFieldGroupInputOnClick","select","cancelCustomFieldGroupClick","revertToFieldGroupPopupFirstPage","triggerElement","saveCustomFieldGroupClick","$controls","fieldGroupClick","maybeShowFieldGroupMessage","ctrlOrCmdKeyIsDown","shiftKeyIsDown","groupIsActive","getSelectedFieldGroups","numberOfSelectedGroups","selectedField","getSelectedField","syncAfterMultiSelect","$firstGroup","$range","nextUntil","$fieldGroup","maybeHideFieldGroupMessage","hideFieldGroupMessage","fieldGroupMessage","showFieldGroupMessage","rows","messageText","getFieldGroupMessageText","holdShiftMsg","selectedRowCount","$fieldGroups","selectedFieldGroup","selectedGroupHasMultipleFields","addFieldMultiselectPopup","maybeRemoveMultiselectPopup","getFieldMultiselectPopup","mergeOption","caret","verticalSeparator","deleteOption","selectedFieldsAreMergeable","marginLeft","selectedFieldGroups","totalFieldCount","mergeFieldsIntoRowClick","deleteFieldGroupsClick","deleteOnConfirm","multiselectPopup","getSelectedFieldIds","getDeleteSelectedFieldGroupsOnConfirmFunction","confirmedClick","deleteFieldIds","deleteAllSelectedFieldGroups","deleteFields","deleteField","hasOnlySubmitField","childUl","childLi","moveOpenModalsOutOfFieldOptions","openModals","_document$querySelect2","$section","$adjacentFields","$liWrapper","formEditorContainer","addFieldLogicRow","logicRows","meta_name","getNewRowId","logicRow","insertAdjacentHTML","logicRowText","ruleText","defaultValue","addWatchLookupRow","lastRowId","lookupBlockRows","row_key","_document$getElementB2","watchRowBlock","resetOptionTextDetails","optionTextAlreadyExists","optionInputs","optionInput","onOptionTextFocus","getChoiceOldAndNewValues","_getChoiceOldValueAnd","getChoiceOldValueAndLabel","oldValue","oldLabel","_getChoiceNewValueAnd","getChoiceNewValueAndLabel","newLabel","choiceElement","singleOptionContainer","_choiceElement$closes","_choiceElement$closes2","onOptionTextBlur","originalValue","fieldIndex","logicId","rowLength","rowIndex","valueSelect","fieldIds","settingId","optionMatches","_getChoiceOldAndNewVa","singleSettingsContainer","_singleSettingsContai","searchSelectByText","selectElement","searchText","updateGetValueFieldSelection","fieldSelect","formID","maybeClearWatchFields","lookupBlock","containerClass","pages","maybeCollapsePage","toggleCollapsePage","toggleCollapseFakePage","toCollapse","getAllFieldsForPage","togglePage","topLevel","firstField","firstWrapper","$fieldsForPage","currentWrapper","fieldCount","slide","maybeCollapseSection","parentCont","maybeCollapseSettings","expanded","addSlideAnimationCssVars","setProperty","ceil","clickLabel","fieldTypeName","normalizeFieldName","clickDescription","autoExpandSettings","inSection","clickVis","originalList","clickAction","maybeUpdateFormatInput","formatElement","formatInput","selected","openAdvanced","toggleRepeatButtons","checkRepeatLimit","repeat_limit_min","checkCheckboxSelectionsLimit","checkbox_limit","updateRepeatText","obj","addRemove","toggleFormTax","$showFields","$showForms","getTaxOrFieldSelection","resetOptOnChange","thisOpt","getFieldKeyFromOpt","resetSingleOpt","allOpts","saved","defaultVal","labelForDisplay","optContainer","separateValues","single","baseName","getImageDisplayValue","nodeValue","firstInputIndex","node","buttonsAsOptions","replaceChild","imageUrl","showLabelWithImage","showingLabelWithImage","radioOrCheckbox","getImageLabel","fieldInfo","fillDropdownOpts","sourceID","getMultipleOpts","imageOptionClass","isProduct","addRadioCheckboxOpt","adjustConditionalLogicOptionOrders","getNewConditionalLogicOption","expectedOption","optionsContainer","expectedOptionInput","optionLength","optionIndex","optionMatch","getFieldOptions","_document$getElementB3","expectedOptionValue","_getNewConditionalLog","fieldChoices","expectedChoiceEl","valueOnFocus","hasMatch","prependValueSelectWithOptionMatch","listItems","optsContainer","other","isOther","inputType","getSingle","price","atts","showOther","removeDropdownOpts","hasPlaceholder","showValueAsLabel","labelName","optObj","optVals","no_label","getImageUrlFromInput","getChecked","optVal","Element","Document","outerHTML","clean","parseHTML","reduce","total","currentNode","cleanNode","imageLabelClass","originalLabel","shape","labelImage","labelNode","imageLabel","image_placeholder_icon","checkbox","isChecked","isShowing","checkUniqueOpt","targetInput","settingsContainer","areValuesSeparate","endsWith","conflicts","getFieldValues","isTaxonomy","parentIDs","valueField","valueFieldType","fill","optionName","optionID","showSelect","showText","comparison","creatingValuesDropdown","fillField","thisType","callback","CustomEvent","frmData","frmGetFieldValues","getFieldSelection","$selectedFields","self","initOnceInAllInstances","prototype","orderFieldsObject","fieldSettingsForm","getFieldOrderInputById","currentOrder","newOrder","moveFieldsClass","singleField","moveFields","noSectionFields","$rows","sectionHasFields","handleShowPasswordLiveUpdate","fieldEl","$thisId","adjustVisibilityValuesForEveryoneValues","onEveryoneOptionSelected","unselectEveryoneOptionIfSelected","$select","next","selectedValues","hideEmptyEle","alignField","maybeShowInlineModal","showInlineModal","inputTrigger","getInputForIcon","dismissInlineModal","closeModalOnOutsideClick","_ref3","changeInputtedValue","changeHiddenSeparateValue","changeDefaultRadioValue","getOptionParent","getOptionFieldId","defaultRadio","savedVal","sep","liId","submitBuild","$thisEle","showNameYourFormModal","preFormSave","$form","stringify","serializeArray","frm_compact_fields","afterFormSave","$postStuff","$html","reloadIfAddonActivatedAjaxSubmitOnly","triggerSubmit","ownerDocument","triggerChange","submitNoAjax","shouldShowNameYourFormNameModal","modalWidget","offsetModalY","_document$querySelect3","formNameInput","noTitleText","addFormNameModalEvents","saveFormNameButton","newFormNameInput","onSaveFormNameButton","newFormName","then","delete","search","history","replaceState","form_key","removeWPUnload","adjustFormatInputBeforeSave","formatTypes","valueMap","none","international","currency","number","formatType","upgradePopup","require","showBasicModal","_event$target$dataset","modalTitle","_button$dataset","modalContent","maybeCreateModal","populateUpgradeTab","tab","h2","borderBottom","appendClonedModalElementToContainer","upgradeModalLink","upgradeButton","upgradeActions","screenshot","getScreenshotWrapper","folderUrl","getToolbar","getColorIcons","color","circle","backgroundColor","parentClass","maybeAddFieldSelection","wrap","missingClass","showSuccessOpt","copyFormAction","waitForActionToLoadBeforeCopy","targetSettings","wysiwygs","wysiwyg","tinymce","EditorManager","execCommand","$action","currentID","newID","newActionId","rename","reid","reclass","revalue","newAction","autocompleteInput","$trigger","$original","$inside","$top","exists","addFormAction","isAtLimitForActionType","getNewActionId","placeholderSetting","actionsList","list_id","handleAddFormActionSuccess","closeOpenActions","newActionContainer","widgetTop","toggleActionGroups","actions","triggerEvent","actionSettings","len","$thisobj","showFieldOptions","_document$querySelect4","allFieldSettings","scrollTo","editor","setupCallback","setupTinyMceEventHandlers","maybeAddShortcodesModalTriggerIcon","_singleField$querySel","shouldAddShortcodesModalTriggerIcon","fieldSettingsSelector","wrapTextareaWithIconContainer","textareas","textarea","wrapperSpan","createModalTriggerIcon","fieldsWithShortcodesBox","handleTinyMceChange","isTinyMceActive","tinyMCE","activeEditor","isHidden","targetElm","getContent","activeSettings","fragment","createDocumentFragment","endMarker","classname","showEmailRow","actionKey","rowType","hideEmailRow","actionBox","emailRowSelector","emailButtonSelector","showEmailWarning","fromVal","toVal","actionTriggers","addAlreadyUsedClass","getLimitForActionType","markActionTriggersInactive","markActionTriggersActive","triggers","atLimit","getNumberOfActionsForType","actionLimitMessage","only_one_action","limit","edit_action_text","addFormLogicRow","logicRowsContainer","newRowID","email_id","checkDupPost","postField","$t","borderColor","field_already_used","togglePostContent","fillDyncontent","$dyn","switchPostType","curSelect","newSelect","catRows","postParentField","postMenuOrderField","postType","post_type","getActionOption","optName","replaceAll","successHandler","method","_wpnonce","console","addPosttaxRow","addPostRow","addPostmetaRow","metaName","postTypeRows","isNumeric","tax_key","action_key","cfOpts","optIndex","isFinite","changePosttaxRow","taxKey","showExclude","show_exclude","$tax","toggleCfOpts","cancel","toggleFormOpts","changedOpt","submitSettings","insertCode","insertFieldCode","variable","rich","elementId","activeElement","contentBox","doShortcode","wpActiveEditor","plain_text","innerText","send_to_editor","insertContent","maybeAddSanitizeUrlToShortcodeVariable","selection","createRange","selectionEnd","maybeFormatInsertedContent","selectionStart","maybeRemoveLayoutClasses","setSelectionRange","isALayoutClass","removeClasses","maybeRemoveClasses","beforeValue","currentClasses","textToInsert","startPattern","endPattern","resetLogicBuilder","setLogicExample","code","idKey","conditional_text","maybeShowModal","moreIcon","getIconForInput","getAttributeNS","showShortcodeBox","showShortcodes","handleBuilderChangeEvent","maybeShowSaveAndReloadModal","_document$querySelect5","idParts","showSaveAndReloadModal","getModalContent","footer","getModalFooter","footerButton","buttonType","updateShortcodesPopupPosition","useElements","openTrigger","use","moreIconPosition","shortCodesPopup","parentPos","shouldFocus","hasAttributeNS","newMoreIcon","createElementNS","showOrHideContextualShortcodes","checkContextualShortcode","isContextualShortcode","canShowContextualShortcode","shortcode","address","inputId","fills","addressSelector","bodySelector","toggleContextualShortcodes","selector","shouldShowShortcodes","_iterator","_createForOfIteratorHelper","_step","n","done","_document$querySelect6","shortcodeLi","err","_document$getElementB4","confirmExit","buildSubmittedNoAjax","settingsSubmitted","resetFieldsUpdated","returnValue","amount","my","of","_moreIcon$closest","_input$nextElementSib","u","closeIcons","closeSvg","toggleAllowedHTML","inArray","toggleKeyID","switchTo","onActionLoaded","initWysiwygOnActionLoaded","addFocusEvents","holder","holderContainer","uninstallNow","saveAddonLicense","buttonName","disabled","thisRow","eddWrapper","actionIsSuccess","actionIsActivate","startFormMigration","checkedBoxes","importForms","forms","targetForm","$processSettings","importQueue","imported","importForm","provider","res","statusUpdate","grep","validateExport","$exportForms","$exportType","removeExportError","$thisName","checkCSVExtension","re","getExportOption","exportFormatSelect","exportTypeChanged","showOrHideRepeaters","checkExportTypes","checkSelectedAllFormsCheckbox","exportType","selectAllCheckbox","$dropdown","$selected","exportField","exportOption","repeaters","searchContent","preventMultipleExport","bootstrap","multiselect","installMultipleAddons","activateAddon","installAddon","addonState","proceed","hostname","username","password","showActiveCampaignForm","loadApiEmailForm","handleApiFormError","errorId","$error","handleEmailAddressError","formContainer","json","renderedHtml","autocomplete","initSelectionAutocomplete","nextInstallStep","thisStep","installTemplateFieldset","fieldset","elements","installNewForm","installTemplate","formToData","formName","template_name","formDesc","template_desc","xml","filterArgs","postAjax","redirect","showInstallFormErrorModal","handleCaptchaTypeChange","thresholdContainer","card","regEx","toSearch","selectedOptions","addons","itemCanBeShown","textMatchesPlural","updateCatHeadingVisibility","insertFieldsElement","headingElements","fieldsListElement","listItemElements","allHidden","every","iLen","evt","createEvent","initEvent","xmlHttp","XMLHttpRequest","params","k","encodeURIComponent","onreadystatechange","responseText","setRequestHeader","send","invisible","visible","cname","hidden","vis","onbeforeunload","w","addMultiselectLabelListener","clickListener","labelFor","buttonToggle","triggerMultiselectClick","maybeChangeEmbedFormMsg","fieldItem","embedMsg","toggleProductType","currentVal","subKey","names","Reflect","has","handleNameFieldOnFormBuilder","getSubFieldElFromCache","frmCachedSubFields","setSubFieldElToCache","getColClass","colCount","colClasses","num","allSubFieldNames","onChangeLayout","subFieldNames","newColClass","subFieldEl","_subFieldEl$classList","apply","_toConsumableArray","subFieldName","optionsEl","dropdownSelector","debounce","func","wait","liObject","useTag","useTagHref","hasDragIcon","hasSaveIcon","parser","DOMParser","parseFromString","liIcons","getElementsByTagNameNS","maybeAddSaveAndDragIcons","_key","maybeInitEntriesListPage","screenOptionsWrapper","maxSelectionsNote","margin","legend","maximumColumns","getSelectedCount","disableCheckboxesIfAtMax","addCheckboxListeners","initOnSubmitAction","onChangeType","actionEl","activeEls","activeEl","initAddMyEmailAddress","addMyEmailAddress","emptyInbox","leaveEmailInput","leaveEmailModal","email","$hiddenForm","$hiddenEmailField","emailWrapper","spinner","visibility","float","serialize","apiForm","showSuccessMessage","addAdminFooterLinks","_document$querySelect7","footerLinks","applyZebraStriping","tableSelector","emptyRowClass","isOdd","tables","table","maybeHideShortcodes","sidebar","isChild","initSelectDependencies","selects","toggleDependencyVisibility","dependencyElement","dependency","focusNextSingleOptionInput","currentInput","optionsList","inputsArray","currentIndex","nextInput","offsetParent","textLength","$openDrop","dismissIcon","inboxBannerInit","buildInit","settingsInit","styleInit","globalSettingsInit","exportInit","inboxInit","solutionInit","print","$advInfo","panelInit","$shortCodeDiv","showUpgradeTab","autoSearch","addFilter","_ref4","formKey","formKeyInput","previewDrop","_this$querySelector","smallScreenProceedButton","_document$getElementB5","saleBanner","saleDismiss","loadFieldId","$builderForm","builderArea","disableSelection","newStatus","currentTarget","addAction","showBtn","fieldSettingsEl","$formActions","formSettings","$loggedIn","$cookieExp","$editable","handleImageUploadClickEvents","bind","no_save_warning","$singleEntry","$saveDraft","customPanel","settingsPage","viewPage","insertFieldsTab","parentEle","htmlTab","idAttrValue","_document$getElementB6","dismissedMessage","dismissedMessagesWrapper","isInboxSlideIn","once","_dismissedMessage$que","$previewWrapper","customCSSInit","warn","licenseTab","captchaType","_document$querySelect8","captchaValueOnLoad","showNote","manageStyleSettings","paymentsSettings","paymentSettingsTabs","cb","banner","dismissButton","triggerRemoveLogic","downloadXML","controller","isTemplate","_wp$hooks","_len","_key2","priority","_wp$hooks2","_len2","_key3","ready","_document$querySelect9","convertOldBootstrapDropdownsToBootstrap5","frmDropdownMenu","convertBootstrapUl","frm_show_div","showIf","classId","frmCheckAll","frmCheckAllLevel","$kids","cur","rowNumber","htmlName","frmImportCsv","urlVars","__FRMURLVARS","percent","import_complete"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable_blocks.js b/js/formidable_blocks.js index 169e70deed..56e9c0f728 100644 --- a/js/formidable_blocks.js +++ b/js/formidable_blocks.js @@ -1 +1,2738 @@ -(()=>{var e={2532:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6314),o=r.n(n)()(function(e){return e[1]});o.push([e.id,"button.X_GKlxRFRHSOWckGcSPJ {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.X_GKlxRFRHSOWckGcSPJ:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: _3ywaXb1_tykjJGTtxpG 2s linear infinite;\n}",""]),o.locals={"frm-loading":"X_GKlxRFRHSOWckGcSPJ",spin:"_3ywaXb1_tykjJGTtxpG"};const i=o},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r}).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,l){if(l!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,l;n((o={},l=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):o[i]=l,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},V("Go to form","formidable")))),wp.element.createElement(W,{title:V("Options","formidable"),initialOpen:!1},wp.element.createElement(J,{label:V("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:V("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(U,null,wp.element.createElement(u,this.props.attributes))))}}])&&F(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(M);function K(e){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./js/src/api/class-addon-api.js": +/*!***************************************!*\ + !*** ./js/src/api/class-addon-api.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAddonAPI: () => (/* binding */ frmAddonAPI) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAddonAPI = /*#__PURE__*/function () { + function frmAddonAPI() { + _classCallCheck(this, frmAddonAPI); + } + return _createClass(frmAddonAPI, null, [{ + key: "toggleAddonState", + value: + /** + * A function designed to toggle different addon states. + * + * @param {'frm_install_addon'|'frm_activate_addon'|'frm_multiple_addons'} action The addon state action type. + * @param {string} addon The addon path. Ex: formidable-views/formidable-views.php + * + * @return {Promise} The response from the server. + */ + function toggleAddonState(action, addon) { + return fetch(ajaxurl, { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: new URLSearchParams({ + action: action, + nonce: frmGlobal.nonce, + plugin: addon + }) + }).then(function (response) { + return response.json(); + }); + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/api/index.js": +/*!*****************************!*\ + !*** ./js/src/api/index.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAddonAPI: () => (/* reexport safe */ _class_addon_api__WEBPACK_IMPORTED_MODULE_0__.frmAddonAPI) +/* harmony export */ }); +/* harmony import */ var _class_addon_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./class-addon-api */ "./js/src/api/class-addon-api.js"); + + +/***/ }), + +/***/ "./js/src/common/components/icon.js": +/*!******************************************!*\ + !*** ./js/src/common/components/icon.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ FormidableIcon) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +/** + * Formidable Forms icon + */ +var Component = wp.element.Component; +var Dashicon = wp.components.Dashicon; +var FormidableIcon = /*#__PURE__*/function (_Component) { + function FormidableIcon() { + _classCallCheck(this, FormidableIcon); + return _callSuper(this, FormidableIcon, arguments); + } + _inherits(FormidableIcon, _Component); + return _createClass(FormidableIcon, [{ + key: "loadCustomSvgIcon", + value: function loadCustomSvgIcon() { + var icon = formidable_form_selector.icon; + if (icon.match(/frm_white_label_icon/)) { + return wp.element.createElement("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 20 20", + width: "120", + height: "120" + }, wp.element.createElement("path", { + d: "M18.1 1.3H2C.9 1.3 0 2 0 3V17c0 1 .8 1.9 1.9 1.9H18c1 0 1.9-.9 1.9-2V3.2c0-1-.8-1.9-1.9-1.9zM18 16.9H2a.2.2 0 0 1-.2-.3V3.4c0-.2 0-.3.2-.3H18c.1 0 .2.1.2.3v13.2c0 .2 0 .3-.2.3zm-1.6-3.6v1c0 .2-.3.4-.5.4H8a.5.5 0 0 1-.5-.5v-1c0-.2.2-.4.5-.4h7.8c.2 0 .4.2.4.5zm0-3.8v1c0 .2-.3.4-.5.4H8a.5.5 0 0 1-.5-.4v-1c0-.2.2-.4.5-.4h7.8c.2 0 .4.2.4.4zm0-3.7v1c0 .2-.3.4-.5.4H8a.5.5 0 0 1-.5-.5v-1c0-.2.2-.4.5-.4h7.8c.2 0 .4.2.4.5zm-9.9.5a1.4 1.4 0 1 1-2.8 0 1.4 1.4 0 0 1 2.8 0zm0 3.7a1.4 1.4 0 1 1-2.8 0 1.4 1.4 0 0 1 2.8 0zm0 3.8a1.4 1.4 0 1 1-2.8 0 1.4 1.4 0 0 1 2.8 0z" + })); + } + return false; + } + }, { + key: "render", + value: function render() { + if (false !== this.loadCustomSvgIcon()) { + return this.loadCustomSvgIcon(); + } + if (formidable_form_selector.icon !== 'svg') { + return wp.element.createElement(Dashicon, { + icon: formidable_form_selector.icon + }); + } + return wp.element.createElement("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 599.68 601.37", + width: "120", + height: "120" + }, wp.element.createElement("path", { + className: "cls-1 orange", + d: "M289.6 384h140v76h-140z" + }), wp.element.createElement("path", { + className: "cls-1", + d: "M400.2 147h-200c-17 0-30.6 12.2-30.6 29.3V218h260v-71zM397.9 264H169.6v196h75V340H398a32.2 32.2 0 0 0 30.1-21.4 24.3 24.3 0 0 0 1.7-8.7V264z" + }), wp.element.createElement("path", { + className: "cls-1", + d: "M299.8 601.4A300.3 300.3 0 0 1 0 300.7a299.8 299.8 0 1 1 511.9 212.6 297.4 297.4 0 0 1-212 88zm0-563A262 262 0 0 0 38.3 300.7a261.6 261.6 0 1 0 446.5-185.5 259.5 259.5 0 0 0-185-76.8z" + })); + } + }]); +}(Component); + + +/***/ }), + +/***/ "./js/src/common/components/itemselect.js": +/*!************************************************!*\ + !*** ./js/src/common/components/itemselect.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ItemSelect) +/* harmony export */ }); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +var _wp$i18n = wp.i18n, + __ = _wp$i18n.__, + sprintf = _wp$i18n.sprintf; + +var Component = wp.element.Component; +var SelectControl = wp.components.SelectControl; + +/** + * Displays a Select control with the specified items as options + * + */ +var ItemSelect = /*#__PURE__*/function (_Component) { + function ItemSelect() { + _classCallCheck(this, ItemSelect); + return _callSuper(this, ItemSelect, arguments); + } + _inherits(ItemSelect, _Component); + return _createClass(ItemSelect, [{ + key: "createOptions", + value: function createOptions(items, itemName) { + var options = items.map(function (item) { + return { + label: item.label, + value: item.value + }; + }); + return [{ + // translators: %s is the name of the item + label: sprintf(__('Select a %s', 'formidable'), itemName), + value: '' + }].concat(_toConsumableArray(options)); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + selected = _this$props.selected, + items = _this$props.items, + onChange = _this$props.onChange, + itemName = _this$props.itemName, + itemNamePlural = _this$props.itemNamePlural, + label = _this$props.label, + help = _this$props.help; + if (!items || items.length === 0) { + return wp.element.createElement("p", { + className: "frm-block-select-no-items" + }, sprintf( + // translators: %s is the name of the item + __('Currently, there are no %s', 'formidable'), itemNamePlural)); + } + return wp.element.createElement(SelectControl, { + value: selected, + options: this.createOptions(items, itemName), + label: label, + help: help, + onChange: onChange, + __next40pxDefaultSize: true, + __nextHasNoMarginBottom: true + }); + } + }]); +}(Component); + +ItemSelect.defaultProps = { + itemName: 'item', + itemNamePlural: 'items' +}; +ItemSelect.propTypes = { + selected: prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().number)]), + //selected item + items: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().array), + //list of possible items + onChange: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().func), + itemName: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), + //name for item in select label + itemNamePlural: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), + //plural of items, used in some labels + label: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), + help: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string) +}; + +/***/ }), + +/***/ "./js/src/common/utilities/values.js": +/*!*******************************************!*\ + !*** ./js/src/common/utilities/values.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ cssHideAdvancedSettings: () => (/* binding */ cssHideAdvancedSettings), +/* harmony export */ getSubDir: () => (/* binding */ getSubDir), +/* harmony export */ setTextAttribute: () => (/* binding */ setTextAttribute), +/* harmony export */ updateAttribute: () => (/* binding */ updateAttribute) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Updates an attribute with the specified new value + * + * @param {string} attributeName Name of block attribute to be updated + * @param {*} attributeValue Value of block attribute to be updated + * @param {Function} setAttributes Function to set the block attribute to be updated + */ +function updateAttribute(attributeName, attributeValue, setAttributes) { + setAttributes(_defineProperty({}, attributeName, attributeValue)); +} + +/** + * Sets text attribute for a shortcode from a key value pair + * + * @param {*} value Value of text attribute to be set + * @param {string} attributeName Name of text attribute to be set + * @return {string} String of the text attribute in the format " id=10" + */ +function setTextAttribute(value, attributeName) { + if (value) { + return " ".concat(attributeName, "=\"").concat(value, "\""); + } + return ''; +} + +/** + * Gets subdirectory of current site, if the site isn't on the top level of the domain + * + * @return {string} The subdirectory of the current site + */ +function getSubDir() { + var page = window.location.pathname; + var index = page.indexOf('wp-admin'); + var subDir = '/'; + if (index > -1) { + subDir = page.substr(0, index); + } + return subDir; +} +var cssHideAdvancedSettings = "\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n"; + +/***/ }), + +/***/ "./js/src/form/block.js": +/*!******************************!*\ + !*** ./js/src/form/block.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _formshortcode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formshortcode */ "./js/src/form/formshortcode.js"); +/* harmony import */ var _inspector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inspector */ "./js/src/form/inspector.js"); +/* harmony import */ var _common_components_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/components/icon */ "./js/src/common/components/icon.js"); +/* harmony import */ var _formselect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./formselect */ "./js/src/form/formselect.js"); +/* harmony import */ var _common_utilities_values__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/utilities/values */ "./js/src/common/utilities/values.js"); +/** + * BLOCK: formidable/simple-form + * + * Block to display selected Formidable form with limited setting options + */ + + + + + +var useBlockProps = wp.blockEditor.useBlockProps; +var Fragment = wp.element.Fragment; +var __ = wp.i18n.__; +var registerBlockType = wp.blocks.registerBlockType; +var Notice = wp.components.Notice; +var _wp = wp, + ServerSideRender = _wp.serverSideRender; +function Edit(_ref) { + var setAttributes = _ref.setAttributes, + attributes = _ref.attributes, + isSelected = _ref.isSelected; + var formId = attributes.formId; + var forms = formidable_form_selector.forms; + var blockProps = useBlockProps(); + if (forms.length === 0) { + return wp.element.createElement("div", blockProps, wp.element.createElement(Notice, { + status: "warning", + isDismissible: false + }, __('This site does not have any forms.', 'formidable'))); + } + if (!formId) { + return wp.element.createElement("div", blockProps, wp.element.createElement("div", { + className: "frm-block-intro-screen" + }, wp.element.createElement("div", { + className: "frm-block-intro-content" + }, wp.element.createElement(_common_components_icon__WEBPACK_IMPORTED_MODULE_2__["default"], null), wp.element.createElement("div", { + className: "frm-block-title" + }, formidable_form_selector.name), wp.element.createElement("div", { + className: "frm-block-selector-screen" + }, wp.element.createElement(_formselect__WEBPACK_IMPORTED_MODULE_3__["default"], { + formId: formId, + setAttributes: setAttributes, + forms: forms + }))))); + } + return wp.element.createElement("div", blockProps, wp.element.createElement(_inspector__WEBPACK_IMPORTED_MODULE_1__["default"], { + attributes: attributes, + setAttributes: setAttributes, + forms: forms + }), isSelected && wp.element.createElement("style", null, _common_utilities_values__WEBPACK_IMPORTED_MODULE_4__.cssHideAdvancedSettings), wp.element.createElement(ServerSideRender, { + block: "formidable/simple-form", + attributes: attributes + })); +} +registerBlockType('formidable/simple-form', { + apiVersion: 3, + title: formidable_form_selector.name, + description: __('Display a Form', 'formidable'), + icon: _common_components_icon__WEBPACK_IMPORTED_MODULE_2__["default"], + category: 'widgets', + keywords: [__('contact forms', 'formidable'), 'formidable'], + edit: Edit, + save: function save(props) { + var attributes = props.attributes; + var formId = attributes.formId; + return formId === undefined ? '' : wp.element.createElement(Fragment, null, wp.element.createElement(_formshortcode__WEBPACK_IMPORTED_MODULE_0__["default"], attributes)); + } +}); + +/***/ }), + +/***/ "./js/src/form/calculator.js": +/*!***********************************!*\ + !*** ./js/src/form/calculator.js ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _common_components_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/components/icon */ "./js/src/common/components/icon.js"); +/** + * BLOCK: formidable/calculator + * + * Block to display selected Formidable calculator form + */ + +var __ = wp.i18n.__; +var registerBlockType = wp.blocks.registerBlockType; +var Notice = wp.components.Notice; +var useBlockProps = wp.blockEditor.useBlockProps; +function Edit(_ref) { + var setAttributes = _ref.setAttributes, + attributes = _ref.attributes; + var forms = formidable_form_selector.forms; + var blockProps = useBlockProps(); + if (forms.length === 0) { + return wp.element.createElement("div", blockProps, wp.element.createElement(Notice, { + status: "warning", + isDismissible: false + }, __('This site does not have any forms.', 'formidable'))); + } + return wp.element.createElement("div", blockProps, wp.element.createElement("div", { + className: "frm-block-intro-screen" + }, wp.element.createElement("div", { + className: "frm-block-intro-content" + }, wp.element.createElement(_common_components_icon__WEBPACK_IMPORTED_MODULE_0__["default"], null), wp.element.createElement("div", { + className: "frm-block-title" + }, __('Calculator Form', 'formidable')), wp.element.createElement("div", { + className: "frm-block-selector-screen frm_pro_tip" + }, wp.element.createElement(Notice, { + status: "warning", + isDismissible: false + }, __('This site does not have any calculator forms.', 'formidable'), wp.element.createElement("br", null), wp.element.createElement("a", { + href: formidable_form_selector.link, + target: "_blank" + }, __('Upgrade Formidable Forms.', 'formidable'))), wp.element.createElement("img", { + src: formidable_form_selector.url + '/images/conversion-calc.jpg', + alt: __('Calculator Form', 'formidable') + }))))); +} +var FrmCalcIcon = wp.element.createElement('svg', { + width: 20, + height: 20 +}, wp.element.createElement('path', { + d: 'M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z' +})); +registerBlockType('formidable/calculator', { + apiVersion: 3, + title: __('Calculator Form', 'formidable'), + description: __('Display a Calculator Form', 'formidable'), + icon: FrmCalcIcon, + category: 'widgets', + keywords: ['calculation', 'formidable'], + edit: Edit +}); + +/***/ }), + +/***/ "./js/src/form/formselect.js": +/*!***********************************!*\ + !*** ./js/src/form/formselect.js ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ FormSelect) +/* harmony export */ }); +/* harmony import */ var _common_components_itemselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/components/itemselect */ "./js/src/common/components/itemselect.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +/** + * Form selector + */ + + +var __ = wp.i18n.__; +var Component = wp.element.Component; +var FormSelect = /*#__PURE__*/function (_Component) { + function FormSelect() { + _classCallCheck(this, FormSelect); + return _callSuper(this, FormSelect, arguments); + } + _inherits(FormSelect, _Component); + return _createClass(FormSelect, [{ + key: "render", + value: function render() { + var _this$props = this.props, + formId = _this$props.formId, + setAttributes = _this$props.setAttributes, + forms = _this$props.forms; + return wp.element.createElement(_common_components_itemselect__WEBPACK_IMPORTED_MODULE_0__["default"], { + selected: formId, + itemName: __('form', 'formidable'), + itemNamePlural: __('forms', 'formidable'), + items: forms, + onChange: function onChange(newFormId) { + setAttributes({ + formId: newFormId + }); + } + }); + } + }]); +}(Component); + +FormSelect.propTypes = { + formId: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string), + //current formId + setAttributes: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func).isRequired //setAttributes of block +}; + +/***/ }), + +/***/ "./js/src/form/formshortcode.js": +/*!**************************************!*\ + !*** ./js/src/form/formshortcode.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ FormShortcode) +/* harmony export */ }); +/* harmony import */ var _common_utilities_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/utilities/values */ "./js/src/common/utilities/values.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +/** + * Form shortcode of current form + */ +var Component = wp.element.Component; + +function createParamsText(atts) { + var formId = atts.formId, + title = atts.title, + description = atts.description, + minimize = atts.minimize; + var paramsText = ''; + paramsText += (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_0__.setTextAttribute)(formId, 'id'); + paramsText += (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_0__.setTextAttribute)(title, 'title'); + paramsText += (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_0__.setTextAttribute)(description, 'description'); + paramsText += (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_0__.setTextAttribute)(minimize, 'minimize'); + return paramsText; +} +var FormShortcode = /*#__PURE__*/function (_Component) { + function FormShortcode() { + _classCallCheck(this, FormShortcode); + return _callSuper(this, FormShortcode, arguments); + } + _inherits(FormShortcode, _Component); + return _createClass(FormShortcode, [{ + key: "render", + value: function render() { + return wp.element.createElement("div", null, "[formidable", createParamsText(this.props), "]"); + } + }]); +}(Component); + + +/***/ }), + +/***/ "./js/src/form/graph.js": +/*!******************************!*\ + !*** ./js/src/form/graph.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _common_components_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/components/icon */ "./js/src/common/components/icon.js"); +/* global formidable_form_selector */ + + +(function () { + 'use strict'; + + if (formidable_form_selector.chartsAddon.installed) { + return; + } + var __ = wp.i18n.__; + var registerBlockType = wp.blocks.registerBlockType; + var Notice = wp.components.Notice; + var useBlockProps = wp.blockEditor.useBlockProps; + var UpgradeNotice = function UpgradeNotice(_ref) { + var text = _ref.text, + buttonText = _ref.buttonText, + link = _ref.link; + return wp.element.createElement(Notice, { + status: "warning", + isDismissible: false + }, text, wp.element.createElement("br", null), wp.element.createElement("a", { + href: link, + target: "_blank" + }, buttonText)); + }; + var blockName = __('Formidable Chart', 'formidable'); + function Edit() { + var imageWrapperStyles = { + padding: '38px', + margin: '0 auto', + maxWidth: '600px' + }; + var blockProps = useBlockProps(); + return wp.element.createElement("div", blockProps, wp.element.createElement("div", { + className: "frm-block-intro-screen" + }, wp.element.createElement("div", { + className: "frm-block-intro-content" + }, wp.element.createElement(_common_components_icon__WEBPACK_IMPORTED_MODULE_0__["default"], null), wp.element.createElement("div", { + className: "frm-block-title" + }, blockName), wp.element.createElement("div", { + className: "frm-block-selector-screen frm_pro_tip", + style: { + alignSelf: 'stretch' + } + }, formidable_form_selector.chartsAddon.hasAccess ? wp.element.createElement(UpgradeNotice, { + text: __('This site does not have Formidable Charts active.', 'formidable'), + buttonText: __('Install Formidable Charts', 'formidable'), + link: formidable_form_selector.chartsAddon.link + }) : wp.element.createElement(UpgradeNotice, { + text: __('This site does not have Formidable Charts installed.', 'formidable'), + buttonText: __('Upgrade Formidable Forms', 'formidable'), + link: formidable_form_selector.link + }), wp.element.createElement("div", { + style: imageWrapperStyles + }, wp.element.createElement("img", { + src: formidable_form_selector.url + '/images/demo-graph.svg', + alt: blockName + })))))); + } + registerBlockType('frm-charts/graph', { + apiVersion: 3, + title: blockName, + description: __('Display a chart or graph', 'formidable'), + icon: wp.element.createElement("svg", { + xmlns: "http://www.w3.org/2000/svg", + fill: "none", + viewBox: "0 0 25 23" + }, wp.element.createElement("path", { + stroke: "currentColor", + strokeLinecap: "round", + strokeWidth: "2.5", + d: "M23 2v19m-7-7.5V21M9 10.8V21m-7-2.9V21" + })), + category: 'design', + edit: Edit + }); +})(); + +/***/ }), + +/***/ "./js/src/form/inspector.js": +/*!**********************************!*\ + !*** ./js/src/form/inspector.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Inspector) +/* harmony export */ }); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _formselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formselect */ "./js/src/form/formselect.js"); +/* harmony import */ var _formshortcode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formshortcode */ "./js/src/form/formshortcode.js"); +/* harmony import */ var _common_utilities_values__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/utilities/values */ "./js/src/common/utilities/values.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +/** + * Inspector controls for Formidable Simple Form block + */ + +var __ = wp.i18n.__; +var Component = wp.element.Component; +var InspectorControls = wp.blockEditor.InspectorControls; +var _wp$components = wp.components, + PanelBody = _wp$components.PanelBody, + PanelRow = _wp$components.PanelRow, + ToggleControl = _wp$components.ToggleControl, + ExternalLink = _wp$components.ExternalLink; + + + + +var Inspector = /*#__PURE__*/function (_Component) { + function Inspector() { + _classCallCheck(this, Inspector); + return _callSuper(this, Inspector, arguments); + } + _inherits(Inspector, _Component); + return _createClass(Inspector, [{ + key: "render", + value: function render() { + var _this$props = this.props, + setAttributes = _this$props.setAttributes, + attributes = _this$props.attributes, + forms = _this$props.forms; + var formId = attributes.formId, + title = attributes.title, + description = attributes.description, + minimize = attributes.minimize; + return wp.element.createElement(InspectorControls, null, wp.element.createElement(PanelBody, { + title: __('Select Form', 'formidable'), + initialOpen: true + }, wp.element.createElement(PanelRow, null, wp.element.createElement(_formselect__WEBPACK_IMPORTED_MODULE_0__["default"], { + formId: formId, + setAttributes: setAttributes, + forms: forms + })), formId && wp.element.createElement(PanelRow, null, wp.element.createElement(ExternalLink, { + href: (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_2__.getSubDir)() + "wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(formId) + }, __('Go to form', 'formidable')))), wp.element.createElement(PanelBody, { + title: __('Options', 'formidable'), + initialOpen: false + }, wp.element.createElement(ToggleControl, { + label: __('Show Form Title', 'formidable'), + checked: title, + onChange: function onChange(response) { + (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_2__.updateAttribute)('title', response ? '1' : '', setAttributes); + } + }), wp.element.createElement(ToggleControl, { + label: __('Show Form Description', 'formidable'), + checked: description, + onChange: function onChange(response) { + (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_2__.updateAttribute)('description', response ? '1' : '', setAttributes); + } + }), wp.element.createElement(ToggleControl, { + label: __('Minimize HTML', 'formidable'), + checked: minimize, + onChange: function onChange(response) { + (0,_common_utilities_values__WEBPACK_IMPORTED_MODULE_2__.updateAttribute)('minimize', response ? '1' : '', setAttributes); + } + })), wp.element.createElement(PanelBody, { + title: __('Shortcode', 'formidable'), + initialOpen: false + }, wp.element.createElement(PanelRow, null, wp.element.createElement(_formshortcode__WEBPACK_IMPORTED_MODULE_1__["default"], this.props.attributes)))); + } + }]); +}(Component); + +Inspector.propTypes = { + attributes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), + //block attributes + setAttributes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func) //setAttributes of block +}; + +/***/ }), + +/***/ "./js/src/form/modal.js": +/*!******************************!*\ + !*** ./js/src/form/modal.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _common_components_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/components/icon */ "./js/src/common/components/icon.js"); +/* global formidable_form_selector */ + + +var __ = wp.i18n.__; +var registerBlockType = wp.blocks.registerBlockType; +var Notice = wp.components.Notice; +var useBlockProps = wp.blockEditor.useBlockProps; +var UpgradeNotice = function UpgradeNotice(_ref) { + var text = _ref.text, + buttonText = _ref.buttonText, + link = _ref.link; + return wp.element.createElement(Notice, { + status: "warning", + isDismissible: false + }, text, wp.element.createElement("br", null), wp.element.createElement("a", { + href: link, + target: "_blank" + }, buttonText)); +}; +function Edit(_ref2) { + var setAttributes = _ref2.setAttributes, + attributes = _ref2.attributes; + var blockName = __('Bootstrap modal popup', 'formidable'); + var imageStyles = { + maxWidth: '504px', + height: 'auto', + borderRadius: '12px' + }; + var imageWrapperStyles = { + padding: '38px', + textAlign: 'center', + backgroundColor: '#f2f4f7', + marginTop: '24px' + }; + var blockProps = useBlockProps(); + return wp.element.createElement("div", blockProps, wp.element.createElement("div", { + className: "frm-block-intro-screen" + }, wp.element.createElement("div", { + className: "frm-block-intro-content" + }, wp.element.createElement(_common_components_icon__WEBPACK_IMPORTED_MODULE_0__["default"], null), wp.element.createElement("div", { + className: "frm-block-title" + }, blockName), wp.element.createElement("div", { + className: "frm-block-selector-screen frm_pro_tip", + style: { + alignSelf: 'stretch' + } + }, formidable_form_selector.modalAddon.hasAccess ? wp.element.createElement(UpgradeNotice, { + text: __('This site does not have popup modals active.', 'formidable'), + buttonText: __('Install Formidable Modals', 'formidable'), + link: formidable_form_selector.modalAddon.link + }) : wp.element.createElement(UpgradeNotice, { + text: __('This site does not have popup modals.', 'formidable'), + buttonText: __('Upgrade Formidable Forms', 'formidable'), + link: formidable_form_selector.link + }), wp.element.createElement("div", { + style: imageWrapperStyles + }, wp.element.createElement("img", { + src: formidable_form_selector.url + '/images/modal.png', + alt: blockName, + style: imageStyles + })))))); +} +registerBlockType('frm-modal/modal', { + apiVersion: 3, + title: formidable_form_selector.name + ' ' + __('Modal', 'formidable'), + description: __('Display a modal', 'formidable'), + icon: _common_components_icon__WEBPACK_IMPORTED_MODULE_0__["default"], + category: 'widgets', + keywords: ['modal', 'formidable'], + edit: Edit +}); + +/***/ }), + +/***/ "./js/src/form/views.js": +/*!******************************!*\ + !*** ./js/src/form/views.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _common_components_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/components/icon */ "./js/src/common/components/icon.js"); +/* harmony import */ var _api_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api/index */ "./js/src/api/index.js"); +/* harmony import */ var _css_button_module_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./css/button.module.css */ "./js/src/form/css/button.module.css"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } +function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } +/* global formidable_form_selector */ + + + +var __ = wp.i18n.__; +var registerBlockType = wp.blocks.registerBlockType; +var Notice = wp.components.Notice; +var _wp$element = wp.element, + useState = _wp$element.useState, + useEffect = _wp$element.useEffect; +var useBlockProps = wp.blockEditor.useBlockProps; +var blockData = formidable_form_selector; // eslint-disable-line camelcase +var upgradeLink = blockData.viewsAddon.hasAccess ? blockData.viewsAddon.link : blockData.link; +function Edit() { + var _useState = useState({ + defaultClassname: 'frm-activate-addon frm-button-primary button button-primary', + loadingClassname: 'frm-loading', + classnames: 'frm-activate-addon frm-button-primary button button-primary', + label: !blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ? __('Install', 'formidable') : __('Activate', 'formidable'), + isLoading: false + }), + _useState2 = _slicedToArray(_useState, 2), + addonActivateButton = _useState2[0], + updateAddonActivateButton = _useState2[1]; + var activateViewsAddon = function activateViewsAddon() { + if (true === addonActivateButton.isLoading) { + return; + } + updateAddonActivateButton(_objectSpread(_objectSpread({}, addonActivateButton), {}, { + isLoading: true, + classnames: addonActivateButton.defaultClassname + ' ' + addonActivateButton.loadingClassname + })); + if (!blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess) { + _api_index__WEBPACK_IMPORTED_MODULE_1__.frmAddonAPI.toggleAddonState('frm_install_addon', blockData.viewsAddon.url).then(function () { + window.location.reload(); + }); + return; + } + _api_index__WEBPACK_IMPORTED_MODULE_1__.frmAddonAPI.toggleAddonState('frm_activate_addon', 'formidable-views/formidable-views.php').then(function () { + window.location.reload(); + }); + }; + var blockName = __('Formidable Views', 'formidable'); + var imageStyles = { + maxWidth: '504px', + height: 'auto', + borderRadius: '12px' + }; + var imageWrapperStyles = { + padding: '38px', + textAlign: 'center', + backgroundColor: '#f2f4f7', + marginTop: '24px' + }; + var blockProps = useBlockProps(); + return wp.element.createElement("div", blockProps, wp.element.createElement("div", { + className: "frm-block-intro-screen" + }, wp.element.createElement("div", { + className: "frm-block-intro-content" + }, wp.element.createElement(_common_components_icon__WEBPACK_IMPORTED_MODULE_0__["default"], null), wp.element.createElement("div", { + className: "frm-block-title" + }, blockName), wp.element.createElement("div", { + className: "frm-block-selector-screen frm_pro_tip", + style: { + alignSelf: 'stretch' + } + }, !blockData.viewsAddon.hasAccess && wp.element.createElement(Notice, { + status: "warning", + isDismissible: false + }, wp.element.createElement("div", { + style: { + maxWidth: '500px', + margin: 'auto' + } + }, __('Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable')), wp.element.createElement("br", null), wp.element.createElement("a", { + href: upgradeLink, + rel: "noreferrer", + target: "_blank" + }, __('Upgrade Formidable Forms', 'formidable'))), blockData.viewsAddon.hasAccess && wp.element.createElement(Notice, { + status: "warning", + isDismissible: false + }, wp.element.createElement("div", { + style: { + maxWidth: '500px', + margin: 'auto' + } + }, __('Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable')), wp.element.createElement("br", null), wp.element.createElement("button", { + className: addonActivateButton.classnames, + onClick: activateViewsAddon, + type: "button" + }, " ", addonActivateButton.label, " ")), wp.element.createElement("div", { + style: imageWrapperStyles + }, wp.element.createElement("img", { + src: blockData.url + '/images/blocks/views-block-placeholder.jpg', + alt: blockName, + style: imageStyles + })))))); +} +registerBlockType('formidable/simple-view', { + apiVersion: 3, + title: __('Formidable Views', 'formidable'), + description: __('Display a Visual View', 'formidable'), + icon: _common_components_icon__WEBPACK_IMPORTED_MODULE_0__["default"], + category: 'widgets', + keywords: ['views', 'formidable'], + edit: Edit +}); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./js/src/form/css/button.module.css": +/*!*********************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./js/src/form/css/button.module.css ***! + \*********************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ "frm-loading": () => (/* binding */ _1), +/* harmony export */ spin: () => (/* binding */ spin) +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "./node_modules/css-loader/dist/runtime/sourceMaps.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); +// Imports + + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); +// Module +___CSS_LOADER_EXPORT___.push([module.id, `button.t3RQZV1ZQbHGYyQUnhIY { + cursor: progress; + opacity: 0.7; + position: relative; + text-indent: -999px; + min-width: 70px; + overflow: hidden; +} +button.t3RQZV1ZQbHGYyQUnhIY:before { + content: ''; + display: inline-block; + position: absolute; + background: transparent; + border: 1px solid #fff; + border-top-color: transparent; + border-left-color: transparent; + border-radius: 50%; + + box-sizing: border-box; + top: 50%; + left: 50%; + margin-top: -10px; + margin-left: -10px; + width: 20px; + height: 20px; + + animation: Ts7haRQUDk0YMfLiQW00 2s linear infinite; +}`, "",{"version":3,"sources":["webpack://./js/src/form/css/button.module.css"],"names":[],"mappings":"AAAA;CACC,gBAAgB;CAChB,YAAY;CACZ,kBAAkB;CAClB,mBAAmB;CACnB,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,WAAW;CACX,qBAAqB;CACrB,kBAAkB;CAClB,uBAAuB;CACvB,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,kBAAkB;;CAElB,sBAAsB;CACtB,QAAQ;CACR,SAAS;CACT,iBAAiB;CACjB,kBAAkB;CAClB,WAAW;CACX,YAAY;;CAEZ,kDAAkC;AACnC","sourcesContent":["button.frm-loading {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.frm-loading:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: spin 2s linear infinite;\n}"],"sourceRoot":""}]); +// Exports +var _1 = `t3RQZV1ZQbHGYyQUnhIY`; + +var spin = `Ts7haRQUDk0YMfLiQW00`; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/api.js": +/*!*****************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/api.js ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +module.exports = function (cssWithMappingToString) { + var list = []; + + // return the list of modules as css string + list.toString = function toString() { + return this.map(function (item) { + var content = ""; + var needLayer = typeof item[5] !== "undefined"; + if (item[4]) { + content += "@supports (".concat(item[4], ") {"); + } + if (item[2]) { + content += "@media ".concat(item[2], " {"); + } + if (needLayer) { + content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); + } + content += cssWithMappingToString(item); + if (needLayer) { + content += "}"; + } + if (item[2]) { + content += "}"; + } + if (item[4]) { + content += "}"; + } + return content; + }).join(""); + }; + + // import a list of modules into the list + list.i = function i(modules, media, dedupe, supports, layer) { + if (typeof modules === "string") { + modules = [[null, modules, undefined]]; + } + var alreadyImportedModules = {}; + if (dedupe) { + for (var k = 0; k < this.length; k++) { + var id = this[k][0]; + if (id != null) { + alreadyImportedModules[id] = true; + } + } + } + for (var _k = 0; _k < modules.length; _k++) { + var item = [].concat(modules[_k]); + if (dedupe && alreadyImportedModules[item[0]]) { + continue; + } + if (typeof layer !== "undefined") { + if (typeof item[5] === "undefined") { + item[5] = layer; + } else { + item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); + item[5] = layer; + } + } + if (media) { + if (!item[2]) { + item[2] = media; + } else { + item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); + item[2] = media; + } + } + if (supports) { + if (!item[4]) { + item[4] = "".concat(supports); + } else { + item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); + item[4] = supports; + } + } + list.push(item); + } + }; + return list; +}; + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js": +/*!************************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; + + +module.exports = function (item) { + var content = item[1]; + var cssMapping = item[3]; + if (!cssMapping) { + return content; + } + if (typeof btoa === "function") { + var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))); + var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); + var sourceMapping = "/*# ".concat(data, " */"); + return [content].concat([sourceMapping]).join("\n"); + } + return [content].join("\n"); +}; + +/***/ }), + +/***/ "./node_modules/object-assign/index.js": +/*!*********************************************!*\ + !*** ./node_modules/object-assign/index.js ***! + \*********************************************/ +/***/ ((module) => { + +"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + + +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + + +/***/ }), + +/***/ "./node_modules/prop-types/checkPropTypes.js": +/*!***************************************************!*\ + !*** ./node_modules/prop-types/checkPropTypes.js ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var printWarning = function() {}; + +if (true) { + var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); + var loggedTypeFailures = {}; + var has = __webpack_require__(/*! ./lib/has */ "./node_modules/prop-types/lib/has.js"); + + printWarning = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) { /**/ } + }; +} + +/** + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private + */ +function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (true) { + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error( + (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.' + ); + err.name = 'Invariant Violation'; + throw err; + } + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + if (error && !(error instanceof Error)) { + printWarning( + (componentName || 'React class') + ': type specification of ' + + location + ' `' + typeSpecName + '` is invalid; the type checker ' + + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + + 'You may have forgotten to pass an argument to the type checker ' + + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + + 'shape all require an argument).' + ); + } + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + + var stack = getStack ? getStack() : ''; + + printWarning( + 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') + ); + } + } + } + } +} + +/** + * Resets warning cache when testing. + * + * @private + */ +checkPropTypes.resetWarningCache = function() { + if (true) { + loggedTypeFailures = {}; + } +} + +module.exports = checkPropTypes; + + +/***/ }), + +/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js": +/*!************************************************************!*\ + !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***! + \************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/prop-types/node_modules/react-is/index.js"); +var assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); + +var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); +var has = __webpack_require__(/*! ./lib/has */ "./node_modules/prop-types/lib/has.js"); +var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js"); + +var printWarning = function() {}; + +if (true) { + printWarning = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; +} + +function emptyFunctionThatReturnsNull() { + return null; +} + +module.exports = function(isValidElement, throwOnDirectAccess) { + /* global Symbol */ + var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. + + /** + * Returns the iterator method function contained on the iterable object. + * + * Be sure to invoke the function with the iterable as context: + * + * var iteratorFn = getIteratorFn(myIterable); + * if (iteratorFn) { + * var iterator = iteratorFn.call(myIterable); + * ... + * } + * + * @param {?object} maybeIterable + * @return {?function} + */ + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: + * + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); + * + * @internal + */ + + var ANONYMOUS = '<>'; + + // Important! + // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bigint: createPrimitiveTypeChecker('bigint'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), + + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + elementType: createElementTypeTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker, + }; + + /** + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + */ + /*eslint-disable no-self-compare*/ + function is(x, y) { + // SameValue algorithm + if (x === y) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return x !== 0 || 1 / x === 1 / y; + } else { + // Step 6.a: NaN == NaN + return x !== x && y !== y; + } + } + /*eslint-enable no-self-compare*/ + + /** + * We use an Error-like object for backward compatibility as people may call + * PropTypes directly and inspect their output. However, we don't use real + * Errors anymore. We don't inspect their stack anyway, and creating them + * is prohibitively expensive if they are created too often, such as what + * happens in oneOfType() for any type before the one that matched. + */ + function PropTypeError(message, data) { + this.message = message; + this.data = data && typeof data === 'object' ? data: {}; + this.stack = ''; + } + // Make `instanceof Error` still work for returned errors. + PropTypeError.prototype = Error.prototype; + + function createChainableTypeChecker(validate) { + if (true) { + var manualPropTypeCallCache = {}; + var manualPropTypeWarningCount = 0; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + + if (secret !== ReactPropTypesSecret) { + if (throwOnDirectAccess) { + // New behavior only for users of `prop-types` package + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use `PropTypes.checkPropTypes()` to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + } else if ( true && typeof console !== 'undefined') { + // Old behavior for people using React.PropTypes + var cacheKey = componentName + ':' + propName; + if ( + !manualPropTypeCallCache[cacheKey] && + // Avoid spamming the console because they are often not actionable except for lib authors + manualPropTypeWarningCount < 3 + ) { + printWarning( + 'You are manually calling a React.PropTypes validation ' + + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + + 'and will throw in the standalone `prop-types` package. ' + + 'You may be seeing this warning due to a third-party PropTypes ' + + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' + ); + manualPropTypeCallCache[cacheKey] = true; + manualPropTypeWarningCount++; + } + } + } + if (props[propName] == null) { + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } + + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); + + return chainedCheckType; + } + + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); + + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), + {expectedType: expectedType} + ); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunctionThatReturnsNull); + } + + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!isValidElement(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!ReactIs.isValidElementType(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + if (true) { + if (arguments.length > 1) { + printWarning( + 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' + ); + } else { + printWarning('Invalid argument supplied to oneOf, expected an array.'); + } + } + return emptyFunctionThatReturnsNull; + } + + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } + + var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { + var type = getPreciseType(value); + if (type === 'symbol') { + return String(value); + } + return value; + }); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); + } + return createChainableTypeChecker(validate); + } + + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); + } + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + } + for (var key in propValue) { + if (has(propValue, key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0; + return emptyFunctionThatReturnsNull; + } + + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (typeof checker !== 'function') { + printWarning( + 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' + ); + return emptyFunctionThatReturnsNull; + } + } + + function validate(props, propName, componentName, location, propFullName) { + var expectedTypes = []; + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret); + if (checkerResult == null) { + return null; + } + if (checkerResult.data && has(checkerResult.data, 'expectedType')) { + expectedTypes.push(checkerResult.data.expectedType); + } + } + var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': ''; + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.')); + } + return createChainableTypeChecker(validate); + } + + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function invalidValidatorError(componentName, location, propFullName, key, type) { + return new PropTypeError( + (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' + + 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.' + ); + } + + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (typeof checker !== 'function') { + return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + // We need to check all keys in case some are required but missing from props. + var allKeys = assign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (has(shapeTypes, key) && typeof checker !== 'function') { + return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); + } + if (!checker) { + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') + ); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + + return createChainableTypeChecker(validate); + } + + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (propValue === null || isValidElement(propValue)) { + return true; + } + + var iteratorFn = getIteratorFn(propValue); + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } + } + } else { + // Iterator will provide entry [k,v] tuples rather than values. + while (!(step = iterator.next()).done) { + var entry = step.value; + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; + } + + return true; + default: + return false; + } + } + + function isSymbol(propType, propValue) { + // Native Symbol. + if (propType === 'symbol') { + return true; + } + + // falsy value can't be a Symbol + if (!propValue) { + return false; + } + + // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } + + // Fallback for non-spec compliant Symbols which are polyfilled. + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } + + return false; + } + + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; + } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; + } + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + return propType; + } + + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + return propType; + } + + // Returns a string that is postfixed to a warning about an invalid type. + // For example, "undefined" or "of type array" + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + default: + return type; + } + } + + // Returns class name of the object, if any. + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + return propValue.constructor.name; + } + + ReactPropTypes.checkPropTypes = checkPropTypes; + ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + + +/***/ }), + +/***/ "./node_modules/prop-types/index.js": +/*!******************************************!*\ + !*** ./node_modules/prop-types/index.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +if (true) { + var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/prop-types/node_modules/react-is/index.js"); + + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); +} else {} + + +/***/ }), + +/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": +/*!*************************************************************!*\ + !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! + \*************************************************************/ +/***/ ((module) => { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +module.exports = ReactPropTypesSecret; + + +/***/ }), + +/***/ "./node_modules/prop-types/lib/has.js": +/*!********************************************!*\ + !*** ./node_modules/prop-types/lib/has.js ***! + \********************************************/ +/***/ ((module) => { + +module.exports = Function.call.bind(Object.prototype.hasOwnProperty); + + +/***/ }), + +/***/ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +/** @license React v16.13.1 + * react-is.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + + +if (true) { + (function() { +'use strict'; + +// The Symbol used to tag the ReactElement-like types. If there is no native Symbol +// nor polyfill, then a plain number is used for performance. +var hasSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; +var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; +var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; +var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; +var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; +var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; +var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary +// (unstable) APIs that have been removed. Can we remove the symbols? + +var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; +var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; +var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; +var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; +var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; +var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; +var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; +var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; +var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; +var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; +var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; + +function isValidElementType(type) { + return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); +} + +function typeOf(object) { + if (typeof object === 'object' && object !== null) { + var $$typeof = object.$$typeof; + + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + case REACT_CONCURRENT_MODE_TYPE: + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + return type; + + default: + var $$typeofType = type && type.$$typeof; + + switch ($$typeofType) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + + default: + return $$typeof; + } + + } + + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + + return undefined; +} // AsyncMode is deprecated along with isAsyncMode + +var AsyncMode = REACT_ASYNC_MODE_TYPE; +var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; +var ContextConsumer = REACT_CONTEXT_TYPE; +var ContextProvider = REACT_PROVIDER_TYPE; +var Element = REACT_ELEMENT_TYPE; +var ForwardRef = REACT_FORWARD_REF_TYPE; +var Fragment = REACT_FRAGMENT_TYPE; +var Lazy = REACT_LAZY_TYPE; +var Memo = REACT_MEMO_TYPE; +var Portal = REACT_PORTAL_TYPE; +var Profiler = REACT_PROFILER_TYPE; +var StrictMode = REACT_STRICT_MODE_TYPE; +var Suspense = REACT_SUSPENSE_TYPE; +var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated + +function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint + + console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); + } + } + + return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; +} +function isConcurrentMode(object) { + return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; +} +function isContextConsumer(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; +} +function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; +} +function isElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; +} +function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; +} +function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; +} +function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; +} +function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; +} +function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; +} +function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; +} +function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; +} +function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; +} + +exports.AsyncMode = AsyncMode; +exports.ConcurrentMode = ConcurrentMode; +exports.ContextConsumer = ContextConsumer; +exports.ContextProvider = ContextProvider; +exports.Element = Element; +exports.ForwardRef = ForwardRef; +exports.Fragment = Fragment; +exports.Lazy = Lazy; +exports.Memo = Memo; +exports.Portal = Portal; +exports.Profiler = Profiler; +exports.StrictMode = StrictMode; +exports.Suspense = Suspense; +exports.isAsyncMode = isAsyncMode; +exports.isConcurrentMode = isConcurrentMode; +exports.isContextConsumer = isContextConsumer; +exports.isContextProvider = isContextProvider; +exports.isElement = isElement; +exports.isForwardRef = isForwardRef; +exports.isFragment = isFragment; +exports.isLazy = isLazy; +exports.isMemo = isMemo; +exports.isPortal = isPortal; +exports.isProfiler = isProfiler; +exports.isStrictMode = isStrictMode; +exports.isSuspense = isSuspense; +exports.isValidElementType = isValidElementType; +exports.typeOf = typeOf; + })(); +} + + +/***/ }), + +/***/ "./node_modules/prop-types/node_modules/react-is/index.js": +/*!****************************************************************!*\ + !*** ./node_modules/prop-types/node_modules/react-is/index.js ***! + \****************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +if (false) {} else { + module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js"); +} + + +/***/ }), + +/***/ "./js/src/form/css/button.module.css": +/*!*******************************************!*\ + !*** ./js/src/form/css/button.module.css ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ "frm-loading": () => (/* reexport safe */ _node_modules_css_loader_dist_cjs_js_button_module_css__WEBPACK_IMPORTED_MODULE_6__["frm-loading"]), +/* harmony export */ spin: () => (/* reexport safe */ _node_modules_css_loader_dist_cjs_js_button_module_css__WEBPACK_IMPORTED_MODULE_6__.spin) +/* harmony export */ }); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _node_modules_css_loader_dist_cjs_js_button_module_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css */ "./node_modules/css-loader/dist/cjs.js!./js/src/form/css/button.module.css"); + + + + + + + + + + + +var options = {}; + +options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); +options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); + + options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); + +options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); +options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); + +var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_button_module_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); + + + + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_button_module_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_button_module_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_button_module_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); + + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/***/ ((module) => { + +"use strict"; + + +var stylesInDOM = []; +function getIndexByIdentifier(identifier) { + var result = -1; + for (var i = 0; i < stylesInDOM.length; i++) { + if (stylesInDOM[i].identifier === identifier) { + result = i; + break; + } + } + return result; +} +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var indexByIdentifier = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3], + supports: item[4], + layer: item[5] + }; + if (indexByIdentifier !== -1) { + stylesInDOM[indexByIdentifier].references++; + stylesInDOM[indexByIdentifier].updater(obj); + } else { + var updater = addElementStyle(obj, options); + options.byIndex = i; + stylesInDOM.splice(i, 0, { + identifier: identifier, + updater: updater, + references: 1 + }); + } + identifiers.push(identifier); + } + return identifiers; +} +function addElementStyle(obj, options) { + var api = options.domAPI(options); + api.update(obj); + var updater = function updater(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) { + return; + } + api.update(obj = newObj); + } else { + api.remove(); + } + }; + return updater; +} +module.exports = function (list, options) { + options = options || {}; + list = list || []; + var lastIdentifiers = modulesToDom(list, options); + return function update(newList) { + newList = newList || []; + for (var i = 0; i < lastIdentifiers.length; i++) { + var identifier = lastIdentifiers[i]; + var index = getIndexByIdentifier(identifier); + stylesInDOM[index].references--; + } + var newLastIdentifiers = modulesToDom(newList, options); + for (var _i = 0; _i < lastIdentifiers.length; _i++) { + var _identifier = lastIdentifiers[_i]; + var _index = getIndexByIdentifier(_identifier); + if (stylesInDOM[_index].references === 0) { + stylesInDOM[_index].updater(); + stylesInDOM.splice(_index, 1); + } + } + lastIdentifiers = newLastIdentifiers; + }; +}; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": +/*!********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! + \********************************************************************/ +/***/ ((module) => { + +"use strict"; + + +var memo = {}; + +/* istanbul ignore next */ +function getTarget(target) { + if (typeof memo[target] === "undefined") { + var styleTarget = document.querySelector(target); + + // Special case to return head of iframe instead of iframe itself + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; + } + } + memo[target] = styleTarget; + } + return memo[target]; +} + +/* istanbul ignore next */ +function insertBySelector(insert, style) { + var target = getTarget(insert); + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } + target.appendChild(style); +} +module.exports = insertBySelector; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": +/*!**********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! + \**********************************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* istanbul ignore next */ +function insertStyleElement(options) { + var element = document.createElement("style"); + options.setAttributes(element, options.attributes); + options.insert(element, options.options); + return element; +} +module.exports = insertStyleElement; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +/* istanbul ignore next */ +function setAttributesWithoutAttributes(styleElement) { + var nonce = true ? __webpack_require__.nc : 0; + if (nonce) { + styleElement.setAttribute("nonce", nonce); + } +} +module.exports = setAttributesWithoutAttributes; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": +/*!***************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* istanbul ignore next */ +function apply(styleElement, options, obj) { + var css = ""; + if (obj.supports) { + css += "@supports (".concat(obj.supports, ") {"); + } + if (obj.media) { + css += "@media ".concat(obj.media, " {"); + } + var needLayer = typeof obj.layer !== "undefined"; + if (needLayer) { + css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {"); + } + css += obj.css; + if (needLayer) { + css += "}"; + } + if (obj.media) { + css += "}"; + } + if (obj.supports) { + css += "}"; + } + var sourceMap = obj.sourceMap; + if (sourceMap && typeof btoa !== "undefined") { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } + + // For old IE + /* istanbul ignore if */ + options.styleTagTransform(css, styleElement, options.options); +} +function removeStyleElement(styleElement) { + // istanbul ignore if + if (styleElement.parentNode === null) { + return false; + } + styleElement.parentNode.removeChild(styleElement); +} + +/* istanbul ignore next */ +function domAPI(options) { + if (typeof document === "undefined") { + return { + update: function update() {}, + remove: function remove() {} + }; + } + var styleElement = options.insertStyleElement(options); + return { + update: function update(obj) { + apply(styleElement, options, obj); + }, + remove: function remove() { + removeStyleElement(styleElement); + } + }; +} +module.exports = domAPI; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": +/*!*********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! + \*********************************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* istanbul ignore next */ +function styleTagTransform(css, styleElement) { + if (styleElement.styleSheet) { + styleElement.styleSheet.cssText = css; + } else { + while (styleElement.firstChild) { + styleElement.removeChild(styleElement.firstChild); + } + styleElement.appendChild(document.createTextNode(css)); + } +} +module.exports = styleTagTransform; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/nonce */ +/******/ (() => { +/******/ __webpack_require__.nc = undefined; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!**************************!*\ + !*** ./js/src/blocks.js ***! + \**************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _form_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form/block */ "./js/src/form/block.js"); +/* harmony import */ var _form_calculator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form/calculator */ "./js/src/form/calculator.js"); +/* harmony import */ var _form_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./form/modal */ "./js/src/form/modal.js"); +/* harmony import */ var _form_graph__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./form/graph */ "./js/src/form/graph.js"); +/* harmony import */ var _form_views__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./form/views */ "./js/src/form/views.js"); +/** + * Formidable Simple Blocks + * + */ + + + + + + +})(); + +/******/ })() +; +//# sourceMappingURL=formidable_blocks.js.map \ No newline at end of file diff --git a/js/formidable_blocks.js.map b/js/formidable_blocks.js.map index 1f12ba18c7..9c75c7b2a4 100644 --- a/js/formidable_blocks.js.map +++ b/js/formidable_blocks.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable_blocks.js","mappings":"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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA,MAAwG;AACxG,MAA8F;AAC9F,MAAqG;AACrG,MAAwH;AACxH,MAAiH;AACjH,MAAiH;AACjH,MAAoH;AACpH;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,8FAAO;;;;AAI8D;AACtF,OAAO,iEAAe,8FAAO,IAAI,8FAAO,UAAU,8FAAO,mBAAmB,EAAC;;;;;;;;;;;;AC1BhE;;AAEb;;AAEA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB,6BAA6B;AAClD;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AChGa;;AAEb;AACA;;AAEA;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kC;;;;;;;;;;;ACtCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;;ACVa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;;AAEjF;AACA;AACA;AACA;;AAEA,gD;;;;;;;;;;;ACXa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,yDAAyD;AACzD,IAAI;;AAEJ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,wB;;;;;;;;;;;AC/Ca;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mC;;;;;;UCfA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;WCNA,mC;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;;AAEsB;AACK;AACL;AACA","sources":["webpack://formidable/./js/src/api/class-addon-api.js","webpack://formidable/./js/src/api/index.js","webpack://formidable/./js/src/common/components/icon.js","webpack://formidable/./js/src/common/components/itemselect.js","webpack://formidable/./js/src/common/utilities/values.js","webpack://formidable/./js/src/form/block.js","webpack://formidable/./js/src/form/calculator.js","webpack://formidable/./js/src/form/formselect.js","webpack://formidable/./js/src/form/formshortcode.js","webpack://formidable/./js/src/form/graph.js","webpack://formidable/./js/src/form/inspector.js","webpack://formidable/./js/src/form/modal.js","webpack://formidable/./js/src/form/views.js","webpack://formidable/./js/src/form/css/button.module.css","webpack://formidable/./node_modules/css-loader/dist/runtime/api.js","webpack://formidable/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://formidable/./node_modules/object-assign/index.js","webpack://formidable/./node_modules/prop-types/checkPropTypes.js","webpack://formidable/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://formidable/./node_modules/prop-types/index.js","webpack://formidable/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://formidable/./node_modules/prop-types/lib/has.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/index.js","webpack://formidable/./js/src/form/css/button.module.css?6e55","webpack://formidable/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://formidable/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/webpack/runtime/nonce","webpack://formidable/./js/src/blocks.js"],"sourcesContent":["export class frmAddonAPI {\n\t/**\n\t * A function designed to toggle different addon states.\n\t *\n\t * @param {'frm_install_addon'|'frm_activate_addon'|'frm_multiple_addons'} action The addon state action type.\n\t * @param {string} addon The addon path. Ex: formidable-views/formidable-views.php\n\t *\n\t * @return {Promise} The response from the server.\n\t */\n\tstatic toggleAddonState( action, addon ) {\n\t\treturn fetch( ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: action,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tplugin: addon\n\t\t\t} )\n\t\t} ).then( response => response.json() );\n\t}\n}\n","export { frmAddonAPI } from './class-addon-api';\n","/**\n * Formidable Forms icon\n */\nconst { Component } = wp.element;\nconst { Dashicon } = wp.components;\n\nexport default class FormidableIcon extends Component {\n\tloadCustomSvgIcon( ) {\n\t\tconst icon = formidable_form_selector.icon;\n\t\tif ( icon.match( /frm_white_label_icon/ ) ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\trender() {\n\t\tif ( false !== this.loadCustomSvgIcon() ) {\n\t\t\treturn this.loadCustomSvgIcon();\n\t\t}\n\n\t\tif ( formidable_form_selector.icon !== 'svg' ) {\n\t\t\treturn ;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n","const { __, sprintf } = wp.i18n;\nimport PropTypes from 'prop-types';\n\nconst {\n\tComponent,\n} = wp.element;\nconst {\n\tSelectControl,\n} = wp.components;\n\n/**\n * Displays a Select control with the specified items as options\n *\n */\nexport default class ItemSelect extends Component {\n\tcreateOptions( items, itemName ) {\n\t\tconst options = items.map( item => {\n\t\t\treturn {\n\t\t\t\tlabel: item.label,\n\t\t\t\tvalue: item.value,\n\t\t\t};\n\t\t} );\n\n\t\treturn [\n\t\t\t{\n\t\t\t\t// translators: %s is the name of the item\n\t\t\t\tlabel: sprintf( __( 'Select a %s', 'formidable' ), itemName ),\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t...options,\n\t\t];\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\titems,\n\t\t\tonChange,\n\t\t\titemName,\n\t\t\titemNamePlural,\n\t\t\tlabel,\n\t\t\thelp,\n\t\t} = this.props;\n\n\t\tif ( ( ! items || items.length === 0 ) ) {\n\t\t\treturn (\n\t\t\t\t

                                                                                                      \n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s is the name of the item\n\t\t\t\t\t\t__( 'Currently, there are no %s', 'formidable' ),\n\t\t\t\t\t\titemNamePlural\n\t\t\t\t\t) }\n\t\t\t\t

                                                                                                      \n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nItemSelect.defaultProps = {\n\titemName: 'item',\n\titemNamePlural: 'items',\n};\n\nItemSelect.propTypes = {\n\tselected: PropTypes.oneOfType( [\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t] ), //selected item\n\titems: PropTypes.array, //list of possible items\n\tonChange: PropTypes.func,\n\titemName: PropTypes.string, //name for item in select label\n\titemNamePlural: PropTypes.string, //plural of items, used in some labels\n\tlabel: PropTypes.string,\n\thelp: PropTypes.string,\n};\n","/**\n * Updates an attribute with the specified new value\n *\n * @param {string} attributeName Name of block attribute to be updated\n * @param {*} attributeValue Value of block attribute to be updated\n * @param {Function} setAttributes Function to set the block attribute to be updated\n */\nexport function updateAttribute( attributeName, attributeValue, setAttributes ) {\n\tsetAttributes( {\n\t\t[ attributeName ]: attributeValue\n\t} );\n}\n\n/**\n * Sets text attribute for a shortcode from a key value pair\n *\n * @param {*} value Value of text attribute to be set\n * @param {string} attributeName Name of text attribute to be set\n * @return {string} String of the text attribute in the format \" id=10\"\n */\nexport function setTextAttribute( value, attributeName ) {\n\tif ( value ) {\n\t\treturn ` ${ attributeName }=\"${ value }\"`;\n\t}\n\treturn '';\n}\n\n/**\n * Gets subdirectory of current site, if the site isn't on the top level of the domain\n *\n * @return {string} The subdirectory of the current site\n */\nexport function getSubDir() {\n\tconst page = window.location.pathname;\n\tconst index = page.indexOf( 'wp-admin' );\n\n\tlet subDir = '/';\n\n\tif ( index > -1 ) {\n\t\tsubDir = page.substr( 0, index );\n\t}\n\n\treturn subDir;\n}\n\nexport const cssHideAdvancedSettings = `\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n`;\n","/**\n * BLOCK: formidable/simple-form\n *\n * Block to display selected Formidable form with limited setting options\n */\nimport FormShortcode from './formshortcode';\nimport Inspector from './inspector';\nimport FormidableIcon from '../common/components/icon';\nimport FormSelect from './formselect';\nimport { cssHideAdvancedSettings } from '../common/utilities/values';\n\nconst { useBlockProps } = wp.blockEditor;\nconst { Fragment } = wp.element;\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { serverSideRender: ServerSideRender } = wp;\n\nfunction Edit( { setAttributes, attributes, isSelected } ) {\n\tconst { formId } = attributes;\n\tconst forms = formidable_form_selector.forms;\n\tconst blockProps = useBlockProps();\n\n\tif ( forms.length === 0 ) {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\tif ( ! formId ) {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      { formidable_form_selector.name }
                                                                                                      \n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t\n\t\t\t{ isSelected && }\n\t\t\t\n\t\t
                                                                                                      \n\t);\n}\n\nregisterBlockType( 'formidable/simple-form', {\n\tapiVersion: 3,\n\ttitle: formidable_form_selector.name,\n\tdescription: __( 'Display a Form', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t__( 'contact forms', 'formidable' ),\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n\n\tsave: function( props ) {\n\t\tconst {\n\t\t\tattributes,\n\t\t} = props;\n\t\tconst { formId } = attributes;\n\t\treturn (\n\t\t\t( formId === undefined )\n\t\t\t\t? ''\n\t\t\t\t: \n\t\t\t\t\t\n\t\t\t\t\n\t\t);\n\t},\n} );\n","/**\n * BLOCK: formidable/calculator\n *\n * Block to display selected Formidable calculator form\n */\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useBlockProps } = wp.blockEditor;\n\nfunction Edit( { setAttributes, attributes } ) {\n\tconst forms = formidable_form_selector.forms;\n\tconst blockProps = useBlockProps();\n\n\tif ( forms.length === 0 ) {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                                      { __( 'Calculator Form', 'formidable' ) }
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'This site does not have any calculator forms.', 'formidable' ) }\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms.', 'formidable' ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t{\n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t
                                                                                                      \n\t);\n}\n\nconst FrmCalcIcon = wp.element.createElement(\n\t'svg',\n\t{\n\t\twidth: 20,\n\t\theight: 20\n\t},\n\twp.element.createElement( 'path',\n\t\t{\n\t\t\td: 'M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z',\n\t\t}\n\t)\n);\n\nregisterBlockType( 'formidable/calculator', {\n\tapiVersion: 3,\n\ttitle: __( 'Calculator Form', 'formidable' ),\n\tdescription: __( 'Display a Calculator Form', 'formidable' ),\n\ticon: FrmCalcIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'calculation',\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n} );\n","/**\n * Form selector\n */\nimport ItemSelect from '../common/components/itemselect';\nimport PropTypes from 'prop-types';\n\nconst { __ } = wp.i18n;\nconst {\n\tComponent,\n} = wp.element;\n\nexport default class FormSelect extends Component {\n\trender() {\n\t\tconst {\n\t\t\tformId,\n\t\t\tsetAttributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tformId: newFormId,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\n\t\t);\n\t}\n}\n\nFormSelect.propTypes = {\n\tformId: PropTypes.string, //current formId\n\tsetAttributes: PropTypes.func.isRequired, //setAttributes of block\n};\n","/**\n * Form shortcode of current form\n */\nconst { Component } = wp.element;\n\nimport {\n\tsetTextAttribute,\n} from '../common/utilities/values';\n\nfunction createParamsText( atts ) {\n\tconst {\n\t\tformId,\n\t\ttitle,\n\t\tdescription,\n\t\tminimize,\n\t} = atts;\n\n\tlet paramsText = '';\n\n\tparamsText += setTextAttribute( formId, 'id' );\n\tparamsText += setTextAttribute( title, 'title' );\n\tparamsText += setTextAttribute( description, 'description' );\n\tparamsText += setTextAttribute( minimize, 'minimize' );\n\n\treturn paramsText;\n}\n\nexport default class FormShortcode extends Component {\n\trender() {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t[formidable\n\t\t\t\t{ createParamsText( this.props ) }\n\t\t\t\t]\n\t\t\t
                                                                                                      \n\t\t);\n\t}\n}\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\n( function() {\n\t'use strict';\n\n\tif ( formidable_form_selector.chartsAddon.installed ) {\n\t\treturn;\n\t}\n\n\tconst { __ } = wp.i18n;\n\tconst { registerBlockType } = wp.blocks;\n\tconst { Notice } = wp.components;\n\tconst { useBlockProps } = wp.blockEditor;\n\n\tconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\t\n\t\t\t{ text }\n\t\t\t
                                                                                                      \n\t\t\t\n\t\t\t\t{ buttonText }\n\t\t\t\n\t\t
                                                                                                      \n\t);\n\n\tconst blockName = __( 'Formidable Chart', 'formidable' );\n\n\tfunction Edit() {\n\t\tconst imageWrapperStyles = {\n\t\t\tpadding: '38px',\n\t\t\tmargin: '0 auto',\n\t\t\tmaxWidth: '600px'\n\t\t};\n\n\t\tconst blockProps = useBlockProps();\n\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      { blockName }
                                                                                                      \n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t{ formidable_form_selector.chartsAddon.hasAccess ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\tregisterBlockType( 'frm-charts/graph', {\n\t\tapiVersion: 3,\n\t\ttitle: blockName,\n\t\tdescription: __( 'Display a chart or graph', 'formidable' ),\n\t\ticon: (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tcategory: 'design',\n\n\t\tedit: Edit\n\t} );\n}() );\n","/**\n * Inspector controls for Formidable Simple Form block\n */\n\nconst { __ } = wp.i18n;\nconst { Component } = wp.element;\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\nconst {\n\tPanelBody,\n\tPanelRow,\n\tToggleControl,\n\tExternalLink,\n} = wp.components;\n\nimport PropTypes from 'prop-types';\nimport FormSelect from './formselect';\nimport FormShortcode from './formshortcode';\nimport {\n\tupdateAttribute,\n\tgetSubDir,\n} from '../common/utilities/values';\n\nexport default class Inspector extends Component {\n\trender() {\n\t\tconst {\n\t\t\tsetAttributes,\n\t\t\tattributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tformId,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\tminimize,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ formId &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'Go to form', 'formidable' ) }\n\t\t\t\t\t\t\n\t\t\t\t\t }\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'title', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'description', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'minimize', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nInspector.propTypes = {\n\tattributes: PropTypes.object, //block attributes\n\tsetAttributes: PropTypes.func, //setAttributes of block\n};\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useBlockProps } = wp.blockEditor;\n\nconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\n\t\t{ text }\n\t\t
                                                                                                      \n\t\t\n\t\t\t{ buttonText }\n\t\t\n\t
                                                                                                      \n);\n\nfunction Edit( { setAttributes, attributes } ) {\n\tconst blockName = __( 'Bootstrap modal popup', 'formidable' );\n\tconst imageStyles = {\n\t\tmaxWidth: '504px',\n\t\theight: 'auto',\n\t\tborderRadius: '12px',\n\t};\n\tconst imageWrapperStyles = {\n\t\tpadding: '38px',\n\t\ttextAlign: 'center',\n\t\tbackgroundColor: '#f2f4f7',\n\t\tmarginTop: '24px',\n\t};\n\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                                      { blockName }
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t{ formidable_form_selector.modalAddon.hasAccess ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t
                                                                                                      \n\t);\n}\n\nregisterBlockType( 'frm-modal/modal', {\n\tapiVersion: 3,\n\ttitle: formidable_form_selector.name + ' ' + __( 'Modal', 'formidable' ),\n\tdescription: __( 'Display a modal', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'modal',\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n} );\n","/* global formidable_form_selector */\nimport FormidableIcon from '../common/components/icon';\nimport { frmAddonAPI } from '../api/index';\n\nimport './css/button.module.css';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useState, useEffect } = wp.element;\nconst { useBlockProps } = wp.blockEditor;\n\nconst blockData = formidable_form_selector; // eslint-disable-line camelcase\nconst upgradeLink = blockData.viewsAddon.hasAccess ? blockData.viewsAddon.link : blockData.link;\n\nfunction Edit() {\n\tconst [ addonActivateButton, updateAddonActivateButton ] = useState( {\n\t\tdefaultClassname: 'frm-activate-addon frm-button-primary button button-primary',\n\t\tloadingClassname: 'frm-loading',\n\t\tclassnames: 'frm-activate-addon frm-button-primary button button-primary',\n\t\tlabel: ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ? __( 'Install', 'formidable' ) : __( 'Activate', 'formidable' ),\n\t\tisLoading: false\n\t} );\n\n\tconst activateViewsAddon = () => {\n\t\tif ( true === addonActivateButton.isLoading ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateAddonActivateButton( { ...addonActivateButton, isLoading: true, classnames: addonActivateButton.defaultClassname + ' ' + addonActivateButton.loadingClassname } );\n\t\tif ( ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ) {\n\t\t\tfrmAddonAPI.toggleAddonState( 'frm_install_addon', blockData.viewsAddon.url ).then( () => {\n\t\t\t\twindow.location.reload();\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tfrmAddonAPI.toggleAddonState( 'frm_activate_addon', 'formidable-views/formidable-views.php' ).then( () => {\n\t\t\twindow.location.reload();\n\t\t} );\n\t};\n\n\tconst blockName = __( 'Formidable Views', 'formidable' );\n\tconst imageStyles = {\n\t\tmaxWidth: '504px',\n\t\theight: 'auto',\n\t\tborderRadius: '12px'\n\t};\n\tconst imageWrapperStyles = {\n\t\tpadding: '38px',\n\t\ttextAlign: 'center',\n\t\tbackgroundColor: '#f2f4f7',\n\t\tmarginTop: '24px'\n\t};\n\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                                      { blockName }
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t{ ! blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms', 'formidable' ) }\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                                      \n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t}\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t
                                                                                                      \n\t);\n}\n\nregisterBlockType( 'formidable/simple-view', {\n\tapiVersion: 3,\n\ttitle: __( 'Formidable Views', 'formidable' ),\n\tdescription: __( 'Display a Visual View', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'views',\n\t\t'formidable'\n\t],\n\n\tedit: Edit\n} );\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"button.X_GKlxRFRHSOWckGcSPJ {\\n\\tcursor: progress;\\n\\topacity: 0.7;\\n\\tposition: relative;\\n\\ttext-indent: -999px;\\n\\tmin-width: 70px;\\n\\toverflow: hidden;\\n}\\nbutton.X_GKlxRFRHSOWckGcSPJ:before {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\tbackground: transparent;\\n\\tborder: 1px solid #fff;\\n\\tborder-top-color: transparent;\\n\\tborder-left-color: transparent;\\n\\tborder-radius: 50%;\\n\\n\\tbox-sizing: border-box;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\tmargin-top: -10px;\\n\\tmargin-left: -10px;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\n\\tanimation: _3ywaXb1_tykjJGTtxpG 2s linear infinite;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./js/src/form/css/button.module.css\"],\"names\":[],\"mappings\":\"AAAA;CACC,gBAAgB;CAChB,YAAY;CACZ,kBAAkB;CAClB,mBAAmB;CACnB,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,WAAW;CACX,qBAAqB;CACrB,kBAAkB;CAClB,uBAAuB;CACvB,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,kBAAkB;;CAElB,sBAAsB;CACtB,QAAQ;CACR,SAAS;CACT,iBAAiB;CACjB,kBAAkB;CAClB,WAAW;CACX,YAAY;;CAEZ,kDAAkC;AACnC\",\"sourcesContent\":[\"button.frm-loading {\\n\\tcursor: progress;\\n\\topacity: 0.7;\\n\\tposition: relative;\\n\\ttext-indent: -999px;\\n\\tmin-width: 70px;\\n\\toverflow: hidden;\\n}\\nbutton.frm-loading:before {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\tbackground: transparent;\\n\\tborder: 1px solid #fff;\\n\\tborder-top-color: transparent;\\n\\tborder-left-color: transparent;\\n\\tborder-radius: 50%;\\n\\n\\tbox-sizing: border-box;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\tmargin-top: -10px;\\n\\tmargin-left: -10px;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\n\\tanimation: spin 2s linear infinite;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"frm-loading\": \"X_GKlxRFRHSOWckGcSPJ\",\n\t\"spin\": \"_3ywaXb1_tykjJGTtxpG\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var style = document.createElement(\"style\");\n options.setAttributes(style, options.attributes);\n options.insert(style);\n return style;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(style) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute(\"media\", media);\n } else {\n style.removeAttribute(\"media\");\n }\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, style);\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var style = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(style, options, obj);\n },\n remove: function remove() {\n removeStyleElement(style);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, style) {\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","/**\n * Formidable Simple Blocks\n *\n */\n\nimport './form/block';\nimport './form/calculator';\nimport './form/modal';\nimport './form/graph';\nimport './form/views';\n"],"names":["frmAddonAPI","_classCallCheck","_createClass","key","value","toggleAddonState","action","addon","fetch","ajaxurl","method","headers","body","URLSearchParams","nonce","frmGlobal","plugin","then","response","json","Component","wp","element","Dashicon","components","FormidableIcon","_Component","_callSuper","arguments","_inherits","loadCustomSvgIcon","icon","formidable_form_selector","match","createElement","xmlns","viewBox","width","height","d","render","className","default","_wp$i18n","i18n","__","sprintf","PropTypes","SelectControl","ItemSelect","createOptions","items","itemName","options","map","item","label","concat","_toConsumableArray","_this$props","props","selected","onChange","itemNamePlural","help","length","__next40pxDefaultSize","__nextHasNoMarginBottom","defaultProps","propTypes","oneOfType","string","number","array","func","updateAttribute","attributeName","attributeValue","setAttributes","_defineProperty","setTextAttribute","getSubDir","page","window","location","pathname","index","indexOf","subDir","substr","cssHideAdvancedSettings","FormShortcode","Inspector","FormSelect","useBlockProps","blockEditor","Fragment","registerBlockType","blocks","Notice","_wp","ServerSideRender","serverSideRender","Edit","_ref","attributes","isSelected","formId","forms","blockProps","status","isDismissible","name","block","apiVersion","title","description","category","keywords","edit","save","undefined","href","link","target","src","url","alt","FrmCalcIcon","newFormId","isRequired","createParamsText","atts","minimize","paramsText","chartsAddon","installed","UpgradeNotice","text","buttonText","blockName","imageWrapperStyles","padding","margin","maxWidth","style","alignSelf","hasAccess","fill","stroke","strokeLinecap","strokeWidth","InspectorControls","_wp$components","PanelBody","PanelRow","ToggleControl","ExternalLink","initialOpen","checked","object","_ref2","imageStyles","borderRadius","textAlign","backgroundColor","marginTop","modalAddon","_wp$element","useState","useEffect","blockData","upgradeLink","viewsAddon","_useState","defaultClassname","loadingClassname","classnames","isLoading","_useState2","_slicedToArray","addonActivateButton","updateAddonActivateButton","activateViewsAddon","_objectSpread","reload","rel","onClick","type"],"sourceRoot":""} +{"version":3,"file":"formidable_blocks.js","mappings":"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AAa,WAAW,YAAY,MAAM,KAAK,UAAU,YAAY,aAAa,aAAa,aAAa,aAAa,aAAa,cAAc,aAAa,WAAW,UAAU,YAAY,aAAa,WAAW,WAAW,YAAY,8CAA8C,qBAAqB,iBAAiB,uBAAuB,wBAAwB,oBAAoB,qBAAqB,GAAG,6BAA6B,gBAAgB,0BAA0B,uBAAuB,4BAA4B,2BAA2B,kCAAkC,mCAAmC,uBAAuB,6BAA6B,aAAa,cAAc,sBAAsB,uBAAuB,gBAAgB,iBAAiB,yCAAyC,GAAG,mBAAmB;AACr+B;AACA;AAC+B;AACxB;AACP,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;ACrC1B;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA,MAAwG;AACxG,MAA8F;AAC9F,MAAqG;AACrG,MAAwH;AACxH,MAAiH;AACjH,MAAiH;AACjH,MAAoH;AACpH;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,8FAAO;;;;AAI8D;AACtF,OAAO,iEAAe,8FAAO,IAAI,8FAAO,UAAU,8FAAO,mBAAmB,EAAC;;;;;;;;;;;;AC1BhE;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;AACjF;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTa;;AAEb;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5Da;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;UCbA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;;AAEsB;AACK;AACL;AACA","sources":["webpack://formidable/./js/src/api/class-addon-api.js","webpack://formidable/./js/src/api/index.js","webpack://formidable/./js/src/common/components/icon.js","webpack://formidable/./js/src/common/components/itemselect.js","webpack://formidable/./js/src/common/utilities/values.js","webpack://formidable/./js/src/form/block.js","webpack://formidable/./js/src/form/calculator.js","webpack://formidable/./js/src/form/formselect.js","webpack://formidable/./js/src/form/formshortcode.js","webpack://formidable/./js/src/form/graph.js","webpack://formidable/./js/src/form/inspector.js","webpack://formidable/./js/src/form/modal.js","webpack://formidable/./js/src/form/views.js","webpack://formidable/./js/src/form/css/button.module.css","webpack://formidable/./node_modules/css-loader/dist/runtime/api.js","webpack://formidable/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://formidable/./node_modules/object-assign/index.js","webpack://formidable/./node_modules/prop-types/checkPropTypes.js","webpack://formidable/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://formidable/./node_modules/prop-types/index.js","webpack://formidable/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://formidable/./node_modules/prop-types/lib/has.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://formidable/./node_modules/prop-types/node_modules/react-is/index.js","webpack://formidable/./js/src/form/css/button.module.css?6e55","webpack://formidable/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://formidable/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://formidable/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://formidable/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/webpack/runtime/nonce","webpack://formidable/./js/src/blocks.js"],"sourcesContent":["export class frmAddonAPI {\n\t/**\n\t * A function designed to toggle different addon states.\n\t *\n\t * @param {'frm_install_addon'|'frm_activate_addon'|'frm_multiple_addons'} action The addon state action type.\n\t * @param {string} addon The addon path. Ex: formidable-views/formidable-views.php\n\t *\n\t * @return {Promise} The response from the server.\n\t */\n\tstatic toggleAddonState( action, addon ) {\n\t\treturn fetch( ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: action,\n\t\t\t\tnonce: frmGlobal.nonce,\n\t\t\t\tplugin: addon\n\t\t\t} )\n\t\t} ).then( response => response.json() );\n\t}\n}\n","export { frmAddonAPI } from './class-addon-api';\n","/**\n * Formidable Forms icon\n */\nconst { Component } = wp.element;\nconst { Dashicon } = wp.components;\n\nexport default class FormidableIcon extends Component {\n\tloadCustomSvgIcon( ) {\n\t\tconst icon = formidable_form_selector.icon;\n\t\tif ( icon.match( /frm_white_label_icon/ ) ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\trender() {\n\t\tif ( false !== this.loadCustomSvgIcon() ) {\n\t\t\treturn this.loadCustomSvgIcon();\n\t\t}\n\n\t\tif ( formidable_form_selector.icon !== 'svg' ) {\n\t\t\treturn ;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n","const { __, sprintf } = wp.i18n;\nimport PropTypes from 'prop-types';\n\nconst {\n\tComponent,\n} = wp.element;\nconst {\n\tSelectControl,\n} = wp.components;\n\n/**\n * Displays a Select control with the specified items as options\n *\n */\nexport default class ItemSelect extends Component {\n\tcreateOptions( items, itemName ) {\n\t\tconst options = items.map( item => {\n\t\t\treturn {\n\t\t\t\tlabel: item.label,\n\t\t\t\tvalue: item.value,\n\t\t\t};\n\t\t} );\n\n\t\treturn [\n\t\t\t{\n\t\t\t\t// translators: %s is the name of the item\n\t\t\t\tlabel: sprintf( __( 'Select a %s', 'formidable' ), itemName ),\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t...options,\n\t\t];\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\titems,\n\t\t\tonChange,\n\t\t\titemName,\n\t\t\titemNamePlural,\n\t\t\tlabel,\n\t\t\thelp,\n\t\t} = this.props;\n\n\t\tif ( ( ! items || items.length === 0 ) ) {\n\t\t\treturn (\n\t\t\t\t

                                                                                                      \n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s is the name of the item\n\t\t\t\t\t\t__( 'Currently, there are no %s', 'formidable' ),\n\t\t\t\t\t\titemNamePlural\n\t\t\t\t\t) }\n\t\t\t\t

                                                                                                      \n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nItemSelect.defaultProps = {\n\titemName: 'item',\n\titemNamePlural: 'items',\n};\n\nItemSelect.propTypes = {\n\tselected: PropTypes.oneOfType( [\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t] ), //selected item\n\titems: PropTypes.array, //list of possible items\n\tonChange: PropTypes.func,\n\titemName: PropTypes.string, //name for item in select label\n\titemNamePlural: PropTypes.string, //plural of items, used in some labels\n\tlabel: PropTypes.string,\n\thelp: PropTypes.string,\n};\n","/**\n * Updates an attribute with the specified new value\n *\n * @param {string} attributeName Name of block attribute to be updated\n * @param {*} attributeValue Value of block attribute to be updated\n * @param {Function} setAttributes Function to set the block attribute to be updated\n */\nexport function updateAttribute( attributeName, attributeValue, setAttributes ) {\n\tsetAttributes( {\n\t\t[ attributeName ]: attributeValue\n\t} );\n}\n\n/**\n * Sets text attribute for a shortcode from a key value pair\n *\n * @param {*} value Value of text attribute to be set\n * @param {string} attributeName Name of text attribute to be set\n * @return {string} String of the text attribute in the format \" id=10\"\n */\nexport function setTextAttribute( value, attributeName ) {\n\tif ( value ) {\n\t\treturn ` ${ attributeName }=\"${ value }\"`;\n\t}\n\treturn '';\n}\n\n/**\n * Gets subdirectory of current site, if the site isn't on the top level of the domain\n *\n * @return {string} The subdirectory of the current site\n */\nexport function getSubDir() {\n\tconst page = window.location.pathname;\n\tconst index = page.indexOf( 'wp-admin' );\n\n\tlet subDir = '/';\n\n\tif ( index > -1 ) {\n\t\tsubDir = page.substr( 0, index );\n\t}\n\n\treturn subDir;\n}\n\nexport const cssHideAdvancedSettings = `\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n`;\n","/**\n * BLOCK: formidable/simple-form\n *\n * Block to display selected Formidable form with limited setting options\n */\nimport FormShortcode from './formshortcode';\nimport Inspector from './inspector';\nimport FormidableIcon from '../common/components/icon';\nimport FormSelect from './formselect';\nimport { cssHideAdvancedSettings } from '../common/utilities/values';\n\nconst { useBlockProps } = wp.blockEditor;\nconst { Fragment } = wp.element;\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { serverSideRender: ServerSideRender } = wp;\n\nfunction Edit( { setAttributes, attributes, isSelected } ) {\n\tconst { formId } = attributes;\n\tconst forms = formidable_form_selector.forms;\n\tconst blockProps = useBlockProps();\n\n\tif ( forms.length === 0 ) {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\tif ( ! formId ) {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      { formidable_form_selector.name }
                                                                                                      \n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t\n\t\t\t{ isSelected && }\n\t\t\t\n\t\t
                                                                                                      \n\t);\n}\n\nregisterBlockType( 'formidable/simple-form', {\n\tapiVersion: 3,\n\ttitle: formidable_form_selector.name,\n\tdescription: __( 'Display a Form', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t__( 'contact forms', 'formidable' ),\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n\n\tsave: function( props ) {\n\t\tconst {\n\t\t\tattributes,\n\t\t} = props;\n\t\tconst { formId } = attributes;\n\t\treturn (\n\t\t\t( formId === undefined )\n\t\t\t\t? ''\n\t\t\t\t: \n\t\t\t\t\t\n\t\t\t\t\n\t\t);\n\t},\n} );\n","/**\n * BLOCK: formidable/calculator\n *\n * Block to display selected Formidable calculator form\n */\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useBlockProps } = wp.blockEditor;\n\nfunction Edit( { setAttributes, attributes } ) {\n\tconst forms = formidable_form_selector.forms;\n\tconst blockProps = useBlockProps();\n\n\tif ( forms.length === 0 ) {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t\n\t\t\t\t\t{ __( 'This site does not have any forms.', 'formidable' ) }\n\t\t\t\t\n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                                      { __( 'Calculator Form', 'formidable' ) }
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'This site does not have any calculator forms.', 'formidable' ) }\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms.', 'formidable' ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t{\n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t
                                                                                                      \n\t);\n}\n\nconst FrmCalcIcon = wp.element.createElement(\n\t'svg',\n\t{\n\t\twidth: 20,\n\t\theight: 20\n\t},\n\twp.element.createElement( 'path',\n\t\t{\n\t\t\td: 'M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z',\n\t\t}\n\t)\n);\n\nregisterBlockType( 'formidable/calculator', {\n\tapiVersion: 3,\n\ttitle: __( 'Calculator Form', 'formidable' ),\n\tdescription: __( 'Display a Calculator Form', 'formidable' ),\n\ticon: FrmCalcIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'calculation',\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n} );\n","/**\n * Form selector\n */\nimport ItemSelect from '../common/components/itemselect';\nimport PropTypes from 'prop-types';\n\nconst { __ } = wp.i18n;\nconst {\n\tComponent,\n} = wp.element;\n\nexport default class FormSelect extends Component {\n\trender() {\n\t\tconst {\n\t\t\tformId,\n\t\t\tsetAttributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tformId: newFormId,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\n\t\t);\n\t}\n}\n\nFormSelect.propTypes = {\n\tformId: PropTypes.string, //current formId\n\tsetAttributes: PropTypes.func.isRequired, //setAttributes of block\n};\n","/**\n * Form shortcode of current form\n */\nconst { Component } = wp.element;\n\nimport {\n\tsetTextAttribute,\n} from '../common/utilities/values';\n\nfunction createParamsText( atts ) {\n\tconst {\n\t\tformId,\n\t\ttitle,\n\t\tdescription,\n\t\tminimize,\n\t} = atts;\n\n\tlet paramsText = '';\n\n\tparamsText += setTextAttribute( formId, 'id' );\n\tparamsText += setTextAttribute( title, 'title' );\n\tparamsText += setTextAttribute( description, 'description' );\n\tparamsText += setTextAttribute( minimize, 'minimize' );\n\n\treturn paramsText;\n}\n\nexport default class FormShortcode extends Component {\n\trender() {\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t[formidable\n\t\t\t\t{ createParamsText( this.props ) }\n\t\t\t\t]\n\t\t\t
                                                                                                      \n\t\t);\n\t}\n}\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\n( function() {\n\t'use strict';\n\n\tif ( formidable_form_selector.chartsAddon.installed ) {\n\t\treturn;\n\t}\n\n\tconst { __ } = wp.i18n;\n\tconst { registerBlockType } = wp.blocks;\n\tconst { Notice } = wp.components;\n\tconst { useBlockProps } = wp.blockEditor;\n\n\tconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\t\n\t\t\t{ text }\n\t\t\t
                                                                                                      \n\t\t\t\n\t\t\t\t{ buttonText }\n\t\t\t\n\t\t
                                                                                                      \n\t);\n\n\tconst blockName = __( 'Formidable Chart', 'formidable' );\n\n\tfunction Edit() {\n\t\tconst imageWrapperStyles = {\n\t\t\tpadding: '38px',\n\t\t\tmargin: '0 auto',\n\t\t\tmaxWidth: '600px'\n\t\t};\n\n\t\tconst blockProps = useBlockProps();\n\n\t\treturn (\n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\n\t\t\t\t\t\t
                                                                                                      { blockName }
                                                                                                      \n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t{ formidable_form_selector.chartsAddon.hasAccess ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t);\n\t}\n\n\tregisterBlockType( 'frm-charts/graph', {\n\t\tapiVersion: 3,\n\t\ttitle: blockName,\n\t\tdescription: __( 'Display a chart or graph', 'formidable' ),\n\t\ticon: (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tcategory: 'design',\n\n\t\tedit: Edit\n\t} );\n}() );\n","/**\n * Inspector controls for Formidable Simple Form block\n */\n\nconst { __ } = wp.i18n;\nconst { Component } = wp.element;\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\nconst {\n\tPanelBody,\n\tPanelRow,\n\tToggleControl,\n\tExternalLink,\n} = wp.components;\n\nimport PropTypes from 'prop-types';\nimport FormSelect from './formselect';\nimport FormShortcode from './formshortcode';\nimport {\n\tupdateAttribute,\n\tgetSubDir,\n} from '../common/utilities/values';\n\nexport default class Inspector extends Component {\n\trender() {\n\t\tconst {\n\t\t\tsetAttributes,\n\t\t\tattributes,\n\t\t\tforms,\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tformId,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\tminimize,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ formId &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'Go to form', 'formidable' ) }\n\t\t\t\t\t\t\n\t\t\t\t\t }\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'title', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'description', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tupdateAttribute( 'minimize', response ? '1' : '', setAttributes );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nInspector.propTypes = {\n\tattributes: PropTypes.object, //block attributes\n\tsetAttributes: PropTypes.func, //setAttributes of block\n};\n","/* global formidable_form_selector */\n\nimport FormidableIcon from '../common/components/icon';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useBlockProps } = wp.blockEditor;\n\nconst UpgradeNotice = ( { text, buttonText, link } ) => (\n\t\n\t\t{ text }\n\t\t
                                                                                                      \n\t\t\n\t\t\t{ buttonText }\n\t\t\n\t
                                                                                                      \n);\n\nfunction Edit( { setAttributes, attributes } ) {\n\tconst blockName = __( 'Bootstrap modal popup', 'formidable' );\n\tconst imageStyles = {\n\t\tmaxWidth: '504px',\n\t\theight: 'auto',\n\t\tborderRadius: '12px',\n\t};\n\tconst imageWrapperStyles = {\n\t\tpadding: '38px',\n\t\ttextAlign: 'center',\n\t\tbackgroundColor: '#f2f4f7',\n\t\tmarginTop: '24px',\n\t};\n\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                                      { blockName }
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t{ formidable_form_selector.modalAddon.hasAccess ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t
                                                                                                      \n\t);\n}\n\nregisterBlockType( 'frm-modal/modal', {\n\tapiVersion: 3,\n\ttitle: formidable_form_selector.name + ' ' + __( 'Modal', 'formidable' ),\n\tdescription: __( 'Display a modal', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'modal',\n\t\t'formidable',\n\t],\n\n\tedit: Edit,\n} );\n","/* global formidable_form_selector */\nimport FormidableIcon from '../common/components/icon';\nimport { frmAddonAPI } from '../api/index';\n\nimport './css/button.module.css';\n\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { Notice } = wp.components;\nconst { useState, useEffect } = wp.element;\nconst { useBlockProps } = wp.blockEditor;\n\nconst blockData = formidable_form_selector; // eslint-disable-line camelcase\nconst upgradeLink = blockData.viewsAddon.hasAccess ? blockData.viewsAddon.link : blockData.link;\n\nfunction Edit() {\n\tconst [ addonActivateButton, updateAddonActivateButton ] = useState( {\n\t\tdefaultClassname: 'frm-activate-addon frm-button-primary button button-primary',\n\t\tloadingClassname: 'frm-loading',\n\t\tclassnames: 'frm-activate-addon frm-button-primary button button-primary',\n\t\tlabel: ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ? __( 'Install', 'formidable' ) : __( 'Activate', 'formidable' ),\n\t\tisLoading: false\n\t} );\n\n\tconst activateViewsAddon = () => {\n\t\tif ( true === addonActivateButton.isLoading ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateAddonActivateButton( { ...addonActivateButton, isLoading: true, classnames: addonActivateButton.defaultClassname + ' ' + addonActivateButton.loadingClassname } );\n\t\tif ( ! blockData.viewsAddon.installed && blockData.viewsAddon.hasAccess ) {\n\t\t\tfrmAddonAPI.toggleAddonState( 'frm_install_addon', blockData.viewsAddon.url ).then( () => {\n\t\t\t\twindow.location.reload();\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tfrmAddonAPI.toggleAddonState( 'frm_activate_addon', 'formidable-views/formidable-views.php' ).then( () => {\n\t\t\twindow.location.reload();\n\t\t} );\n\t};\n\n\tconst blockName = __( 'Formidable Views', 'formidable' );\n\tconst imageStyles = {\n\t\tmaxWidth: '504px',\n\t\theight: 'auto',\n\t\tborderRadius: '12px'\n\t};\n\tconst imageWrapperStyles = {\n\t\tpadding: '38px',\n\t\ttextAlign: 'center',\n\t\tbackgroundColor: '#f2f4f7',\n\t\tmarginTop: '24px'\n\t};\n\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t\t\t\n\t\t\t\t\t
                                                                                                      { blockName }
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t{ ! blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ __( 'Upgrade Formidable Forms', 'formidable' ) }\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                                      \n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ blockData.viewsAddon.hasAccess &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\t{ __( 'Effortlessly transform form data into webpages with Views, the only integrated form & application builder.', 'formidable' ) }\n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t}\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t
                                                                                                      \n\t\t\t\t\t
                                                                                                      \n\t\t\t\t
                                                                                                      \n\t\t\t
                                                                                                      \n\t\t
                                                                                                      \n\t);\n}\n\nregisterBlockType( 'formidable/simple-view', {\n\tapiVersion: 3,\n\ttitle: __( 'Formidable Views', 'formidable' ),\n\tdescription: __( 'Display a Visual View', 'formidable' ),\n\ticon: FormidableIcon,\n\tcategory: 'widgets',\n\tkeywords: [\n\t\t'views',\n\t\t'formidable'\n\t],\n\n\tedit: Edit\n} );\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button.t3RQZV1ZQbHGYyQUnhIY {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.t3RQZV1ZQbHGYyQUnhIY:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: Ts7haRQUDk0YMfLiQW00 2s linear infinite;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./js/src/form/css/button.module.css\"],\"names\":[],\"mappings\":\"AAAA;CACC,gBAAgB;CAChB,YAAY;CACZ,kBAAkB;CAClB,mBAAmB;CACnB,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,WAAW;CACX,qBAAqB;CACrB,kBAAkB;CAClB,uBAAuB;CACvB,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,kBAAkB;;CAElB,sBAAsB;CACtB,QAAQ;CACR,SAAS;CACT,iBAAiB;CACjB,kBAAkB;CAClB,WAAW;CACX,YAAY;;CAEZ,kDAAkC;AACnC\",\"sourcesContent\":[\"button.frm-loading {\\n\\tcursor: progress;\\n\\topacity: 0.7;\\n\\tposition: relative;\\n\\ttext-indent: -999px;\\n\\tmin-width: 70px;\\n\\toverflow: hidden;\\n}\\nbutton.frm-loading:before {\\n\\tcontent: '';\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\tbackground: transparent;\\n\\tborder: 1px solid #fff;\\n\\tborder-top-color: transparent;\\n\\tborder-left-color: transparent;\\n\\tborder-radius: 50%;\\n\\n\\tbox-sizing: border-box;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\tmargin-top: -10px;\\n\\tmargin-left: -10px;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\n\\tanimation: spin 2s linear infinite;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nvar _1 = `t3RQZV1ZQbHGYyQUnhIY`;\nexport { _1 as \"frm-loading\" };\nexport var spin = `Ts7haRQUDk0YMfLiQW00`;\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!./button.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","/**\n * Formidable Simple Blocks\n *\n */\n\nimport './form/block';\nimport './form/calculator';\nimport './form/modal';\nimport './form/graph';\nimport './form/views';\n"],"names":["frmAddonAPI","_classCallCheck","_createClass","key","value","toggleAddonState","action","addon","fetch","ajaxurl","method","headers","body","URLSearchParams","nonce","frmGlobal","plugin","then","response","json","Component","wp","element","Dashicon","components","FormidableIcon","_Component","_callSuper","arguments","_inherits","loadCustomSvgIcon","icon","formidable_form_selector","match","createElement","xmlns","viewBox","width","height","d","render","className","default","_wp$i18n","i18n","__","sprintf","PropTypes","SelectControl","ItemSelect","createOptions","items","itemName","options","map","item","label","concat","_toConsumableArray","_this$props","props","selected","onChange","itemNamePlural","help","length","__next40pxDefaultSize","__nextHasNoMarginBottom","defaultProps","propTypes","oneOfType","string","number","array","func","updateAttribute","attributeName","attributeValue","setAttributes","_defineProperty","setTextAttribute","getSubDir","page","window","location","pathname","index","indexOf","subDir","substr","cssHideAdvancedSettings","FormShortcode","Inspector","FormSelect","useBlockProps","blockEditor","Fragment","registerBlockType","blocks","Notice","_wp","ServerSideRender","serverSideRender","Edit","_ref","attributes","isSelected","formId","forms","blockProps","status","isDismissible","name","block","apiVersion","title","description","category","keywords","edit","save","undefined","href","link","target","src","url","alt","FrmCalcIcon","newFormId","isRequired","createParamsText","atts","minimize","paramsText","chartsAddon","installed","UpgradeNotice","text","buttonText","blockName","imageWrapperStyles","padding","margin","maxWidth","style","alignSelf","hasAccess","fill","stroke","strokeLinecap","strokeWidth","InspectorControls","_wp$components","PanelBody","PanelRow","ToggleControl","ExternalLink","initialOpen","checked","object","_ref2","imageStyles","borderRadius","textAlign","backgroundColor","marginTop","modalAddon","_wp$element","useState","useEffect","blockData","upgradeLink","viewsAddon","_useState","defaultClassname","loadingClassname","classnames","isLoading","_useState2","_slicedToArray","addonActivateButton","updateAddonActivateButton","activateViewsAddon","_objectSpread","reload","rel","onClick","type"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable_dashboard.js b/js/formidable_dashboard.js index a497b88312..47b9c1c06b 100644 --- a/js/formidable_dashboard.js +++ b/js/formidable_dashboard.js @@ -1 +1,961 @@ -(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=i,this.prepareElements()},i=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements(function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){e.applyStyleToElements(function(e,i){e.classList.remove("frm-animate"),e.style.transitionDelay=(i+1)*t+"s"})},200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements(function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(e){return e.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0 li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(t=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,i){t.addEventListener("click",function(t){return e.onNavClick(t,i)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var i=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),i.classList.add("frm-active"),this.initSlideTrackUnderline(i,t),this.changeSlide(t);var n,r,o=i.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(r=n.clearSettingsBox)||void 0===r||r.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var i=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(i)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var i=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(i,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function d(e,t){for(var i=0;i { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./js/src/components/class-counter.js": +/*!********************************************!*\ + !*** ./js/src/components/class-counter.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmCounter: () => (/* binding */ frmCounter) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmCounter = /*#__PURE__*/function () { + /** + * Init frmCounter + * + * @param {Element} element + * @param {Object} options + * @param {number} options.timetoFinish Max time in mileseconds for counter to complete the animation. + */ + function frmCounter(element, options) { + _classCallCheck(this, frmCounter); + if (!(element instanceof Element) || !element.dataset.counter) { + return; + } + this.template = element.dataset.type || 'default'; + this.element = element; + this.value = parseInt(element.dataset.counter, 10); + this.activeCounter = 0; + this.locale = element.dataset.locale ? element.dataset.locale.replace('_', '-') : 'en-US'; + this.timeoutInterval = 50; + this.timeToFinish = 'undefined' !== typeof options && 'undefined' !== typeof options.timetoFinish ? options.timetoFinish : 1400; + this.valueStep = this.value / Math.ceil(this.timeToFinish / this.timeoutInterval); + if (0 === this.value) { + return; + } + this.animate(); + } + return _createClass(frmCounter, [{ + key: "formatNumber", + value: function formatNumber(number) { + if ('currency' === this.template) { + return number.toLocaleString(this.locale, { + minimumFractionDigits: 2 + }); + } + return number; + } + }, { + key: "animate", + value: function animate() { + if (Math.round(this.activeCounter) < this.value) { + this.activeCounter += this.valueStep; + this.element.innerText = this.formatNumber(Math.round(this.activeCounter)); + setTimeout(this.animate.bind(this), this.timeoutInterval); + } else { + this.element.innerText = this.formatNumber(this.value); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/components/class-tabs-navigator.js": +/*!***************************************************!*\ + !*** ./js/src/components/class-tabs-navigator.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmTabsNavigator: () => (/* binding */ frmTabsNavigator) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmTabsNavigator = /*#__PURE__*/function () { + function frmTabsNavigator(wrapper) { + _classCallCheck(this, frmTabsNavigator); + if ('undefined' === typeof wrapper) { + return; + } + this.wrapper = wrapper instanceof Element ? wrapper : document.querySelector(wrapper); + if (null === this.wrapper) { + return; + } + this.flexboxSlidesGap = '16px'; + this.navs = this.wrapper.querySelectorAll('.frm-tabs-navs ul > li'); + this.slideTrackLine = this.wrapper.querySelector('.frm-tabs-active-underline'); + this.slideTrack = this.wrapper.querySelector('.frm-tabs-slide-track'); + this.slides = this.wrapper.querySelectorAll('.frm-tabs-slide-track > div'); + this.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl'; + this.resizeObserver = null; + this.init(); + } + return _createClass(frmTabsNavigator, [{ + key: "init", + value: function init() { + var _this = this; + if (null === this.wrapper || !this.navs.length || null === this.slideTrackLine || null === this.slideTrack || !this.slides.length) { + return; + } + this.initDefaultSlideTrackerWidth(); + this.navs.forEach(function (nav, index) { + nav.addEventListener('click', function (event) { + return _this.onNavClick(event, index); + }); + }); + this.setupScrollbarObserver(); + // Cleanup observers when page unloads to prevent memory leaks + window.addEventListener('beforeunload', this.cleanupObservers); + } + }, { + key: "onNavClick", + value: function onNavClick(event, index) { + var navItem = event.currentTarget; + event.preventDefault(); + this.removeActiveClassnameFromNavs(); + navItem.classList.add('frm-active'); + this.initSlideTrackUnderline(navItem, index); + this.changeSlide(index); + + // Handle special case for frm_insert_fields_tab + var navLink = navItem.querySelector('a'); + if (navLink && navLink.id === 'frm_insert_fields_tab' && !navLink.closest('#frm_adv_info')) { + var _window$frmAdminBuild, _window$frmAdminBuild2; + (_window$frmAdminBuild = window.frmAdminBuild) === null || _window$frmAdminBuild === void 0 || (_window$frmAdminBuild2 = _window$frmAdminBuild.clearSettingsBox) === null || _window$frmAdminBuild2 === void 0 || _window$frmAdminBuild2.call(_window$frmAdminBuild); + } + } + }, { + key: "initDefaultSlideTrackerWidth", + value: function initDefaultSlideTrackerWidth() { + if (!this.slideTrackLine.dataset.initialWidth) { + return; + } + this.slideTrackLine.style.width = "".concat(this.slideTrackLine.dataset.initialWidth, "px"); + } + }, { + key: "initSlideTrackUnderline", + value: function initSlideTrackUnderline(nav, index) { + this.slideTrackLine.classList.remove('frm-first', 'frm-last'); + var activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter(function (nav) { + return nav.classList.contains('frm-active'); + }); + this.positionUnderlineIndicator(activeNav); + } + + /** + * Sets up a ResizeObserver to watch for scrollbar changes in the parent container. + * Automatically repositions the underline indicator when layout changes occur. + */ + }, { + key: "setupScrollbarObserver", + value: function setupScrollbarObserver() { + var _this2 = this; + var scrollbarWrapper = this.wrapper.closest('.frm-scrollbar-wrapper'); + if (!scrollbarWrapper || !('ResizeObserver' in window)) { + return; + } + this.resizeObserver = new ResizeObserver(function () { + var activeNav = _this2.wrapper.querySelector('.frm-tabs-navs ul > li.frm-active'); + if (activeNav) { + _this2.positionUnderlineIndicator(activeNav); + } + }); + this.resizeObserver.observe(scrollbarWrapper); + } + + /** + * Cleans up observers to prevent memory leaks. + */ + }, { + key: "cleanupObservers", + value: function cleanupObservers() { + if (this.resizeObserver) { + this.resizeObserver.disconnect(); + this.resizeObserver = null; + } + } + + /** + * Positions the underline indicator based on the active navigation element. + * + * @param {HTMLElement} activeNav The active navigation element to position the underline under + */ + }, { + key: "positionUnderlineIndicator", + value: function positionUnderlineIndicator(activeNav) { + var _this3 = this; + requestAnimationFrame(function () { + var position = _this3.isRTL ? -(activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth) : activeNav.offsetLeft; + _this3.slideTrackLine.style.transform = "translateX(".concat(position, "px)"); + _this3.slideTrackLine.style.width = activeNav.clientWidth + 'px'; + }); + } + }, { + key: "changeSlide", + value: function changeSlide(index) { + this.removeActiveClassnameFromSlides(); + var translate = index == 0 ? '0px' : "calc( ( ".concat(index * 100, "% + ").concat(parseInt(this.flexboxSlidesGap, 10) * index, "px ) * ").concat(this.isRTL ? 1 : -1, " )"); + if ('0px' !== translate) { + this.slideTrack.style.transform = "translateX(".concat(translate, ")"); + } else { + this.slideTrack.style.removeProperty('transform'); + } + if (index in this.slides) { + this.slides[index].classList.add('frm-active'); + } + } + }, { + key: "removeActiveClassnameFromSlides", + value: function removeActiveClassnameFromSlides() { + this.slides.forEach(function (slide) { + return slide.classList.remove('frm-active'); + }); + } + }, { + key: "removeActiveClassnameFromNavs", + value: function removeActiveClassnameFromNavs() { + this.navs.forEach(function (nav) { + return nav.classList.remove('frm-active'); + }); + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/globalModules.js": +/*!********************************************!*\ + !*** ./js/src/core/utils/globalModules.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* binding */ a), +/* harmony export */ bold: () => (/* binding */ bold), +/* harmony export */ button: () => (/* binding */ button), +/* harmony export */ div: () => (/* binding */ div), +/* harmony export */ doJsonPost: () => (/* binding */ doJsonPost), +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ footerButton: () => (/* binding */ footerButton), +/* harmony export */ img: () => (/* binding */ img), +/* harmony export */ maybeCreateModal: () => (/* binding */ maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault), +/* harmony export */ p: () => (/* binding */ p), +/* harmony export */ span: () => (/* binding */ span), +/* harmony export */ svg: () => (/* binding */ svg), +/* harmony export */ tag: () => (/* binding */ tag) +/* harmony export */ }); +var _frmDom = frmDom, + div = _frmDom.div, + span = _frmDom.span, + tag = _frmDom.tag, + a = _frmDom.a, + img = _frmDom.img, + svg = _frmDom.svg; +var _frmDom$modal = frmDom.modal, + maybeCreateModal = _frmDom$modal.maybeCreateModal, + footerButton = _frmDom$modal.footerButton; +var _frmDom$util = frmDom.util, + onClickPreventDefault = _frmDom$util.onClickPreventDefault, + documentOn = _frmDom$util.documentOn; +var doJsonPost = frmDom.ajax.doJsonPost; +var p = function p(args) { + return tag('p', args); +}; +var bold = function bold(args) { + return tag('strong', args); +}; +var button = function button(args) { + return tag('button', args); +}; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.a), +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ bold: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.bold), +/* harmony export */ button: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.button), +/* harmony export */ div: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.div), +/* harmony export */ doJsonPost: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.doJsonPost), +/* harmony export */ documentOn: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ footerButton: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.footerButton), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ img: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.img), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ maybeCreateModal: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ p: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.p), +/* harmony export */ removeParamFromHistory: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError), +/* harmony export */ span: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.span), +/* harmony export */ svg: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.svg), +/* harmony export */ tag: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.tag) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _globalModules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globalModules */ "./js/src/core/utils/globalModules.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeParamFromHistory: () => (/* binding */ removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/** + * Removes a query parameter and updates history with replaceState. + * + * @param {string} paramName The query parameter to remove. + * @return {void} + */ +var removeParamFromHistory = function removeParamFromHistory(paramName) { + return history.replaceState({}, '', removeQueryParam(paramName)); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +/*!*****************************!*\ + !*** ./js/src/dashboard.js ***! + \*****************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _components_class_tabs_navigator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/class-tabs-navigator */ "./js/src/components/class-tabs-navigator.js"); +/* harmony import */ var _components_class_counter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/class-counter */ "./js/src/components/class-counter.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * External dependencies + */ + + + +var frmDashboard = /*#__PURE__*/function () { + function frmDashboard() { + _classCallCheck(this, frmDashboard); + this.options = { + ajax: { + action: 'dashboard_ajax_action', + dashboardActions: { + welcomeBanner: 'welcome-banner-has-closed', + checkEmailIfSubscribed: 'email-has-subscribed', + saveSubscribedEmail: 'save-subscribed-email' + } + } + }; + this.widgetsAnimate = new core_utils__WEBPACK_IMPORTED_MODULE_0__.frmAnimate(document.querySelectorAll('.frm-dashboard-widget'), 'cascade'); + } + return _createClass(frmDashboard, [{ + key: "init", + value: function init() { + this.initInbox(); + this.initCounters(); + this.initCloseWelcomeBanner(); + this.widgetsAnimate.cascadeFadeIn(); + } + }, { + key: "initInbox", + value: function initInbox() { + var _this = this; + new _components_class_tabs_navigator__WEBPACK_IMPORTED_MODULE_1__.frmTabsNavigator('.frm-inbox-wrapper'); + var userEmailInput = document.querySelector('#frm_leave_email'); + var subscribeButton = document.querySelector('#frm-add-my-email-address'); + subscribeButton.addEventListener('click', function () { + _this.saveSubscribedEmail(userEmailInput.value).then(); + }); + } + }, { + key: "initCounters", + value: function initCounters() { + var counters = document.querySelectorAll('.frm-counter'); + counters.forEach(function (counter) { + return new _components_class_counter__WEBPACK_IMPORTED_MODULE_2__.frmCounter(counter); + }); + } + }, { + key: "initCloseWelcomeBanner", + value: function initCloseWelcomeBanner() { + var _this2 = this; + var closeButton = document.querySelector('.frm-dashboard-banner-close'); + var dashboardBanner = document.querySelector('.frm-dashboard-banner'); + if (!closeButton || !dashboardBanner) { + return; + } + closeButton.addEventListener('click', function () { + _this2.closeWelcomeBannerSaveCookieRequest().then(function (data) { + if (true === data.success) { + dashboardBanner.remove(); + } + }); + }); + } + }, { + key: "saveSubscribedEmail", + value: function saveSubscribedEmail(email) { + return fetch(window.ajaxurl, { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: new URLSearchParams({ + action: this.options.ajax.action, + dashboard_action: this.options.ajax.dashboardActions.saveSubscribedEmail, + email: email + }) + }).then(function (result) { + return result.json(); + }); + } + }, { + key: "closeWelcomeBannerSaveCookieRequest", + value: function closeWelcomeBannerSaveCookieRequest() { + return fetch(window.ajaxurl, { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: new URLSearchParams({ + action: this.options.ajax.action, + dashboard_action: this.options.ajax.dashboardActions.welcomeBanner, + banner_has_closed: 1 + }) + }).then(function (result) { + return result.json(); + }); + } + }]); +}(); +var frmDashboardClass = new frmDashboard(); +document.addEventListener('DOMContentLoaded', function () { + frmDashboardClass.init(); +}); +/******/ })() +; +//# sourceMappingURL=formidable_dashboard.js.map \ No newline at end of file diff --git a/js/formidable_dashboard.js.map b/js/formidable_dashboard.js.map index 0d014e6f63..67d89361f8 100644 --- a/js/formidable_dashboard.js.map +++ b/js/formidable_dashboard.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable_dashboard.js","mappings":"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","sources":["webpack://formidable/./js/src/components/class-counter.js","webpack://formidable/./js/src/components/class-tabs-navigator.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/dashboard.js"],"sourcesContent":["export class frmCounter {\n\t/**\n\t * Init frmCounter\n\t *\n\t * @param {Element} element\n\t * @param {Object} options\n\t * @param {number} options.timetoFinish Max time in mileseconds for counter to complete the animation.\n\t */\n\tconstructor( element, options ) {\n\t\tif ( ! ( element instanceof Element ) || ! element.dataset.counter ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.template = element.dataset.type || 'default';\n\t\tthis.element = element;\n\t\tthis.value = parseInt( element.dataset.counter, 10 );\n\t\tthis.activeCounter = 0;\n\t\tthis.locale = element.dataset.locale ? element.dataset.locale.replace( '_', '-' ) : 'en-US';\n\t\tthis.timeoutInterval = 50;\n\t\tthis.timeToFinish = 'undefined' !== typeof options && 'undefined' !== typeof options.timetoFinish ? options.timetoFinish : 1400;\n\t\tthis.valueStep = this.value / Math.ceil( this.timeToFinish / this.timeoutInterval );\n\n\t\tif ( 0 === this.value ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.animate();\n\t}\n\n\tformatNumber( number ) {\n\t\tif ( 'currency' === this.template ) {\n\t\t\treturn number.toLocaleString( this.locale, { minimumFractionDigits: 2 } );\n\t\t}\n\t\treturn number;\n\t}\n\n\tanimate() {\n\t\tif ( Math.round( this.activeCounter ) < this.value ) {\n\t\t\tthis.activeCounter += this.valueStep;\n\t\t\tthis.element.innerText = this.formatNumber( Math.round( this.activeCounter ) );\n\t\t\tsetTimeout( this.animate.bind( this ), this.timeoutInterval );\n\t\t} else {\n\t\t\tthis.element.innerText = this.formatNumber( this.value );\n\t\t}\n\t}\n}\n","export class frmTabsNavigator {\n\tconstructor( wrapper ) {\n\t\tif ( 'undefined' === typeof wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.wrapper = wrapper instanceof Element ? wrapper : document.querySelector( wrapper );\n\n\t\tif ( null === this.wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.flexboxSlidesGap = '16px';\n\t\tthis.navs = this.wrapper.querySelectorAll( '.frm-tabs-navs ul > li' );\n\t\tthis.slideTrackLine = this.wrapper.querySelector( '.frm-tabs-active-underline' );\n\t\tthis.slideTrack = this.wrapper.querySelector( '.frm-tabs-slide-track' );\n\t\tthis.slides = this.wrapper.querySelectorAll( '.frm-tabs-slide-track > div' );\n\t\tthis.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl';\n\t\tthis.resizeObserver = null;\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif ( null === this.wrapper || ! this.navs.length || null === this.slideTrackLine || null === this.slideTrack || ! this.slides.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initDefaultSlideTrackerWidth();\n\t\tthis.navs.forEach( ( nav, index ) => {\n\t\t\tnav.addEventListener( 'click', event => this.onNavClick( event, index ) );\n\t\t} );\n\n\t\tthis.setupScrollbarObserver();\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', this.cleanupObservers );\n\t}\n\n\tonNavClick( event, index ) {\n\t\tconst navItem = event.currentTarget;\n\n\t\tevent.preventDefault();\n\n\t\tthis.removeActiveClassnameFromNavs();\n\t\tnavItem.classList.add( 'frm-active' );\n\t\tthis.initSlideTrackUnderline( navItem, index );\n\t\tthis.changeSlide( index );\n\n\t\t// Handle special case for frm_insert_fields_tab\n\t\tconst navLink = navItem.querySelector( 'a' );\n\t\tif ( navLink && navLink.id === 'frm_insert_fields_tab' && ! navLink.closest( '#frm_adv_info' ) ) {\n\t\t\twindow.frmAdminBuild?.clearSettingsBox?.();\n\t\t}\n\t}\n\n\tinitDefaultSlideTrackerWidth() {\n\t\tif ( ! this.slideTrackLine.dataset.initialWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.slideTrackLine.style.width = `${ this.slideTrackLine.dataset.initialWidth }px`;\n\t}\n\tinitSlideTrackUnderline( nav, index ) {\n\t\tthis.slideTrackLine.classList.remove( 'frm-first', 'frm-last' );\n\t\tconst activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter( nav => nav.classList.contains( 'frm-active' ) );\n\t\tthis.positionUnderlineIndicator( activeNav );\n\t}\n\n\t/**\n\t * Sets up a ResizeObserver to watch for scrollbar changes in the parent container.\n\t * Automatically repositions the underline indicator when layout changes occur.\n\t */\n\tsetupScrollbarObserver() {\n\t\tconst scrollbarWrapper = this.wrapper.closest( '.frm-scrollbar-wrapper' );\n\n\t\tif ( ! scrollbarWrapper || ! ( 'ResizeObserver' in window ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.resizeObserver = new ResizeObserver( () => {\n\t\t\tconst activeNav = this.wrapper.querySelector( '.frm-tabs-navs ul > li.frm-active' );\n\t\t\tif ( activeNav ) {\n\t\t\t\tthis.positionUnderlineIndicator( activeNav );\n\t\t\t}\n\t\t} );\n\n\t\tthis.resizeObserver.observe( scrollbarWrapper );\n\t}\n\n\t/**\n\t * Cleans up observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t\tthis.resizeObserver = null;\n\t\t}\n\t}\n\n\t/**\n\t * Positions the underline indicator based on the active navigation element.\n\t *\n\t * @param {HTMLElement} activeNav The active navigation element to position the underline under\n\t */\n\tpositionUnderlineIndicator( activeNav ) {\n\t\trequestAnimationFrame( () => {\n\t\t\tconst position = this.isRTL\n\t\t\t\t? -( activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth )\n\t\t\t\t: activeNav.offsetLeft;\n\n\t\t\tthis.slideTrackLine.style.transform = `translateX(${ position }px)`;\n\t\t\tthis.slideTrackLine.style.width = activeNav.clientWidth + 'px';\n\t\t} );\n\t}\n\n\tchangeSlide( index ) {\n\t\tthis.removeActiveClassnameFromSlides();\n\t\tconst translate = index == 0 ? '0px' : `calc( ( ${ ( index * 100 ) }% + ${ parseInt( this.flexboxSlidesGap, 10 ) * index }px ) * ${ this.isRTL ? 1 : -1 } )`;\n\t\tif ( '0px' !== translate ) {\n\t\t\tthis.slideTrack.style.transform = `translateX(${ translate })`;\n\t\t} else {\n\t\t\tthis.slideTrack.style.removeProperty( 'transform' );\n\t\t}\n\t\tif ( index in this.slides ) {\n\t\t\tthis.slides[ index ].classList.add( 'frm-active' );\n\t\t}\n\t}\n\n\tremoveActiveClassnameFromSlides() {\n\t\tthis.slides.forEach( slide => slide.classList.remove( 'frm-active' ) );\n\t}\n\n\tremoveActiveClassnameFromNavs() {\n\t\tthis.navs.forEach( nav => nav.classList.remove( 'frm-active' ) );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * External dependencies\n */\nimport { frmAnimate } from 'core/utils';\n\nimport { frmTabsNavigator } from './components/class-tabs-navigator';\nimport { frmCounter } from './components/class-counter';\nclass frmDashboard {\n\tconstructor() {\n\t\tthis.options = {\n\t\t\tajax: {\n\t\t\t\taction: 'dashboard_ajax_action',\n\t\t\t\tdashboardActions: {\n\t\t\t\t\twelcomeBanner: 'welcome-banner-has-closed',\n\t\t\t\t\tcheckEmailIfSubscribed: 'email-has-subscribed',\n\t\t\t\t\tsaveSubscribedEmail: 'save-subscribed-email'\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tthis.widgetsAnimate = new frmAnimate( document.querySelectorAll( '.frm-dashboard-widget' ), 'cascade' );\n\t}\n\n\tinit() {\n\t\tthis.initInbox();\n\t\tthis.initCounters();\n\t\tthis.initCloseWelcomeBanner();\n\n\t\tthis.widgetsAnimate.cascadeFadeIn();\n\t}\n\n\tinitInbox() {\n\t\tnew frmTabsNavigator( '.frm-inbox-wrapper' );\n\t\tconst userEmailInput = document.querySelector( '#frm_leave_email' );\n\t\tconst subscribeButton = document.querySelector( '#frm-add-my-email-address' );\n\n\t\tsubscribeButton.addEventListener( 'click', () => {\n\t\t\tthis.saveSubscribedEmail( userEmailInput.value ).then();\n\t\t} );\n\t}\n\n\tinitCounters() {\n\t\tconst counters = document.querySelectorAll( '.frm-counter' );\n\t\tcounters.forEach( counter => new frmCounter( counter ) );\n\t}\n\n\tinitCloseWelcomeBanner() {\n\t\tconst closeButton = document.querySelector( '.frm-dashboard-banner-close' );\n\t\tconst dashboardBanner = document.querySelector( '.frm-dashboard-banner' );\n\n\t\tif ( ! closeButton || ! dashboardBanner ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseButton.addEventListener( 'click', () => {\n\t\t\tthis.closeWelcomeBannerSaveCookieRequest().then( data => {\n\t\t\t\tif ( true === data.success ) {\n\t\t\t\t\tdashboardBanner.remove();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\tsaveSubscribedEmail( email ) {\n\t\treturn fetch( window.ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: this.options.ajax.action,\n\t\t\t\tdashboard_action: this.options.ajax.dashboardActions.saveSubscribedEmail,\n\t\t\t\temail: email\n\t\t\t} )\n\t\t} ).then( result => result.json() );\n\t}\n\n\tcloseWelcomeBannerSaveCookieRequest() {\n\t\treturn fetch( window.ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: this.options.ajax.action,\n\t\t\t\tdashboard_action: this.options.ajax.dashboardActions.welcomeBanner,\n\t\t\t\tbanner_has_closed: 1\n\t\t\t} )\n\t\t} ).then( result => result.json() );\n\t}\n}\nconst frmDashboardClass = new frmDashboard();\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\tfrmDashboardClass.init();\n} );\n"],"names":["frmCounter","element","options","_classCallCheck","Element","dataset","counter","template","type","value","parseInt","activeCounter","locale","replace","timeoutInterval","timeToFinish","timetoFinish","valueStep","Math","ceil","animate","_createClass","key","formatNumber","number","toLocaleString","minimumFractionDigits","round","innerText","setTimeout","bind","frmTabsNavigator","wrapper","document","querySelector","flexboxSlidesGap","navs","querySelectorAll","slideTrackLine","slideTrack","slides","isRTL","documentElement","dir","body","resizeObserver","init","_this","length","initDefaultSlideTrackerWidth","forEach","nav","index","addEventListener","event","onNavClick","setupScrollbarObserver","window","cleanupObservers","navItem","currentTarget","preventDefault","removeActiveClassnameFromNavs","classList","add","initSlideTrackUnderline","changeSlide","navLink","id","closest","_window$frmAdminBuild","_window$frmAdminBuild2","frmAdminBuild","clearSettingsBox","call","initialWidth","style","width","concat","remove","activeNav","filter","contains","positionUnderlineIndicator","_this2","scrollbarWrapper","ResizeObserver","observe","disconnect","_this3","requestAnimationFrame","position","parentElement","offsetWidth","offsetLeft","transform","clientWidth","removeActiveClassnameFromSlides","translate","removeProperty","slide","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","frmAnimate","elements","arguments","undefined","prepareElements","fadeIn","applyStyleToElements","resetOpacity","once","cascadeFadeIn","delay","transitionDelay","opacity","callback","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","console","warn","span","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","frmDashboard","action","dashboardActions","welcomeBanner","checkEmailIfSubscribed","saveSubscribedEmail","widgetsAnimate","initInbox","initCounters","initCloseWelcomeBanner","userEmailInput","subscribeButton","counters","closeButton","dashboardBanner","closeWelcomeBannerSaveCookieRequest","data","success","fetch","ajaxurl","method","headers","URLSearchParams","dashboard_action","result","json","banner_has_closed","frmDashboardClass"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"formidable_dashboard.js","mappings":"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","sources":["webpack://formidable/./js/src/components/class-counter.js","webpack://formidable/./js/src/components/class-tabs-navigator.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/dashboard.js"],"sourcesContent":["export class frmCounter {\n\t/**\n\t * Init frmCounter\n\t *\n\t * @param {Element} element\n\t * @param {Object} options\n\t * @param {number} options.timetoFinish Max time in mileseconds for counter to complete the animation.\n\t */\n\tconstructor( element, options ) {\n\t\tif ( ! ( element instanceof Element ) || ! element.dataset.counter ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.template = element.dataset.type || 'default';\n\t\tthis.element = element;\n\t\tthis.value = parseInt( element.dataset.counter, 10 );\n\t\tthis.activeCounter = 0;\n\t\tthis.locale = element.dataset.locale ? element.dataset.locale.replace( '_', '-' ) : 'en-US';\n\t\tthis.timeoutInterval = 50;\n\t\tthis.timeToFinish = 'undefined' !== typeof options && 'undefined' !== typeof options.timetoFinish ? options.timetoFinish : 1400;\n\t\tthis.valueStep = this.value / Math.ceil( this.timeToFinish / this.timeoutInterval );\n\n\t\tif ( 0 === this.value ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.animate();\n\t}\n\n\tformatNumber( number ) {\n\t\tif ( 'currency' === this.template ) {\n\t\t\treturn number.toLocaleString( this.locale, { minimumFractionDigits: 2 } );\n\t\t}\n\t\treturn number;\n\t}\n\n\tanimate() {\n\t\tif ( Math.round( this.activeCounter ) < this.value ) {\n\t\t\tthis.activeCounter += this.valueStep;\n\t\t\tthis.element.innerText = this.formatNumber( Math.round( this.activeCounter ) );\n\t\t\tsetTimeout( this.animate.bind( this ), this.timeoutInterval );\n\t\t} else {\n\t\t\tthis.element.innerText = this.formatNumber( this.value );\n\t\t}\n\t}\n}\n","export class frmTabsNavigator {\n\tconstructor( wrapper ) {\n\t\tif ( 'undefined' === typeof wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.wrapper = wrapper instanceof Element ? wrapper : document.querySelector( wrapper );\n\n\t\tif ( null === this.wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.flexboxSlidesGap = '16px';\n\t\tthis.navs = this.wrapper.querySelectorAll( '.frm-tabs-navs ul > li' );\n\t\tthis.slideTrackLine = this.wrapper.querySelector( '.frm-tabs-active-underline' );\n\t\tthis.slideTrack = this.wrapper.querySelector( '.frm-tabs-slide-track' );\n\t\tthis.slides = this.wrapper.querySelectorAll( '.frm-tabs-slide-track > div' );\n\t\tthis.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl';\n\t\tthis.resizeObserver = null;\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif ( null === this.wrapper || ! this.navs.length || null === this.slideTrackLine || null === this.slideTrack || ! this.slides.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initDefaultSlideTrackerWidth();\n\t\tthis.navs.forEach( ( nav, index ) => {\n\t\t\tnav.addEventListener( 'click', event => this.onNavClick( event, index ) );\n\t\t} );\n\n\t\tthis.setupScrollbarObserver();\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', this.cleanupObservers );\n\t}\n\n\tonNavClick( event, index ) {\n\t\tconst navItem = event.currentTarget;\n\n\t\tevent.preventDefault();\n\n\t\tthis.removeActiveClassnameFromNavs();\n\t\tnavItem.classList.add( 'frm-active' );\n\t\tthis.initSlideTrackUnderline( navItem, index );\n\t\tthis.changeSlide( index );\n\n\t\t// Handle special case for frm_insert_fields_tab\n\t\tconst navLink = navItem.querySelector( 'a' );\n\t\tif ( navLink && navLink.id === 'frm_insert_fields_tab' && ! navLink.closest( '#frm_adv_info' ) ) {\n\t\t\twindow.frmAdminBuild?.clearSettingsBox?.();\n\t\t}\n\t}\n\n\tinitDefaultSlideTrackerWidth() {\n\t\tif ( ! this.slideTrackLine.dataset.initialWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.slideTrackLine.style.width = `${ this.slideTrackLine.dataset.initialWidth }px`;\n\t}\n\tinitSlideTrackUnderline( nav, index ) {\n\t\tthis.slideTrackLine.classList.remove( 'frm-first', 'frm-last' );\n\t\tconst activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter( nav => nav.classList.contains( 'frm-active' ) );\n\t\tthis.positionUnderlineIndicator( activeNav );\n\t}\n\n\t/**\n\t * Sets up a ResizeObserver to watch for scrollbar changes in the parent container.\n\t * Automatically repositions the underline indicator when layout changes occur.\n\t */\n\tsetupScrollbarObserver() {\n\t\tconst scrollbarWrapper = this.wrapper.closest( '.frm-scrollbar-wrapper' );\n\n\t\tif ( ! scrollbarWrapper || ! ( 'ResizeObserver' in window ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.resizeObserver = new ResizeObserver( () => {\n\t\t\tconst activeNav = this.wrapper.querySelector( '.frm-tabs-navs ul > li.frm-active' );\n\t\t\tif ( activeNav ) {\n\t\t\t\tthis.positionUnderlineIndicator( activeNav );\n\t\t\t}\n\t\t} );\n\n\t\tthis.resizeObserver.observe( scrollbarWrapper );\n\t}\n\n\t/**\n\t * Cleans up observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t\tthis.resizeObserver = null;\n\t\t}\n\t}\n\n\t/**\n\t * Positions the underline indicator based on the active navigation element.\n\t *\n\t * @param {HTMLElement} activeNav The active navigation element to position the underline under\n\t */\n\tpositionUnderlineIndicator( activeNav ) {\n\t\trequestAnimationFrame( () => {\n\t\t\tconst position = this.isRTL\n\t\t\t\t? -( activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth )\n\t\t\t\t: activeNav.offsetLeft;\n\n\t\t\tthis.slideTrackLine.style.transform = `translateX(${ position }px)`;\n\t\t\tthis.slideTrackLine.style.width = activeNav.clientWidth + 'px';\n\t\t} );\n\t}\n\n\tchangeSlide( index ) {\n\t\tthis.removeActiveClassnameFromSlides();\n\t\tconst translate = index == 0 ? '0px' : `calc( ( ${ ( index * 100 ) }% + ${ parseInt( this.flexboxSlidesGap, 10 ) * index }px ) * ${ this.isRTL ? 1 : -1 } )`;\n\t\tif ( '0px' !== translate ) {\n\t\t\tthis.slideTrack.style.transform = `translateX(${ translate })`;\n\t\t} else {\n\t\t\tthis.slideTrack.style.removeProperty( 'transform' );\n\t\t}\n\t\tif ( index in this.slides ) {\n\t\t\tthis.slides[ index ].classList.add( 'frm-active' );\n\t\t}\n\t}\n\n\tremoveActiveClassnameFromSlides() {\n\t\tthis.slides.forEach( slide => slide.classList.remove( 'frm-active' ) );\n\t}\n\n\tremoveActiveClassnameFromNavs() {\n\t\tthis.navs.forEach( nav => nav.classList.remove( 'frm-active' ) );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * External dependencies\n */\nimport { frmAnimate } from 'core/utils';\n\nimport { frmTabsNavigator } from './components/class-tabs-navigator';\nimport { frmCounter } from './components/class-counter';\nclass frmDashboard {\n\tconstructor() {\n\t\tthis.options = {\n\t\t\tajax: {\n\t\t\t\taction: 'dashboard_ajax_action',\n\t\t\t\tdashboardActions: {\n\t\t\t\t\twelcomeBanner: 'welcome-banner-has-closed',\n\t\t\t\t\tcheckEmailIfSubscribed: 'email-has-subscribed',\n\t\t\t\t\tsaveSubscribedEmail: 'save-subscribed-email'\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tthis.widgetsAnimate = new frmAnimate( document.querySelectorAll( '.frm-dashboard-widget' ), 'cascade' );\n\t}\n\n\tinit() {\n\t\tthis.initInbox();\n\t\tthis.initCounters();\n\t\tthis.initCloseWelcomeBanner();\n\n\t\tthis.widgetsAnimate.cascadeFadeIn();\n\t}\n\n\tinitInbox() {\n\t\tnew frmTabsNavigator( '.frm-inbox-wrapper' );\n\t\tconst userEmailInput = document.querySelector( '#frm_leave_email' );\n\t\tconst subscribeButton = document.querySelector( '#frm-add-my-email-address' );\n\n\t\tsubscribeButton.addEventListener( 'click', () => {\n\t\t\tthis.saveSubscribedEmail( userEmailInput.value ).then();\n\t\t} );\n\t}\n\n\tinitCounters() {\n\t\tconst counters = document.querySelectorAll( '.frm-counter' );\n\t\tcounters.forEach( counter => new frmCounter( counter ) );\n\t}\n\n\tinitCloseWelcomeBanner() {\n\t\tconst closeButton = document.querySelector( '.frm-dashboard-banner-close' );\n\t\tconst dashboardBanner = document.querySelector( '.frm-dashboard-banner' );\n\n\t\tif ( ! closeButton || ! dashboardBanner ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseButton.addEventListener( 'click', () => {\n\t\t\tthis.closeWelcomeBannerSaveCookieRequest().then( data => {\n\t\t\t\tif ( true === data.success ) {\n\t\t\t\t\tdashboardBanner.remove();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\tsaveSubscribedEmail( email ) {\n\t\treturn fetch( window.ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: this.options.ajax.action,\n\t\t\t\tdashboard_action: this.options.ajax.dashboardActions.saveSubscribedEmail,\n\t\t\t\temail: email\n\t\t\t} )\n\t\t} ).then( result => result.json() );\n\t}\n\n\tcloseWelcomeBannerSaveCookieRequest() {\n\t\treturn fetch( window.ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: new URLSearchParams( {\n\t\t\t\taction: this.options.ajax.action,\n\t\t\t\tdashboard_action: this.options.ajax.dashboardActions.welcomeBanner,\n\t\t\t\tbanner_has_closed: 1\n\t\t\t} )\n\t\t} ).then( result => result.json() );\n\t}\n}\nconst frmDashboardClass = new frmDashboard();\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\tfrmDashboardClass.init();\n} );\n"],"names":["frmCounter","element","options","_classCallCheck","Element","dataset","counter","template","type","value","parseInt","activeCounter","locale","replace","timeoutInterval","timeToFinish","timetoFinish","valueStep","Math","ceil","animate","_createClass","key","formatNumber","number","toLocaleString","minimumFractionDigits","round","innerText","setTimeout","bind","frmTabsNavigator","wrapper","document","querySelector","flexboxSlidesGap","navs","querySelectorAll","slideTrackLine","slideTrack","slides","isRTL","documentElement","dir","body","resizeObserver","init","_this","length","initDefaultSlideTrackerWidth","forEach","nav","index","addEventListener","event","onNavClick","setupScrollbarObserver","window","cleanupObservers","navItem","currentTarget","preventDefault","removeActiveClassnameFromNavs","classList","add","initSlideTrackUnderline","changeSlide","navLink","id","closest","_window$frmAdminBuild","_window$frmAdminBuild2","frmAdminBuild","clearSettingsBox","call","initialWidth","style","width","concat","remove","activeNav","filter","contains","positionUnderlineIndicator","_this2","scrollbarWrapper","ResizeObserver","observe","disconnect","_this3","requestAnimationFrame","position","parentElement","offsetWidth","offsetLeft","transform","clientWidth","removeActiveClassnameFromSlides","translate","removeProperty","slide","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","frmAnimate","elements","arguments","undefined","prepareElements","fadeIn","applyStyleToElements","resetOpacity","once","cascadeFadeIn","delay","transitionDelay","opacity","callback","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","console","warn","span","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","frmDashboard","action","dashboardActions","welcomeBanner","checkEmailIfSubscribed","saveSubscribedEmail","widgetsAnimate","initInbox","initCounters","initCloseWelcomeBanner","userEmailInput","subscribeButton","counters","closeButton","dashboardBanner","closeWelcomeBannerSaveCookieRequest","data","success","fetch","ajaxurl","method","headers","URLSearchParams","dashboard_action","result","json","banner_has_closed","frmDashboardClass"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable_overlay.js b/js/formidable_overlay.js index 37174eda26..a021b9b0ab 100644 --- a/js/formidable_overlay.js +++ b/js/formidable_overlay.js @@ -1 +1,789 @@ -(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.elements=t,this.type=r,this.prepareElements()},r=[{key:"fadeIn",value:function(){var e=this;this.applyStyleToElements(function(t){t.classList.add("frm-fadein-up"),t.addEventListener("animationend",function(){e.resetOpacity(),t.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){e.applyStyleToElements(function(e,r){e.classList.remove("frm-animate"),e.style.transitionDelay=(r+1)*t+"s"})},200)}},{key:"prepareElements",value:function(){var e=this;this.applyStyleToElements(function(t){"default"===e.type&&(t.style.opacity="0.0"),"cascade"===e.type&&t.classList.add("frm-init-cascade-animation"),"cascade-3d"===e.type&&t.classList.add("frm-init-fadein-3d"),t.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(e){return e.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(e){this.elements instanceof Element?e(this.elements,0):0 { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./js/src/components/class-overlay.js": +/*!********************************************!*\ + !*** ./js/src/components/class-overlay.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmOverlay: () => (/* binding */ frmOverlay) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * External dependencies + */ + +var frmOverlay = /*#__PURE__*/function () { + function frmOverlay() { + _classCallCheck(this, frmOverlay); + this.body = document.body; + } + + /** + * Open overlay + * + * @param {Object} overlayData An object containing data for the overlay. + * @param {string} overlayData.hero_image URL of the hero image. + * @param {string} overlayData.heading Heading of the overlay. + * @param {string} overlayData.copy Copy/content of the overlay. + * @param {Array} overlayData.buttons Array of button objects. + * @param {string} overlayData.buttons[].url URL for the button. + * @param {string} overlayData.buttons[].target Target attribute for the button link. + * @param {string} overlayData.buttons[].label Label/text of the button. + */ + return _createClass(frmOverlay, [{ + key: "open", + value: function open(overlayData) { + this.overlayData = { + hero_image: null, + heading: null, + copy: null, + buttons: [] + }; + this.overlayData = _objectSpread(_objectSpread({}, this.overlayData), overlayData); + this.bodyAddOverflowHidden(); + this.body.insertBefore(this.buildOverlay(), this.body.firstChild); + this.initCloseButton(); + this.initOverlayIntroAnimation(200); + } + }, { + key: "bodyAddOverflowHidden", + value: function bodyAddOverflowHidden() { + this.body.classList.add('frm-hidden-overflow'); + setTimeout(function () { + document.body.scrollTop = 0; + document.documentElement.scrollTop = 0; + }, 80); + } + }, { + key: "close", + value: function close() { + var overlayWrapper = document.querySelector('.frm-overlay--wrapper'); + if (overlayWrapper) { + document.body.classList.remove('frm-hidden-overflow'); + overlayWrapper.remove(); + } + } + }, { + key: "initCloseButton", + value: function initCloseButton() { + var overlayWrapper = document.querySelector('.frm-overlay--wrapper'); + if (overlayWrapper) { + var closeButton = document.createElement('span'); + closeButton.classList.add('frm-overlay--close'); + closeButton.addEventListener('click', this.close); + overlayWrapper.prepend(closeButton); + } + } + }, { + key: "getHeroImage", + value: function getHeroImage() { + if (this.overlayData.hero_image) { + return frmDom.img({ + src: this.overlayData.hero_image + }); + } + return ''; + } + }, { + key: "getButtons", + value: function getButtons() { + var buttons = this.overlayData.buttons.map(function (button, index) { + if (!button.url || '' === button.url) { + return ''; + } + var buttonTypeClassname = 1 === index ? 'frm-button-primary' : 'frm-button-secondary'; + var options = { + href: button.url, + text: button.label, + className: 'button frm_animate_bg ' + buttonTypeClassname + }; + if (button.target) { + options.target = button.target; + } + return frmDom.a(options); + }); + if (buttons) { + var buttonsWrapperElementOptions = { + className: 'frm-overlay--cta frm-flex-box', + children: buttons + }; + return frmDom.div(buttonsWrapperElementOptions); + } + return ''; + } + }, { + key: "getHeading", + value: function getHeading() { + if (this.overlayData.heading) { + return frmDom.tag('h2', { + className: 'frm-overlay--heading frm-text-xl', + text: this.overlayData.heading + }); + } + return ''; + } + }, { + key: "getCopy", + value: function getCopy() { + if (this.overlayData.copy) { + var copy = frmDom.tag('div'); + copy.innerHTML = this.overlayData.copy; + return frmDom.div({ + className: 'frm-overlay--copy', + child: copy + }); + } + return ''; + } + }, { + key: "initOverlayIntroAnimation", + value: function initOverlayIntroAnimation(delay) { + setTimeout(function () { + var elements = document.querySelectorAll('.frm-overlay--hero-image, .frm-overlay--heading, .frm-overlay--copy, .frm-overlay--cta a'); + new core_utils__WEBPACK_IMPORTED_MODULE_0__.frmAnimate(elements, 'cascade-3d').cascadeFadeIn(0.07); + }, delay); + } + }, { + key: "buildOverlay", + value: function buildOverlay() { + var container = frmDom.div({ + className: 'frm-overlay--container', + children: [frmDom.div({ + className: 'frm-overlay--hero-image frm-mb-md', + children: [this.getHeroImage()] + }), this.getHeading(), this.getCopy(), this.getButtons()] + }); + return frmDom.div({ + className: 'frm-overlay--wrapper frm_wrap', + children: [container] + }); + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/globalModules.js": +/*!********************************************!*\ + !*** ./js/src/core/utils/globalModules.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* binding */ a), +/* harmony export */ bold: () => (/* binding */ bold), +/* harmony export */ button: () => (/* binding */ button), +/* harmony export */ div: () => (/* binding */ div), +/* harmony export */ doJsonPost: () => (/* binding */ doJsonPost), +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ footerButton: () => (/* binding */ footerButton), +/* harmony export */ img: () => (/* binding */ img), +/* harmony export */ maybeCreateModal: () => (/* binding */ maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault), +/* harmony export */ p: () => (/* binding */ p), +/* harmony export */ span: () => (/* binding */ span), +/* harmony export */ svg: () => (/* binding */ svg), +/* harmony export */ tag: () => (/* binding */ tag) +/* harmony export */ }); +var _frmDom = frmDom, + div = _frmDom.div, + span = _frmDom.span, + tag = _frmDom.tag, + a = _frmDom.a, + img = _frmDom.img, + svg = _frmDom.svg; +var _frmDom$modal = frmDom.modal, + maybeCreateModal = _frmDom$modal.maybeCreateModal, + footerButton = _frmDom$modal.footerButton; +var _frmDom$util = frmDom.util, + onClickPreventDefault = _frmDom$util.onClickPreventDefault, + documentOn = _frmDom$util.documentOn; +var doJsonPost = frmDom.ajax.doJsonPost; +var p = function p(args) { + return tag('p', args); +}; +var bold = function bold(args) { + return tag('strong', args); +}; +var button = function button(args) { + return tag('button', args); +}; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.a), +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ bold: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.bold), +/* harmony export */ button: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.button), +/* harmony export */ div: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.div), +/* harmony export */ doJsonPost: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.doJsonPost), +/* harmony export */ documentOn: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ footerButton: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.footerButton), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ img: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.img), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ maybeCreateModal: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ p: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.p), +/* harmony export */ removeParamFromHistory: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError), +/* harmony export */ span: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.span), +/* harmony export */ svg: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.svg), +/* harmony export */ tag: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.tag) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _globalModules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globalModules */ "./js/src/core/utils/globalModules.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeParamFromHistory: () => (/* binding */ removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/** + * Removes a query parameter and updates history with replaceState. + * + * @param {string} paramName The query parameter to remove. + * @return {void} + */ +var removeParamFromHistory = function removeParamFromHistory(paramName) { + return history.replaceState({}, '', removeQueryParam(paramName)); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +/*!***************************!*\ + !*** ./js/src/overlay.js ***! + \***************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _components_class_overlay__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/class-overlay */ "./js/src/components/class-overlay.js"); + +window.frmOverlay = new _components_class_overlay__WEBPACK_IMPORTED_MODULE_0__.frmOverlay(); +/******/ })() +; +//# sourceMappingURL=formidable_overlay.js.map \ No newline at end of file diff --git a/js/formidable_overlay.js.map b/js/formidable_overlay.js.map index fa89131d19..7c82a183aa 100644 --- a/js/formidable_overlay.js.map +++ b/js/formidable_overlay.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable_overlay.js","mappings":"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","sources":["webpack://formidable/./js/src/components/class-overlay.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/overlay.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { frmAnimate } from 'core/utils';\n\nexport class frmOverlay {\n\tconstructor() {\n\t\tthis.body = document.body;\n\t}\n\n\t/**\n\t * Open overlay\n\t *\n\t * @param {Object} overlayData An object containing data for the overlay.\n\t * @param {string} overlayData.hero_image URL of the hero image.\n\t * @param {string} overlayData.heading Heading of the overlay.\n\t * @param {string} overlayData.copy Copy/content of the overlay.\n\t * @param {Array} overlayData.buttons Array of button objects.\n\t * @param {string} overlayData.buttons[].url URL for the button.\n\t * @param {string} overlayData.buttons[].target Target attribute for the button link.\n\t * @param {string} overlayData.buttons[].label Label/text of the button.\n\t */\n\topen( overlayData ) {\n\t\tthis.overlayData = {\n\t\t\thero_image: null,\n\t\t\theading: null,\n\t\t\tcopy: null,\n\t\t\tbuttons: []\n\t\t};\n\n\t\tthis.overlayData = { ...this.overlayData, ...overlayData };\n\t\tthis.bodyAddOverflowHidden();\n\t\tthis.body.insertBefore( this.buildOverlay(), this.body.firstChild );\n\t\tthis.initCloseButton();\n\t\tthis.initOverlayIntroAnimation( 200 );\n\t}\n\n\tbodyAddOverflowHidden() {\n\t\tthis.body.classList.add( 'frm-hidden-overflow' );\n\t\tsetTimeout( () => {\n\t\t\tdocument.body.scrollTop = 0;\n\t\t\tdocument.documentElement.scrollTop = 0;\n\t\t}, 80 );\n\t}\n\n\tclose() {\n\t\tconst overlayWrapper = document.querySelector( '.frm-overlay--wrapper' );\n\t\tif ( overlayWrapper ) {\n\t\t\tdocument.body.classList.remove( 'frm-hidden-overflow' );\n\t\t\toverlayWrapper.remove();\n\t\t}\n\t}\n\n\tinitCloseButton() {\n\t\tconst overlayWrapper = document.querySelector( '.frm-overlay--wrapper' );\n\n\t\tif ( overlayWrapper ) {\n\t\t\tconst closeButton = document.createElement( 'span' );\n\t\t\tcloseButton.classList.add( 'frm-overlay--close' );\n\t\t\tcloseButton.addEventListener( 'click', this.close );\n\t\t\toverlayWrapper.prepend( closeButton );\n\t\t}\n\t}\n\n\tgetHeroImage() {\n\t\tif ( this.overlayData.hero_image ) {\n\t\t\treturn frmDom.img( { src: this.overlayData.hero_image } );\n\t\t}\n\t\treturn '';\n\t}\n\n\tgetButtons() {\n\t\tconst buttons = this.overlayData.buttons.map( ( button, index ) => {\n\t\t\tif ( ! button.url || '' === button.url ) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\tconst buttonTypeClassname = 1 === index ? 'frm-button-primary' : 'frm-button-secondary';\n\t\t\tconst options = {\n\t\t\t\thref: button.url,\n\t\t\t\ttext: button.label,\n\t\t\t\tclassName: 'button frm_animate_bg ' + buttonTypeClassname\n\t\t\t};\n\t\t\tif ( button.target ) {\n\t\t\t\toptions.target = button.target;\n\t\t\t}\n\t\t\treturn frmDom.a( options );\n\t\t} );\n\n\t\tif ( buttons ) {\n\t\t\tconst buttonsWrapperElementOptions = { className: 'frm-overlay--cta frm-flex-box', children: buttons };\n\t\t\treturn frmDom.div( buttonsWrapperElementOptions );\n\t\t}\n\n\t\treturn '';\n\t}\n\n\tgetHeading() {\n\t\tif ( this.overlayData.heading )\t{\n\t\t\treturn frmDom.tag( 'h2', { className: 'frm-overlay--heading frm-text-xl', text: this.overlayData.heading } );\n\t\t}\n\t\treturn '';\n\t}\n\n\tgetCopy() {\n\t\tif ( this.overlayData.copy ) {\n\t\t\tconst copy = frmDom.tag( 'div' );\n\t\t\tcopy.innerHTML = this.overlayData.copy;\n\t\t\treturn frmDom.div( { className: 'frm-overlay--copy', child: copy } );\n\t\t}\n\t\treturn '';\n\t}\n\n\tinitOverlayIntroAnimation( delay ) {\n\t\tsetTimeout( () => {\n\t\t\tconst elements = document.querySelectorAll( '.frm-overlay--hero-image, .frm-overlay--heading, .frm-overlay--copy, .frm-overlay--cta a' );\n\t\t\tnew frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn( 0.07 );\n\t\t}, delay );\n\t}\n\n\tbuildOverlay() {\n\t\tconst container = frmDom.div( {\n\t\t\tclassName: 'frm-overlay--container',\n\t\t\tchildren: [\n\t\t\t\tfrmDom.div( { className: 'frm-overlay--hero-image frm-mb-md', children: [ this.getHeroImage() ] } ),\n\t\t\t\tthis.getHeading(),\n\t\t\t\tthis.getCopy(),\n\t\t\t\tthis.getButtons()\n\t\t\t]\n\t\t} );\n\n\t\treturn frmDom.div( { className: 'frm-overlay--wrapper frm_wrap', children: [ container ] } );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { frmOverlay } from './components/class-overlay';\n\nwindow.frmOverlay = new frmOverlay();\n"],"names":["frmAnimate","frmOverlay","_classCallCheck","body","document","_createClass","key","value","open","overlayData","hero_image","heading","copy","buttons","_objectSpread","bodyAddOverflowHidden","insertBefore","buildOverlay","firstChild","initCloseButton","initOverlayIntroAnimation","classList","add","setTimeout","scrollTop","documentElement","close","overlayWrapper","querySelector","remove","closeButton","createElement","addEventListener","prepend","getHeroImage","frmDom","img","src","getButtons","map","button","index","url","buttonTypeClassname","options","href","text","label","className","target","a","buttonsWrapperElementOptions","children","div","getHeading","tag","getCopy","innerHTML","child","delay","elements","querySelectorAll","cascadeFadeIn","container","_window$frmGlobal","window","frmGlobal","PLUGIN_URL","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","type","arguments","length","undefined","prepareElements","fadeIn","_this","applyStyleToElements","element","resetOpacity","once","_this2","style","transitionDelay","_this3","opacity","callback","Element","forEach","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","console","warn","span","concat","textContent","setAttribute","_frmDom","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","URL","location","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"formidable_overlay.js","mappings":"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","sources":["webpack://formidable/./js/src/components/class-overlay.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/overlay.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { frmAnimate } from 'core/utils';\n\nexport class frmOverlay {\n\tconstructor() {\n\t\tthis.body = document.body;\n\t}\n\n\t/**\n\t * Open overlay\n\t *\n\t * @param {Object} overlayData An object containing data for the overlay.\n\t * @param {string} overlayData.hero_image URL of the hero image.\n\t * @param {string} overlayData.heading Heading of the overlay.\n\t * @param {string} overlayData.copy Copy/content of the overlay.\n\t * @param {Array} overlayData.buttons Array of button objects.\n\t * @param {string} overlayData.buttons[].url URL for the button.\n\t * @param {string} overlayData.buttons[].target Target attribute for the button link.\n\t * @param {string} overlayData.buttons[].label Label/text of the button.\n\t */\n\topen( overlayData ) {\n\t\tthis.overlayData = {\n\t\t\thero_image: null,\n\t\t\theading: null,\n\t\t\tcopy: null,\n\t\t\tbuttons: []\n\t\t};\n\n\t\tthis.overlayData = { ...this.overlayData, ...overlayData };\n\t\tthis.bodyAddOverflowHidden();\n\t\tthis.body.insertBefore( this.buildOverlay(), this.body.firstChild );\n\t\tthis.initCloseButton();\n\t\tthis.initOverlayIntroAnimation( 200 );\n\t}\n\n\tbodyAddOverflowHidden() {\n\t\tthis.body.classList.add( 'frm-hidden-overflow' );\n\t\tsetTimeout( () => {\n\t\t\tdocument.body.scrollTop = 0;\n\t\t\tdocument.documentElement.scrollTop = 0;\n\t\t}, 80 );\n\t}\n\n\tclose() {\n\t\tconst overlayWrapper = document.querySelector( '.frm-overlay--wrapper' );\n\t\tif ( overlayWrapper ) {\n\t\t\tdocument.body.classList.remove( 'frm-hidden-overflow' );\n\t\t\toverlayWrapper.remove();\n\t\t}\n\t}\n\n\tinitCloseButton() {\n\t\tconst overlayWrapper = document.querySelector( '.frm-overlay--wrapper' );\n\n\t\tif ( overlayWrapper ) {\n\t\t\tconst closeButton = document.createElement( 'span' );\n\t\t\tcloseButton.classList.add( 'frm-overlay--close' );\n\t\t\tcloseButton.addEventListener( 'click', this.close );\n\t\t\toverlayWrapper.prepend( closeButton );\n\t\t}\n\t}\n\n\tgetHeroImage() {\n\t\tif ( this.overlayData.hero_image ) {\n\t\t\treturn frmDom.img( { src: this.overlayData.hero_image } );\n\t\t}\n\t\treturn '';\n\t}\n\n\tgetButtons() {\n\t\tconst buttons = this.overlayData.buttons.map( ( button, index ) => {\n\t\t\tif ( ! button.url || '' === button.url ) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\tconst buttonTypeClassname = 1 === index ? 'frm-button-primary' : 'frm-button-secondary';\n\t\t\tconst options = {\n\t\t\t\thref: button.url,\n\t\t\t\ttext: button.label,\n\t\t\t\tclassName: 'button frm_animate_bg ' + buttonTypeClassname\n\t\t\t};\n\t\t\tif ( button.target ) {\n\t\t\t\toptions.target = button.target;\n\t\t\t}\n\t\t\treturn frmDom.a( options );\n\t\t} );\n\n\t\tif ( buttons ) {\n\t\t\tconst buttonsWrapperElementOptions = { className: 'frm-overlay--cta frm-flex-box', children: buttons };\n\t\t\treturn frmDom.div( buttonsWrapperElementOptions );\n\t\t}\n\n\t\treturn '';\n\t}\n\n\tgetHeading() {\n\t\tif ( this.overlayData.heading )\t{\n\t\t\treturn frmDom.tag( 'h2', { className: 'frm-overlay--heading frm-text-xl', text: this.overlayData.heading } );\n\t\t}\n\t\treturn '';\n\t}\n\n\tgetCopy() {\n\t\tif ( this.overlayData.copy ) {\n\t\t\tconst copy = frmDom.tag( 'div' );\n\t\t\tcopy.innerHTML = this.overlayData.copy;\n\t\t\treturn frmDom.div( { className: 'frm-overlay--copy', child: copy } );\n\t\t}\n\t\treturn '';\n\t}\n\n\tinitOverlayIntroAnimation( delay ) {\n\t\tsetTimeout( () => {\n\t\t\tconst elements = document.querySelectorAll( '.frm-overlay--hero-image, .frm-overlay--heading, .frm-overlay--copy, .frm-overlay--cta a' );\n\t\t\tnew frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn( 0.07 );\n\t\t}, delay );\n\t}\n\n\tbuildOverlay() {\n\t\tconst container = frmDom.div( {\n\t\t\tclassName: 'frm-overlay--container',\n\t\t\tchildren: [\n\t\t\t\tfrmDom.div( { className: 'frm-overlay--hero-image frm-mb-md', children: [ this.getHeroImage() ] } ),\n\t\t\t\tthis.getHeading(),\n\t\t\t\tthis.getCopy(),\n\t\t\t\tthis.getButtons()\n\t\t\t]\n\t\t} );\n\n\t\treturn frmDom.div( { className: 'frm-overlay--wrapper frm_wrap', children: [ container ] } );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { frmOverlay } from './components/class-overlay';\n\nwindow.frmOverlay = new frmOverlay();\n"],"names":["frmAnimate","frmOverlay","_classCallCheck","body","document","_createClass","key","value","open","overlayData","hero_image","heading","copy","buttons","_objectSpread","bodyAddOverflowHidden","insertBefore","buildOverlay","firstChild","initCloseButton","initOverlayIntroAnimation","classList","add","setTimeout","scrollTop","documentElement","close","overlayWrapper","querySelector","remove","closeButton","createElement","addEventListener","prepend","getHeroImage","frmDom","img","src","getButtons","map","button","index","url","buttonTypeClassname","options","href","text","label","className","target","a","buttonsWrapperElementOptions","children","div","getHeading","tag","getCopy","innerHTML","child","delay","elements","querySelectorAll","cascadeFadeIn","container","_window$frmGlobal","window","frmGlobal","PLUGIN_URL","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","type","arguments","length","undefined","prepareElements","fadeIn","_this","applyStyleToElements","element","resetOpacity","once","_this2","style","transitionDelay","_this3","opacity","callback","Element","forEach","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","console","warn","span","concat","textContent","setAttribute","_frmDom","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","URL","location","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable_styles.js b/js/formidable_styles.js index cd05a752a3..bb69b9d4f6 100644 --- a/js/formidable_styles.js +++ b/js/formidable_styles.js @@ -1 +1,3160 @@ -(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,i=0;function o(){var o,s,a=n,c=arguments.length;t:for(;a;){if(a.args.length===arguments.length){for(s=0;s{var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(t){return function(t,e){var n,r,s,a,c,l,u,f,p,d=1,h=t.length,y="";for(r=0;r=0),a.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,a.width?parseInt(a.width):0);break;case"e":n=a.precision?parseFloat(n).toExponential(a.precision):parseFloat(n).toExponential();break;case"f":n=a.precision?parseFloat(n).toFixed(a.precision):parseFloat(n);break;case"g":n=a.precision?String(Number(n.toPrecision(a.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=a.precision?n.substring(0,a.precision):n;break;case"t":n=String(!!n),n=a.precision?n.substring(0,a.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=a.precision?n.substring(0,a.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=a.precision?n.substring(0,a.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(a.type)?y+=n:(!i.number.test(a.type)||f&&!a.sign?p="":(p=f?"+":"-",n=n.toString().replace(i.sign,"")),l=a.pad_char?"0"===a.pad_char?"0":a.pad_char.charAt(1):" ",u=a.width-(p+n).length,c=a.width&&u>0?l.repeat(u):"",y+=a.align?p+n+c:"0"===l?p+c+n:c+p+n)}return y}(function(t){if(a[t])return a[t];for(var e,n=t,r=[],o=0;n;){if(null!==(e=i.text.exec(n)))r.push(e[0]);else if(null!==(e=i.modulo.exec(n)))r.push("%");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){o|=1;var s=[],c=e[2],l=[];if(null===(l=i.key.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(l[1]);""!==(c=c.substring(l[0].length));)if(null!==(l=i.key_access.exec(c)))s.push(l[1]);else{if(null===(l=i.index_access.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(l[1])}e[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return a[t]=r}(t),arguments)}function s(t,e){return o.apply(null,[t].concat(e||[]))}var a=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=s,void 0===(r=function(){return{sprintf:o,vsprintf:s}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t,e,r,i,o=n(8616),s=n.n(o);function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t){var e=function(t){if("object"!=a(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==a(e)?e:e+""}n(7604),s()(console.error),t={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},e=["(","?"],r={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var l={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var u={contextDelimiter:"",onMissingKey:null};function f(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},u)this.options[n]=void 0!==e&&n in e?e[n]:u[n]}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function d(t){for(var e=1;e=0||t[c]3&&void 0!==arguments[3]?arguments[3]:10,s=t[e];if(v(n)&&m(r))if("function"==typeof i)if("number"==typeof o){var a={callback:i,priority:o,namespace:r};if(s[n]){var c,l=s[n].handlers;for(c=l.length;c>0&&!(o>=l[c-1].priority);c--);c===l.length?l[c]=a:l.splice(c,0,a),s.__current.forEach(function(t){t.name===n&&t.currentIndex>=c&&t.currentIndex++})}else s[n]={handlers:[a],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},b=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,i){var o=t[e];if(v(r)&&(n||m(i))){if(!o[r])return 0;var s=0;if(n)s=o[r].handlers.length,o[r]={runs:o[r].runs,handlers:[]};else for(var a=o[r].handlers,c=function(t){a[t].namespace===i&&(a.splice(t,1),s++,o.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},l=a.length-1;l>=0;l--)c(l);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,i),s}}},_=function(t,e){return function(n,r){var i=t[e];return void 0!==r?n in i&&i[n].handlers.some(function(t){return t.namespace===r}):n in i}},x=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=t[e];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,s=arguments.length,a=new Array(s>1?s-1:0),c=1;c1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=d(d(d({},h),r.data[e]),t),r.data[e][""]=d(d({},h[""]),r.data[e][""])},a=function(t,e){s(t,e),o()},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[t]||s(void 0,t),r.dcnpgettext(t,e,n,i,o)},l=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},u=function(t,e,r){var i=c(r,e,t);return n?(i=n.applyFilters("i18n.gettext_with_context",i,t,e,r),n.applyFilters("i18n.gettext_with_context_"+l(r),i,t,e,r)):i};if(n){var p=function(t){y.test(t)&&o()};n.addAction("hookAdded","core/i18n",p),n.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:a,resetLocaleData:function(t,e){r.data={},r.pluralForms={},a(t,e)},subscribe:function(t){return i.add(t),function(){return i.delete(t)}},__:function(t,e){var r=c(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+l(e),r,t,e)):r},_x:u,_n:function(t,e,r,i){var o=c(i,void 0,t,e,r);return n?(o=n.applyFilters("i18n.ngettext",o,t,e,r,i),n.applyFilters("i18n.ngettext_"+l(i),o,t,e,r,i)):o},_nx:function(t,e,r,i,o){var s=c(o,i,t,e,r);return n?(s=n.applyFilters("i18n.ngettext_with_context",s,t,e,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+l(o),s,t,e,r,i,o)):s},isRTL:function(){return"rtl"===u("ltr","text direction")},hasTranslation:function(t,e,i){var o,s,a=e?e+""+t:t,c=!(null===(o=r.data)||void 0===o||null===(s=o[null!=i?i:"default"])||void 0===s||!s[a]);return n&&(c=n.applyFilters("i18n.has_translation",c,t,e,i),c=n.applyFilters("i18n.has_translation_"+l(i),c,t,e,i)),c}}}(0,0,E));C.getLocaleData.bind(C),C.setLocaleData.bind(C),C.resetLocaleData.bind(C),C.subscribe.bind(C);var A=C.__.bind(C);function O(t){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},O(t)}function F(t,e){for(var n=0;n=this.cssEditorOptions.retryLimit||(void 0!==window.frm_single_style_custom_css_wp_editor&&void 0!==window.frm_single_style_custom_css_wp_editor.codemirror?(this.cssEditorInstance=window.frm_single_style_custom_css_wp_editor.codemirror,this.onCssEditorReady()):setTimeout(function(){t.cssEditorOptions.retryCount++,t.initCustomCSSEditorInstance()},500))}},{key:"getInlineStyleElement",value:function(){return null!==this.cssInlineStyleElement||(this.cssInlineStyleElement=document.createElement("style"),document.head.appendChild(this.cssInlineStyleElement)),this.cssInlineStyleElement}},{key:"onCssEditorReady",value:function(){var t,e=this,n=null===(t=document.getElementById("frm_style_class_custom_css"))||void 0===t||null===(t=t.dataset)||void 0===t?void 0:t.cssScope;if(null!==n){var r=CSS.escape(n);this.cssEditorInstance.on("change",function(t){var n=t.getValue().replace(/<[^>]*>/g,"").trim();e.getInlineStyleElement().textContent=".".concat(r," { ").concat(n," }")})}}},{key:"initColorPickerDependentUpdaterComponents",value:function(){var t=document.querySelectorAll(".frm-style-dependent-updater-component.frm-colorpicker"),e=[];t.forEach(function(t){var n=t.querySelector("input.hex"),r=void 0!==n?n.getAttribute("id"):null;null!==r&&e.push({id:r,dependentUpdaterClass:new j(t,"colorpicker")})}),wp.hooks.addAction("frm_style_options_color_change","formidable",function(t){var n=t.event,r=t.value,i=n.target.closest(".wp-picker-container"),o=n.target.getAttribute("id");i.querySelector(".wp-color-result-text").innerText=r,e.forEach(function(t){t.id===o&&t.dependentUpdaterClass.updateAllDependentElements(r)})})}},{key:"initHover",value:function(){var t=document.querySelector(".frm-right-panel .styling_settings .accordion-container");if(null!==t){var e=document.createElement("div");e.classList.add("frm_hidden"),e.classList.add("frm-style-settings-hover"),t.appendChild(e),t.querySelector(":scope > ul").querySelectorAll(":scope > li").forEach(function(t){t.querySelector("h3").addEventListener("mouseover",function(t){e.style.transform="translateY(".concat(t.target.closest("li").offsetTop,"px)"),e.classList.add("frm-animating"),e.classList.remove("frm_hidden"),setTimeout(function(){e.classList.remove("frm-animating")},250)})}),document.querySelectorAll("#frm_style_sidebar .accordion-section h3").forEach(function(t){t.addEventListener("click",function(){e.classList.add("frm_hidden")})})}}},{key:"initStyleClassCopyToClipboard",value:function(t){var e=this;document.querySelectorAll(".frm-copy-text").forEach(function(n){n.addEventListener("click",function(n){var r=n.currentTarget.innerText;navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(r).then(function(){e.success(t)}):!0===e.fallbackCopyToClipboard(r,n.currentTarget)&&e.success(t)})})}},{key:"toggleVisibilityOfCustomCSSEditor",value:function(){var t=document.getElementById("frm_enable_single_style_custom_css"),e=document.getElementById("frm_single_style_custom_css_editor");t&&e&&t.addEventListener("change",function(t){e.classList.toggle("frm_hidden",!t.target.checked)})}},{key:"fallbackCopyToClipboard",value:function(t,e){if("function"!=typeof document.execCommand)return!1;var n,r=document.createElement("input");r.setAttribute("type","text"),r.value=t,e.parentElement.appendChild(r),r.focus(),r.select(),r.setSelectionRange(0,99999),r.style.position="absolute",r.style.left="-9999px",r.style.top="-9999px";try{n=document.execCommand("copy")}catch(t){n=!1}return r.remove(),n}}])&&P(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}())})()})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // ⇒ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/index.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // ⇒ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // ⇒ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/admin/components/dependent-updater-component.js": +/*!****************************************************************!*\ + !*** ./js/src/admin/components/dependent-updater-component.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ frmStyleDependentUpdaterComponent) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview. + * The names of the elements that will be updated are specified using the "will-change" attribute. + * It is primarily used in components from Style/Quick Settings. + * For instance, when the "FrmPrimaryColorStyleComponent" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds. + */ +var frmStyleDependentUpdaterComponent = /*#__PURE__*/function () { + /** + * Creates an instance of frmStyleDependentUpdaterComponent. + * + * @param {HTMLElement} component - The component element. + */ + function frmStyleDependentUpdaterComponent(component) { + _classCallCheck(this, frmStyleDependentUpdaterComponent); + this.component = component; + try { + var willChangeData = JSON.parse(this.component.dataset.willChange); + this.data = { + propagateInputs: this.initPropagationList(willChangeData), + changeEvent: new Event('change', { + bubbles: true + }) + }; + } catch (error) { + console.error('Error parsing JSON data from "will-change" attribute.', error); + } + } + + /** + * Initializes the list of inputs to propagate changes to. + * The selection is made by provided input's names list in "will-change" attribute. + * + * @param {string[]} inputNames - The names of the inputs to propagate changes to. + * @return {HTMLElement[]} - The list of inputs to propagate changes to. + */ + return _createClass(frmStyleDependentUpdaterComponent, [{ + key: "initPropagationList", + value: function initPropagationList(inputNames) { + var list = []; + inputNames.forEach(function (name) { + var input = document.querySelector("input[name=\"".concat(name, "\"]")); + if (null !== input) { + list.push(input); + } + }); + return list; + } + + /** + * Updates all dependent elements with the given value. + * + * @param {string} value - The value to update the dependent elements with. + */ + }, { + key: "updateAllDependentElements", + value: function updateAllDependentElements(value) { + this.data.propagateInputs.forEach(function (input) { + input.value = value; + }); + this.data.propagateInputs[0].dispatchEvent(this.data.changeEvent); + } + }]); +}(); + + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _defineProperty) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPrimitive) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); + +function toPrimitive(t, r) { + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPropertyKey) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); + + +function toPropertyKey(t) { + var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); + return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _typeof) +/* harmony export */ }); +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!********************************!*\ + !*** ./js/src/admin/styles.js ***! + \********************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var _components_dependent_updater_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/dependent-updater-component */ "./js/src/admin/components/dependent-updater-component.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } + + + +/** + * Represents the frmStyleOptions class. + * + * @class + */ +var frmStyleOptions = /*#__PURE__*/function () { + function frmStyleOptions() { + _classCallCheck(this, frmStyleOptions); + this.success = frmDom.success; + this.cssEditorInstance = null; + this.cssInlineStyleElement = null; + this.cssEditorOptions = { + retryLimit: 5, + // Stop after 5 retries. + retryInterval: 500, + // Retry every 500ms. + retryCount: 0 // Count the number of retries. + }; + this.init(); + this.initHover(); + this.initCustomCSSEditorInstance(); + } + + /** + * Init the dependent + */ + return _createClass(frmStyleOptions, [{ + key: "init", + value: function init() { + this.initColorPickerDependentUpdaterComponents(); + this.initStyleClassCopyToClipboard((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('The class name has been copied.', 'formidable')); + this.toggleVisibilityOfCustomCSSEditor(); + } + + /** + * Initialize the custom CSS editor instance. + * + * @return {void} + */ + }, { + key: "initCustomCSSEditorInstance", + value: function initCustomCSSEditorInstance() { + var _this = this; + if (null !== this.cssEditorInstance || this.cssEditorOptions.retryCount >= this.cssEditorOptions.retryLimit) { + return; + } + if ('undefined' === typeof window.frm_single_style_custom_css_wp_editor || 'undefined' === typeof window.frm_single_style_custom_css_wp_editor.codemirror) { + setTimeout(function () { + _this.cssEditorOptions.retryCount++; + _this.initCustomCSSEditorInstance(); + }, 500); + return; + } + this.cssEditorInstance = window.frm_single_style_custom_css_wp_editor.codemirror; + this.onCssEditorReady(); + } + + /** + * Get the inline style element. + * + * @return {HTMLElement} The inline style element. + */ + }, { + key: "getInlineStyleElement", + value: function getInlineStyleElement() { + if (null !== this.cssInlineStyleElement) { + return this.cssInlineStyleElement; + } + this.cssInlineStyleElement = document.createElement('style'); + document.head.appendChild(this.cssInlineStyleElement); + return this.cssInlineStyleElement; + } + + /** + * On the CSS editor ready, add an event listener to the editor to update the inline style element. + * + * @return {void} + */ + }, { + key: "onCssEditorReady", + value: function onCssEditorReady() { + var _document$getElementB, + _this2 = this; + var cssScope = (_document$getElementB = document.getElementById('frm_style_class_custom_css')) === null || _document$getElementB === void 0 || (_document$getElementB = _document$getElementB.dataset) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.cssScope; + if (null === cssScope) { + return; + } + var sanitizedCssScope = CSS.escape(cssScope); + this.cssEditorInstance.on('change', function (editor) { + var value = editor.getValue().replace(/<[^>]*>/g, '').trim(); + _this2.getInlineStyleElement().textContent = ".".concat(sanitizedCssScope, " { ").concat(value, " }"); + }); + } + + /** + * Initializes the color picker dependent updater components. + * Retrieves the components and elements, and adds them to the elements array. + * Adds an action hook for the frm_style_options_color_change event. + */ + }, { + key: "initColorPickerDependentUpdaterComponents", + value: function initColorPickerDependentUpdaterComponents() { + var components = document.querySelectorAll('.frm-style-dependent-updater-component.frm-colorpicker'); + var elements = []; + components.forEach(function (component) { + var element = component.querySelector('input.hex'); + var id = 'undefined' !== typeof element ? element.getAttribute('id') : null; + if (null !== id) { + elements.push({ + id: id, + dependentUpdaterClass: new _components_dependent_updater_component__WEBPACK_IMPORTED_MODULE_1__["default"](component, 'colorpicker') + }); + } + }); + wp.hooks.addAction('frm_style_options_color_change', 'formidable', function (_ref) { + var event = _ref.event, + value = _ref.value; + var container = event.target.closest('.wp-picker-container'); + var id = event.target.getAttribute('id'); + container.querySelector('.wp-color-result-text').innerText = value; + elements.forEach(function (element) { + if (element.id === id) { + element.dependentUpdaterClass.updateAllDependentElements(value); + } + }); + }); + } + + /** + * Initializes the hover functionality for the style options. + * Creates a hover element and appends it to the settingsWrapper. + * Adds event listeners for mouseover and click events. + */ + }, { + key: "initHover", + value: function initHover() { + var settingsWrapper = document.querySelector('.frm-right-panel .styling_settings .accordion-container'); + if (null === settingsWrapper) { + return; + } + var hoverElement = document.createElement('div'); + hoverElement.classList.add('frm_hidden'); + hoverElement.classList.add('frm-style-settings-hover'); + settingsWrapper.appendChild(hoverElement); + var styleOptionsMenu = settingsWrapper.querySelector(':scope > ul'); + styleOptionsMenu.querySelectorAll(':scope > li').forEach(function (item) { + item.querySelector('h3').addEventListener('mouseover', function (event) { + hoverElement.style.transform = "translateY(".concat(event.target.closest('li').offsetTop, "px)"); + hoverElement.classList.add('frm-animating'); + hoverElement.classList.remove('frm_hidden'); + setTimeout(function () { + hoverElement.classList.remove('frm-animating'); + }, 250); + }); + }); + var accordionitems = document.querySelectorAll('#frm_style_sidebar .accordion-section h3'); + accordionitems.forEach(function (item) { + item.addEventListener('click', function () { + hoverElement.classList.add('frm_hidden'); + }); + }); + } + + /** + * Initializes the copy to clipboard functionality for style classes. + * Adds a click event listener to the copyLabel element. + * Copies the class name to the clipboard and displays a success message. + * + * @param {string} successMessage The success message to display. + * @return {void} Initializes the copy to clipboard functionality for style classes. + */ + }, { + key: "initStyleClassCopyToClipboard", + value: function initStyleClassCopyToClipboard(successMessage) { + var _this3 = this; + var labels = document.querySelectorAll('.frm-copy-text'); + labels.forEach(function (label) { + label.addEventListener('click', function (event) { + var className = event.currentTarget.innerText; + if (!navigator.clipboard || !navigator.clipboard.writeText) { + if (true === _this3.fallbackCopyToClipboard(className, event.currentTarget)) { + _this3.success(successMessage); + } + return; + } + navigator.clipboard.writeText(className).then(function () { + _this3.success(successMessage); + }); + }); + }); + } + + /** + * Toggle the visibility of the custom CSS editor. + * + * @return {void} + */ + }, { + key: "toggleVisibilityOfCustomCSSEditor", + value: function toggleVisibilityOfCustomCSSEditor() { + var toggle = document.getElementById('frm_enable_single_style_custom_css'); + var editor = document.getElementById('frm_single_style_custom_css_editor'); + if (!toggle || !editor) { + return; + } + toggle.addEventListener('change', function (event) { + editor.classList.toggle('frm_hidden', !event.target.checked); + }); + } + + /** + * Copy to clipboard if the Clipboard API is not available. + * + * @param {string} couponCode The string being copied to the clipboard. + * @param {HTMLElement} copyButton Used to position the temporary input element. + * @return {boolean} True if the copy was successful, false otherwise. + */ + }, { + key: "fallbackCopyToClipboard", + value: function fallbackCopyToClipboard(couponCode, copyButton) { + if ('function' !== typeof document.execCommand) { + return false; + } + var copySuccess; + var temp = document.createElement('input'); + temp.setAttribute('type', 'text'); + temp.value = couponCode; + copyButton.parentElement.appendChild(temp); + temp.focus(); + temp.select(); + temp.setSelectionRange(0, 99999); + + // Hide the input so it doesn't show up in the UI. + temp.style.position = 'absolute'; + temp.style.left = '-9999px'; + temp.style.top = '-9999px'; + try { + copySuccess = document.execCommand('copy'); + } catch (error) { + copySuccess = false; + } + temp.remove(); + return copySuccess; + } + }]); +}(); +new frmStyleOptions(); +})(); + +/******/ })() +; +//# sourceMappingURL=formidable_styles.js.map \ No newline at end of file diff --git a/js/formidable_styles.js.map b/js/formidable_styles.js.map index e8987b4287..22fcd8a370 100644 --- a/js/formidable_styles.js.map +++ b/js/formidable_styles.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable_styles.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B,yC;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA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A;AACA,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;;AAEA,YAAY,4BAA4B;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;;ACJqD;AACrD;AACA,+BAA+B,gEAAgB;AAC/C;;;;;;;;;;;;;;;;ACHA;AACA;AACA;;;;;;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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/components/dependent-updater-component.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/styles.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","/**\n * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview.\n * The names of the elements that will be updated are specified using the \"will-change\" attribute.\n * It is primarily used in components from Style/Quick Settings.\n * For instance, when the \"FrmPrimaryColorStyleComponent\" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds.\n */\nexport default class frmStyleDependentUpdaterComponent {\n\t/**\n\t * Creates an instance of frmStyleDependentUpdaterComponent.\n\t *\n\t * @param {HTMLElement} component - The component element.\n\t */\n\tconstructor( component ) {\n\t\tthis.component = component;\n\t\ttry {\n\t\t\tconst willChangeData = JSON.parse( this.component.dataset.willChange );\n\t\t\tthis.data = {\n\t\t\t\tpropagateInputs: this.initPropagationList( willChangeData ),\n\t\t\t\tchangeEvent: new Event( 'change', { bubbles: true } )\n\t\t\t};\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'Error parsing JSON data from \"will-change\" attribute.', error );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the list of inputs to propagate changes to.\n\t * The selection is made by provided input's names list in \"will-change\" attribute.\n\t *\n\t * @param {string[]} inputNames - The names of the inputs to propagate changes to.\n\t * @return {HTMLElement[]} - The list of inputs to propagate changes to.\n\t */\n\tinitPropagationList( inputNames ) {\n\t\tconst list = [];\n\t\tinputNames.forEach( name => {\n\t\t\tconst input = document.querySelector( `input[name=\"${ name }\"]` );\n\t\t\tif ( null !== input ) {\n\t\t\t\tlist.push( input );\n\t\t\t}\n\t\t} );\n\t\treturn list;\n\t}\n\n\t/**\n\t * Updates all dependent elements with the given value.\n\t *\n\t * @param {string} value - The value to update the dependent elements with.\n\t */\n\tupdateAllDependentElements( value ) {\n\t\tthis.data.propagateInputs.forEach( input => {\n\t\t\tinput.value = value;\n\t\t} );\n\t\tthis.data.propagateInputs[ 0 ].dispatchEvent( this.data.changeEvent );\n\t}\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { __ } from '@wordpress/i18n';\nimport frmStyleDependentUpdaterComponent from './components/dependent-updater-component';\n\n/**\n * Represents the frmStyleOptions class.\n *\n * @class\n */\nclass frmStyleOptions {\n\tconstructor() {\n\t\tthis.success = frmDom.success;\n\t\tthis.cssEditorInstance = null;\n\t\tthis.cssInlineStyleElement = null;\n\t\tthis.cssEditorOptions = {\n\t\t\tretryLimit: 5, // Stop after 5 retries.\n\t\t\tretryInterval: 500, // Retry every 500ms.\n\t\t\tretryCount: 0, // Count the number of retries.\n\t\t};\n\t\tthis.init();\n\t\tthis.initHover();\n\t\tthis.initCustomCSSEditorInstance();\n\t}\n\n\t/**\n\t * Init the dependent\n\t */\n\tinit() {\n\t\tthis.initColorPickerDependentUpdaterComponents();\n\t\tthis.initStyleClassCopyToClipboard( __( 'The class name has been copied.', 'formidable' ) );\n\t\tthis.toggleVisibilityOfCustomCSSEditor();\n\t}\n\n\t/**\n\t * Initialize the custom CSS editor instance.\n\t *\n\t * @return {void}\n\t */\n\tinitCustomCSSEditorInstance() {\n\t\tif ( null !== this.cssEditorInstance || this.cssEditorOptions.retryCount >= this.cssEditorOptions.retryLimit ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( 'undefined' === typeof window.frm_single_style_custom_css_wp_editor || 'undefined' === typeof window.frm_single_style_custom_css_wp_editor.codemirror ) {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.cssEditorOptions.retryCount++;\n\t\t\t\tthis.initCustomCSSEditorInstance();\n\t\t\t}, 500 );\n\t\t\treturn;\n\t\t}\n\n\t\tthis.cssEditorInstance = window.frm_single_style_custom_css_wp_editor.codemirror;\n\t\tthis.onCssEditorReady();\n\t}\n\n\t/**\n\t * Get the inline style element.\n\t *\n\t * @return {HTMLElement} The inline style element.\n\t */\n\tgetInlineStyleElement() {\n\t\tif ( null !== this.cssInlineStyleElement ) {\n\t\t\treturn this.cssInlineStyleElement;\n\t\t}\n\n\t\tthis.cssInlineStyleElement = document.createElement( 'style' );\n\t\tdocument.head.appendChild( this.cssInlineStyleElement );\n\t\treturn this.cssInlineStyleElement;\n\t}\n\n\t/**\n\t * On the CSS editor ready, add an event listener to the editor to update the inline style element.\n\t *\n\t * @return {void}\n\t */\n\tonCssEditorReady() {\n\t\tconst cssScope = document.getElementById( 'frm_style_class_custom_css' )?.dataset?.cssScope;\n\t\tif ( null === cssScope ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sanitizedCssScope = CSS.escape( cssScope );\n\n\t\tthis.cssEditorInstance.on( 'change', editor => {\n\t\t\tconst value = editor.getValue().replace( /<[^>]*>/g, '' ).trim();\n\t\t\tthis.getInlineStyleElement().textContent = `.${ sanitizedCssScope } { ${ value } }`;\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the color picker dependent updater components.\n\t * Retrieves the components and elements, and adds them to the elements array.\n\t * Adds an action hook for the frm_style_options_color_change event.\n\t */\n\tinitColorPickerDependentUpdaterComponents() {\n\t\tconst components = document.querySelectorAll( '.frm-style-dependent-updater-component.frm-colorpicker' );\n\t\tconst elements = [];\n\n\t\tcomponents.forEach( component => {\n\t\t\tconst element = component.querySelector( 'input.hex' );\n\t\t\tconst id = 'undefined' !== typeof element ? element.getAttribute( 'id' ) : null;\n\n\t\t\tif ( null !== id ) {\n\t\t\t\telements.push( {\n\t\t\t\t\tid: id,\n\t\t\t\t\tdependentUpdaterClass: new frmStyleDependentUpdaterComponent( component, 'colorpicker' )\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\twp.hooks.addAction( 'frm_style_options_color_change', 'formidable', ( { event, value } ) => {\n\t\t\tconst container = event.target.closest( '.wp-picker-container' );\n\t\t\tconst id = event.target.getAttribute( 'id' );\n\n\t\t\tcontainer.querySelector( '.wp-color-result-text' ).innerText = value;\n\n\t\t\telements.forEach( element => {\n\t\t\t\tif ( element.id === id ) {\n\t\t\t\t\telement.dependentUpdaterClass.updateAllDependentElements( value );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the hover functionality for the style options.\n\t * Creates a hover element and appends it to the settingsWrapper.\n\t * Adds event listeners for mouseover and click events.\n\t */\n\tinitHover() {\n\t\tconst settingsWrapper = document.querySelector( '.frm-right-panel .styling_settings .accordion-container' );\n\t\tif ( null === settingsWrapper ) {\n\t\t\treturn;\n\t\t}\n\t\tconst hoverElement = document.createElement( 'div' );\n\t\thoverElement.classList.add( 'frm_hidden' );\n\t\thoverElement.classList.add( 'frm-style-settings-hover' );\n\t\tsettingsWrapper.appendChild( hoverElement );\n\n\t\tconst styleOptionsMenu = settingsWrapper.querySelector( ':scope > ul' );\n\n\t\tstyleOptionsMenu.querySelectorAll( ':scope > li' ).forEach( item => {\n\t\t\titem.querySelector( 'h3' ).addEventListener( 'mouseover', event => {\n\t\t\t\thoverElement.style.transform = `translateY(${ event.target.closest( 'li' ).offsetTop }px)`;\n\t\t\t\thoverElement.classList.add( 'frm-animating' );\n\t\t\t\thoverElement.classList.remove( 'frm_hidden' );\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\thoverElement.classList.remove( 'frm-animating' );\n\t\t\t\t}, 250 );\n\t\t\t} );\n\t\t} );\n\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\t\taccordionitems.forEach( item => {\n\t\t\titem.addEventListener( 'click', () => {\n\t\t\t\thoverElement.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the copy to clipboard functionality for style classes.\n\t * Adds a click event listener to the copyLabel element.\n\t * Copies the class name to the clipboard and displays a success message.\n\t *\n\t * @param {string} successMessage The success message to display.\n\t * @return {void} Initializes the copy to clipboard functionality for style classes.\n\t */\n\tinitStyleClassCopyToClipboard( successMessage ) {\n\t\tconst labels = document.querySelectorAll( '.frm-copy-text' );\n\t\tlabels.forEach( label => {\n\t\t\tlabel.addEventListener( 'click', event => {\n\t\t\t\tconst className = event.currentTarget.innerText;\n\n\t\t\t\tif ( ! navigator.clipboard || ! navigator.clipboard.writeText ) {\n\t\t\t\t\tif ( true === this.fallbackCopyToClipboard( className, event.currentTarget ) ) {\n\t\t\t\t\t\tthis.success( successMessage );\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tnavigator.clipboard.writeText( className ).then( () => {\n\t\t\t\t\tthis.success( successMessage );\n\t\t\t\t} );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Toggle the visibility of the custom CSS editor.\n\t *\n\t * @return {void}\n\t */\n\ttoggleVisibilityOfCustomCSSEditor() {\n\t\tconst toggle = document.getElementById( 'frm_enable_single_style_custom_css' );\n\t\tconst editor = document.getElementById( 'frm_single_style_custom_css_editor' );\n\t\tif ( ! toggle || ! editor ) {\n\t\t\treturn;\n\t\t}\n\t\ttoggle.addEventListener( 'change', event => {\n\t\t\teditor.classList.toggle( 'frm_hidden', ! event.target.checked );\n\t\t} );\n\t}\n\n\t/**\n\t * Copy to clipboard if the Clipboard API is not available.\n\t *\n\t * @param {string} couponCode The string being copied to the clipboard.\n\t * @param {HTMLElement} copyButton Used to position the temporary input element.\n\t * @return {boolean} True if the copy was successful, false otherwise.\n\t */\n\tfallbackCopyToClipboard( couponCode, copyButton ) {\n\t\tif ( 'function' !== typeof document.execCommand ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet copySuccess;\n\n\t\tconst temp = document.createElement( 'input' );\n\t\ttemp.setAttribute( 'type', 'text' );\n\t\ttemp.value = couponCode;\n\n\t\tcopyButton.parentElement.appendChild( temp );\n\n\t\ttemp.focus();\n\t\ttemp.select();\n\t\ttemp.setSelectionRange( 0, 99999 );\n\n\t\t// Hide the input so it doesn't show up in the UI.\n\t\ttemp.style.position = 'absolute';\n\t\ttemp.style.left = '-9999px';\n\t\ttemp.style.top = '-9999px';\n\n\t\ttry {\n\t\t\tcopySuccess = document.execCommand( 'copy' );\n\t\t} catch ( error ) {\n\t\t\tcopySuccess = false;\n\t\t}\n\n\t\ttemp.remove();\n\n\t\treturn copySuccess;\n\t}\n}\n\nnew frmStyleOptions();\n"],"names":["frmStyleDependentUpdaterComponent","component","_classCallCheck","willChangeData","JSON","parse","dataset","willChange","data","propagateInputs","initPropagationList","changeEvent","Event","bubbles","error","console","_createClass","key","value","inputNames","list","forEach","name","input","document","querySelector","concat","push","updateAllDependentElements","dispatchEvent","default","__","frmStyleOptions","success","frmDom","cssEditorInstance","cssInlineStyleElement","cssEditorOptions","retryLimit","retryInterval","retryCount","init","initHover","initCustomCSSEditorInstance","initColorPickerDependentUpdaterComponents","initStyleClassCopyToClipboard","toggleVisibilityOfCustomCSSEditor","_this","window","frm_single_style_custom_css_wp_editor","codemirror","setTimeout","onCssEditorReady","getInlineStyleElement","createElement","head","appendChild","_document$getElementB","_this2","cssScope","getElementById","sanitizedCssScope","CSS","escape","on","editor","getValue","replace","trim","textContent","components","querySelectorAll","elements","element","id","getAttribute","dependentUpdaterClass","wp","hooks","addAction","_ref","event","container","target","closest","innerText","settingsWrapper","hoverElement","classList","add","styleOptionsMenu","item","addEventListener","style","transform","offsetTop","remove","accordionitems","successMessage","_this3","labels","label","className","currentTarget","navigator","clipboard","writeText","fallbackCopyToClipboard","then","toggle","checked","couponCode","copyButton","execCommand","copySuccess","temp","setAttribute","parentElement","focus","select","setSelectionRange","position","left","top"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"formidable_styles.js","mappings":";;;;;;;;;;;;;;;;AAAsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,aAAa,oBAAoB,MAAM;AACnD;AACe;AACf,aAAa,2DAAO;;AAEpB;AACA,SAAS,4DAAQ;AACjB;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,GAAG;AACf;AACe;AACf;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7GsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf,gBAAgB,2DAAO;;AAEvB;AACA,sBAAsB,OAAO;AAC7B;AACA;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3HA;AACA;AACA;AACuD;AACF;AACrD;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,gEAAgB;AACzB;AACA;;AAEA,SAAS,iEAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,QAAQ;;AAEzB;;AAEA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,kBAAkB;AAClB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC;AAC7B;;;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA,YA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DAAiD,mFAAmF,OAAO;;AAEtgB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAY;;AAE1B,cAAc,YAAY;;AAE1B;AACA,aAAa,sDAAsD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4DAA4D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,6EAA6E;AAC1F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8FAA8F;AAC3G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gEAAgE;AAC7E;AACA;AACA;;AAEA,cAAc,kCAAkC;;AAEhD;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B;AACA,cAAc,iBAAiB;AAC/B;AACA,cAAc,WAAW;AACzB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB,cAAc,IAAI;AAClB;AACA,cAAc,KAAK;AACnB;AACA,cAAc,OAAO;AACrB,cAAc,gBAAgB;AAC9B;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,YAAY,4BAA4B;AACxC;;AAEO;AACP;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,8CAAM,GAAG;AAC5B;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,m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Ac,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;;AAEA,YAAY,4BAA4B;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,2BAA2B,eAAe;AAC1C,qBAAqB,iBAAiB;AACtC,cAAc,iBAAiB;AAC/B,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtKA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC,QAAQ,eAAkB;AAC1B,QAAQ,gBAAmB;AAC3B;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,kGAAC;AACd;AACA;AACA;AACA,CAAC,IAAI;;;;;;;;;;;;;;;;;ACtO0C;;AAE/C;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gGAAgG;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,qCAAqC;AACnD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,qBAAqB;;AAErB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gEAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,WAAW,aAAa;AACxB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpNA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;;ACJqD;AACrD;AACA,+BAA+B,gEAAgB;AAC/C;;;;;;;;;;;;;;;;ACHA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;;;;;;ACFA;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","sources":["webpack://formidable/./node_modules/@tannin/compile/index.js","webpack://formidable/./node_modules/@tannin/evaluate/index.js","webpack://formidable/./node_modules/@tannin/plural-forms/index.js","webpack://formidable/./node_modules/@tannin/postfix/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createHooks.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/index.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack://formidable/./node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/index.js","webpack://formidable/./node_modules/@wordpress/i18n/build-module/sprintf.js","webpack://formidable/./js/src/admin/components/dependent-updater-component.js","webpack://formidable/./node_modules/memize/index.js","webpack://formidable/./node_modules/sprintf-js/src/sprintf.js","webpack://formidable/./node_modules/tannin/index.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://formidable/./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://formidable/./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/compat get default export","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/admin/styles.js"],"sourcesContent":["import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\n/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nexport var _Hooks = function _Hooks() {\n _classCallCheck(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = createAddHook(this, 'actions');\n this.addFilter = createAddHook(this, 'filters');\n this.removeAction = createRemoveHook(this, 'actions');\n this.removeFilter = createRemoveHook(this, 'filters');\n this.hasAction = createHasHook(this, 'actions');\n this.hasFilter = createHasHook(this, 'filters');\n this.removeAllActions = createRemoveHook(this, 'actions', true);\n this.removeAllFilters = createRemoveHook(this, 'filters', true);\n this.doAction = createRunHook(this, 'actions');\n this.applyFilters = createRunHook(this, 'filters', true);\n this.currentAction = createCurrentHook(this, 'actions');\n this.currentFilter = createCurrentHook(this, 'filters');\n this.doingAction = createDoingHook(this, 'actions');\n this.doingFilter = createDoingHook(this, 'filters');\n this.didAction = createDidHook(this, 'actions');\n this.didFilter = createDidHook(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nexport var defaultHooks = createHooks();\nvar addAction = defaultHooks.addAction,\n addFilter = defaultHooks.addFilter,\n removeAction = defaultHooks.removeAction,\n removeFilter = defaultHooks.removeFilter,\n hasAction = defaultHooks.hasAction,\n hasFilter = defaultHooks.hasFilter,\n removeAllActions = defaultHooks.removeAllActions,\n removeAllFilters = defaultHooks.removeAllFilters,\n doAction = defaultHooks.doAction,\n applyFilters = defaultHooks.applyFilters,\n currentAction = defaultHooks.currentAction,\n currentFilter = defaultHooks.currentFilter,\n doingAction = defaultHooks.doingAction,\n doingFilter = defaultHooks.doingFilter,\n didAction = defaultHooks.didAction,\n didFilter = defaultHooks.didFilter,\n actions = defaultHooks.actions,\n filters = defaultHooks.filters;\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/*\n * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`,\n * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`.\n */\n\nvar I18N_HOOK_REGEXP = /^i18n\\.(n?gettext|has_translation)(_|$)/;\n/**\n * @typedef {(domain?: string) => LocaleData} GetLocaleData\n *\n * Returns locale data by domain in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData\n *\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/**\n * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData\n *\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n */\n\n/** @typedef {() => void} SubscribeCallback */\n\n/** @typedef {() => void} UnsubscribeCallback */\n\n/**\n * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe\n *\n * Subscribes to changes of locale data\n */\n\n/**\n * @typedef {(domain?: string) => string} GetFilterDomain\n * Retrieve the domain to use when calling domain-specific filters.\n */\n\n/**\n * @typedef {(text: string, domain?: string) => string} __\n *\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n */\n\n/**\n * @typedef {(text: string, context: string, domain?: string) => string} _x\n *\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n */\n\n/**\n * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx\n *\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n */\n\n/**\n * @typedef {() => boolean} IsRtl\n *\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n */\n\n/**\n * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation\n *\n * Check if there is a translation for a given string in singular form.\n */\n\n/** @typedef {import('@wordpress/hooks').Hooks} Hooks */\n\n/**\n * An i18n instance\n *\n * @typedef I18n\n * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape.\n * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data.\n * @property {__} __ Retrieve the translation of text.\n * @property {_x} _x Retrieve translated string with gettext context.\n * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {IsRtl} isRTL Check if current locale is RTL.\n * @property {HasTranslation} hasTranslation Check if there is a translation for a given string.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @param {Hooks} [hooks] Hooks implementation.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain, hooks) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n var listeners = new Set();\n\n var notifyListeners = function notifyListeners() {\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n /**\n * Subscribe to changes of locale data.\n *\n * @param {SubscribeCallback} callback Subscription callback.\n * @return {UnsubscribeCallback} Unsubscribe callback.\n */\n\n\n var subscribe = function subscribe(callback) {\n listeners.add(callback);\n return function () {\n return listeners.delete(callback);\n };\n };\n /** @type {GetLocaleData} */\n\n\n var getLocaleData = function getLocaleData() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return tannin.data[domain];\n };\n /**\n * @param {LocaleData} [data]\n * @param {string} [domain]\n */\n\n\n var doSetLocaleData = function doSetLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']);\n };\n /** @type {SetLocaleData} */\n\n\n var setLocaleData = function setLocaleData(data, domain) {\n doSetLocaleData(data, domain);\n notifyListeners();\n };\n /** @type {ResetLocaleData} */\n\n\n var resetLocaleData = function resetLocaleData(data, domain) {\n // Reset all current Tannin locale data.\n tannin.data = {}; // Reset cached plural forms functions cache.\n\n tannin.pluralForms = {};\n setLocaleData(data, domain);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n // use `doSetLocaleData` to set silently, without notifying listeners\n doSetLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /** @type {GetFilterDomain} */\n\n\n var getFilterDomain = function getFilterDomain() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n return domain;\n };\n /** @type {__} */\n\n\n var __ = function __(text, domain) {\n var translation = dcnpgettext(domain, undefined, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext', translation, text, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain)\n );\n };\n /** @type {_x} */\n\n\n var _x = function _x(text, context, domain) {\n var translation = dcnpgettext(domain, context, text);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters text with its translation based on context information.\n *\n * @param {string} translation Translated text.\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain)\n );\n };\n /** @type {_n} */\n\n\n var _n = function _n(single, plural, number, domain) {\n var translation = dcnpgettext(domain, undefined, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain)\n );\n };\n /** @type {_nx} */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n var translation = dcnpgettext(domain, context, single, plural, number);\n\n if (!hooks) {\n return translation;\n }\n /**\n * Filters the singular or plural form of a string with gettext context.\n *\n * @param {string} translation Translated text.\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {string} number The number to compare against to use either the singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n\n\n translation =\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain);\n return (\n /** @type {string} */\n\n /** @type {*} */\n hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain)\n );\n };\n /** @type {IsRtl} */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n /** @type {HasTranslation} */\n\n\n var hasTranslation = function hasTranslation(single, context, domain) {\n var _tannin$data, _tannin$data2;\n\n var key = context ? context + \"\\x04\" + single : single;\n var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]);\n\n if (hooks) {\n /**\n * Filters the presence of a translation in the locale data.\n *\n * @param {boolean} hasTranslation Whether the translation is present or not..\n * @param {string} single The singular form of the translated text (used as key in locale data)\n * @param {string} context Context information for the translators.\n * @param {string} domain Text domain. Unique identifier for retrieving translated strings.\n */\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation', result, single, context, domain);\n result =\n /** @type { boolean } */\n\n /** @type {*} */\n hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain);\n }\n\n return result;\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n if (hooks) {\n /**\n * @param {string} hookName\n */\n var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) {\n if (I18N_HOOK_REGEXP.test(hookName)) {\n notifyListeners();\n }\n };\n\n hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved);\n hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved);\n }\n\n return {\n getLocaleData: getLocaleData,\n setLocaleData: setLocaleData,\n resetLocaleData: resetLocaleData,\n subscribe: subscribe,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL,\n hasTranslation: hasTranslation\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\n/**\n * WordPress dependencies\n */\n\nimport { defaultHooks } from '@wordpress/hooks';\nvar i18n = createI18n(undefined, undefined, defaultHooks);\n/**\n * Default, singleton instance of `I18n`.\n */\n\nexport default i18n;\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback\n * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback\n */\n\n/**\n * Returns locale data by domain in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {string} [domain] Domain for which to get the data.\n * @return {LocaleData} Locale data.\n */\n\nexport var getLocaleData = i18n.getLocaleData.bind(i18n);\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Resets all current Tannin instance locale data and sets the specified\n * locale data for the domain. Accepts data in a Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var resetLocaleData = i18n.resetLocaleData.bind(i18n);\n/**\n * Subscribes to changes of locale data\n *\n * @param {SubscribeCallback} callback Subscription callback\n * @return {UnsubscribeCallback} Unsubscribe callback\n */\n\nexport var subscribe = i18n.subscribe.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n/**\n * Check if there is a translation for a given string (in singular form).\n *\n * @param {string} single Singular form of the string to look up.\n * @param {string} [context] Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n * @return {boolean} Whether the translation exists or not.\n */\n\nexport var hasTranslation = i18n.hasTranslation.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { default as defaultI18n, setLocaleData, resetLocaleData, getLocaleData, subscribe, __, _x, _n, _nx, isRTL, hasTranslation } from './default-i18n';\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see https://www.npmjs.com/package/sprintf-js\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","/**\n * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview.\n * The names of the elements that will be updated are specified using the \"will-change\" attribute.\n * It is primarily used in components from Style/Quick Settings.\n * For instance, when the \"FrmPrimaryColorStyleComponent\" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds.\n */\nexport default class frmStyleDependentUpdaterComponent {\n\t/**\n\t * Creates an instance of frmStyleDependentUpdaterComponent.\n\t *\n\t * @param {HTMLElement} component - The component element.\n\t */\n\tconstructor( component ) {\n\t\tthis.component = component;\n\t\ttry {\n\t\t\tconst willChangeData = JSON.parse( this.component.dataset.willChange );\n\t\t\tthis.data = {\n\t\t\t\tpropagateInputs: this.initPropagationList( willChangeData ),\n\t\t\t\tchangeEvent: new Event( 'change', { bubbles: true } )\n\t\t\t};\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'Error parsing JSON data from \"will-change\" attribute.', error );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the list of inputs to propagate changes to.\n\t * The selection is made by provided input's names list in \"will-change\" attribute.\n\t *\n\t * @param {string[]} inputNames - The names of the inputs to propagate changes to.\n\t * @return {HTMLElement[]} - The list of inputs to propagate changes to.\n\t */\n\tinitPropagationList( inputNames ) {\n\t\tconst list = [];\n\t\tinputNames.forEach( name => {\n\t\t\tconst input = document.querySelector( `input[name=\"${ name }\"]` );\n\t\t\tif ( null !== input ) {\n\t\t\t\tlist.push( input );\n\t\t\t}\n\t\t} );\n\t\treturn list;\n\t}\n\n\t/**\n\t * Updates all dependent elements with the given value.\n\t *\n\t * @param {string} value - The value to update the dependent elements with.\n\t */\n\tupdateAllDependentElements( value ) {\n\t\tthis.data.propagateInputs.forEach( input => {\n\t\t\tinput.value = value;\n\t\t} );\n\t\tthis.data.propagateInputs[ 0 ].dispatchEvent( this.data.changeEvent );\n\t}\n}\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { __ } from '@wordpress/i18n';\nimport frmStyleDependentUpdaterComponent from './components/dependent-updater-component';\n\n/**\n * Represents the frmStyleOptions class.\n *\n * @class\n */\nclass frmStyleOptions {\n\tconstructor() {\n\t\tthis.success = frmDom.success;\n\t\tthis.cssEditorInstance = null;\n\t\tthis.cssInlineStyleElement = null;\n\t\tthis.cssEditorOptions = {\n\t\t\tretryLimit: 5, // Stop after 5 retries.\n\t\t\tretryInterval: 500, // Retry every 500ms.\n\t\t\tretryCount: 0, // Count the number of retries.\n\t\t};\n\t\tthis.init();\n\t\tthis.initHover();\n\t\tthis.initCustomCSSEditorInstance();\n\t}\n\n\t/**\n\t * Init the dependent\n\t */\n\tinit() {\n\t\tthis.initColorPickerDependentUpdaterComponents();\n\t\tthis.initStyleClassCopyToClipboard( __( 'The class name has been copied.', 'formidable' ) );\n\t\tthis.toggleVisibilityOfCustomCSSEditor();\n\t}\n\n\t/**\n\t * Initialize the custom CSS editor instance.\n\t *\n\t * @return {void}\n\t */\n\tinitCustomCSSEditorInstance() {\n\t\tif ( null !== this.cssEditorInstance || this.cssEditorOptions.retryCount >= this.cssEditorOptions.retryLimit ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( 'undefined' === typeof window.frm_single_style_custom_css_wp_editor || 'undefined' === typeof window.frm_single_style_custom_css_wp_editor.codemirror ) {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.cssEditorOptions.retryCount++;\n\t\t\t\tthis.initCustomCSSEditorInstance();\n\t\t\t}, 500 );\n\t\t\treturn;\n\t\t}\n\n\t\tthis.cssEditorInstance = window.frm_single_style_custom_css_wp_editor.codemirror;\n\t\tthis.onCssEditorReady();\n\t}\n\n\t/**\n\t * Get the inline style element.\n\t *\n\t * @return {HTMLElement} The inline style element.\n\t */\n\tgetInlineStyleElement() {\n\t\tif ( null !== this.cssInlineStyleElement ) {\n\t\t\treturn this.cssInlineStyleElement;\n\t\t}\n\n\t\tthis.cssInlineStyleElement = document.createElement( 'style' );\n\t\tdocument.head.appendChild( this.cssInlineStyleElement );\n\t\treturn this.cssInlineStyleElement;\n\t}\n\n\t/**\n\t * On the CSS editor ready, add an event listener to the editor to update the inline style element.\n\t *\n\t * @return {void}\n\t */\n\tonCssEditorReady() {\n\t\tconst cssScope = document.getElementById( 'frm_style_class_custom_css' )?.dataset?.cssScope;\n\t\tif ( null === cssScope ) {\n\t\t\treturn;\n\t\t}\n\t\tconst sanitizedCssScope = CSS.escape( cssScope );\n\n\t\tthis.cssEditorInstance.on( 'change', editor => {\n\t\t\tconst value = editor.getValue().replace( /<[^>]*>/g, '' ).trim();\n\t\t\tthis.getInlineStyleElement().textContent = `.${ sanitizedCssScope } { ${ value } }`;\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the color picker dependent updater components.\n\t * Retrieves the components and elements, and adds them to the elements array.\n\t * Adds an action hook for the frm_style_options_color_change event.\n\t */\n\tinitColorPickerDependentUpdaterComponents() {\n\t\tconst components = document.querySelectorAll( '.frm-style-dependent-updater-component.frm-colorpicker' );\n\t\tconst elements = [];\n\n\t\tcomponents.forEach( component => {\n\t\t\tconst element = component.querySelector( 'input.hex' );\n\t\t\tconst id = 'undefined' !== typeof element ? element.getAttribute( 'id' ) : null;\n\n\t\t\tif ( null !== id ) {\n\t\t\t\telements.push( {\n\t\t\t\t\tid: id,\n\t\t\t\t\tdependentUpdaterClass: new frmStyleDependentUpdaterComponent( component, 'colorpicker' )\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\twp.hooks.addAction( 'frm_style_options_color_change', 'formidable', ( { event, value } ) => {\n\t\t\tconst container = event.target.closest( '.wp-picker-container' );\n\t\t\tconst id = event.target.getAttribute( 'id' );\n\n\t\t\tcontainer.querySelector( '.wp-color-result-text' ).innerText = value;\n\n\t\t\telements.forEach( element => {\n\t\t\t\tif ( element.id === id ) {\n\t\t\t\t\telement.dependentUpdaterClass.updateAllDependentElements( value );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the hover functionality for the style options.\n\t * Creates a hover element and appends it to the settingsWrapper.\n\t * Adds event listeners for mouseover and click events.\n\t */\n\tinitHover() {\n\t\tconst settingsWrapper = document.querySelector( '.frm-right-panel .styling_settings .accordion-container' );\n\t\tif ( null === settingsWrapper ) {\n\t\t\treturn;\n\t\t}\n\t\tconst hoverElement = document.createElement( 'div' );\n\t\thoverElement.classList.add( 'frm_hidden' );\n\t\thoverElement.classList.add( 'frm-style-settings-hover' );\n\t\tsettingsWrapper.appendChild( hoverElement );\n\n\t\tconst styleOptionsMenu = settingsWrapper.querySelector( ':scope > ul' );\n\n\t\tstyleOptionsMenu.querySelectorAll( ':scope > li' ).forEach( item => {\n\t\t\titem.querySelector( 'h3' ).addEventListener( 'mouseover', event => {\n\t\t\t\thoverElement.style.transform = `translateY(${ event.target.closest( 'li' ).offsetTop }px)`;\n\t\t\t\thoverElement.classList.add( 'frm-animating' );\n\t\t\t\thoverElement.classList.remove( 'frm_hidden' );\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\thoverElement.classList.remove( 'frm-animating' );\n\t\t\t\t}, 250 );\n\t\t\t} );\n\t\t} );\n\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\t\taccordionitems.forEach( item => {\n\t\t\titem.addEventListener( 'click', () => {\n\t\t\t\thoverElement.classList.add( 'frm_hidden' );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the copy to clipboard functionality for style classes.\n\t * Adds a click event listener to the copyLabel element.\n\t * Copies the class name to the clipboard and displays a success message.\n\t *\n\t * @param {string} successMessage The success message to display.\n\t * @return {void} Initializes the copy to clipboard functionality for style classes.\n\t */\n\tinitStyleClassCopyToClipboard( successMessage ) {\n\t\tconst labels = document.querySelectorAll( '.frm-copy-text' );\n\t\tlabels.forEach( label => {\n\t\t\tlabel.addEventListener( 'click', event => {\n\t\t\t\tconst className = event.currentTarget.innerText;\n\n\t\t\t\tif ( ! navigator.clipboard || ! navigator.clipboard.writeText ) {\n\t\t\t\t\tif ( true === this.fallbackCopyToClipboard( className, event.currentTarget ) ) {\n\t\t\t\t\t\tthis.success( successMessage );\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tnavigator.clipboard.writeText( className ).then( () => {\n\t\t\t\t\tthis.success( successMessage );\n\t\t\t\t} );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Toggle the visibility of the custom CSS editor.\n\t *\n\t * @return {void}\n\t */\n\ttoggleVisibilityOfCustomCSSEditor() {\n\t\tconst toggle = document.getElementById( 'frm_enable_single_style_custom_css' );\n\t\tconst editor = document.getElementById( 'frm_single_style_custom_css_editor' );\n\t\tif ( ! toggle || ! editor ) {\n\t\t\treturn;\n\t\t}\n\t\ttoggle.addEventListener( 'change', event => {\n\t\t\teditor.classList.toggle( 'frm_hidden', ! event.target.checked );\n\t\t} );\n\t}\n\n\t/**\n\t * Copy to clipboard if the Clipboard API is not available.\n\t *\n\t * @param {string} couponCode The string being copied to the clipboard.\n\t * @param {HTMLElement} copyButton Used to position the temporary input element.\n\t * @return {boolean} True if the copy was successful, false otherwise.\n\t */\n\tfallbackCopyToClipboard( couponCode, copyButton ) {\n\t\tif ( 'function' !== typeof document.execCommand ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet copySuccess;\n\n\t\tconst temp = document.createElement( 'input' );\n\t\ttemp.setAttribute( 'type', 'text' );\n\t\ttemp.value = couponCode;\n\n\t\tcopyButton.parentElement.appendChild( temp );\n\n\t\ttemp.focus();\n\t\ttemp.select();\n\t\ttemp.setSelectionRange( 0, 99999 );\n\n\t\t// Hide the input so it doesn't show up in the UI.\n\t\ttemp.style.position = 'absolute';\n\t\ttemp.style.left = '-9999px';\n\t\ttemp.style.top = '-9999px';\n\n\t\ttry {\n\t\t\tcopySuccess = document.execCommand( 'copy' );\n\t\t} catch ( error ) {\n\t\t\tcopySuccess = false;\n\t\t}\n\n\t\ttemp.remove();\n\n\t\treturn copySuccess;\n\t}\n}\n\nnew frmStyleOptions();\n"],"names":["frmStyleDependentUpdaterComponent","component","_classCallCheck","willChangeData","JSON","parse","dataset","willChange","data","propagateInputs","initPropagationList","changeEvent","Event","bubbles","error","console","_createClass","key","value","inputNames","list","forEach","name","input","document","querySelector","concat","push","updateAllDependentElements","dispatchEvent","default","__","frmStyleOptions","success","frmDom","cssEditorInstance","cssInlineStyleElement","cssEditorOptions","retryLimit","retryInterval","retryCount","init","initHover","initCustomCSSEditorInstance","initColorPickerDependentUpdaterComponents","initStyleClassCopyToClipboard","toggleVisibilityOfCustomCSSEditor","_this","window","frm_single_style_custom_css_wp_editor","codemirror","setTimeout","onCssEditorReady","getInlineStyleElement","createElement","head","appendChild","_document$getElementB","_this2","cssScope","getElementById","sanitizedCssScope","CSS","escape","on","editor","getValue","replace","trim","textContent","components","querySelectorAll","elements","element","id","getAttribute","dependentUpdaterClass","wp","hooks","addAction","_ref","event","container","target","closest","innerText","settingsWrapper","hoverElement","classList","add","styleOptionsMenu","item","addEventListener","style","transform","offsetTop","remove","accordionitems","successMessage","_this3","labels","label","className","currentTarget","navigator","clipboard","writeText","fallbackCopyToClipboard","then","toggle","checked","couponCode","copyButton","execCommand","copySuccess","temp","setAttribute","parentElement","focus","select","setSelectionRange","position","left","top"],"sourceRoot":""} \ No newline at end of file diff --git a/js/frm_testing_mode.js b/js/frm_testing_mode.js index db06ffba12..dacd553611 100644 --- a/js/frm_testing_mode.js +++ b/js/frm_testing_mode.js @@ -1,2 +1,3398 @@ -/*! For license information please see frm_testing_mode.js.LICENSE.txt */ -(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(8793),o=r(1323);function i(e){var t=(0,n.A)(e);return function(e){return(0,o.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function o(e,t){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(t,{A:()=>o});var n=r(65);function o(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,o,i,a;function s(e){for(var t,r,s,l,c=[],u=[];t=e.match(a);){for(r=t[0],(s=e.substr(0,t.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach(function(e){e.name===r&&e.currentIndex>=u&&e.currentIndex++})}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,o=e[t];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7395);const o=function(e,t){return function(r){var o=e[t];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var o=e[t];return void 0!==n?r in o&&o[r].handlers.some(function(e){return e.namespace===n}):r in o}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=e[t];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(e){c[e].namespace===a&&(c.splice(e,1),l++,s.__current.forEach(function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--}))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,a),l}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=e[t];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>c});var n=r(4467),o=r(5397);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},s),n.data[t]),e),n.data[t][""]=a(a({},s[""]),n.data[t][""])},d=function(e,t){u(e,t),c()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[e]||u(void 0,e),n.dcnpgettext(e,t,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(e,t,n){var o=f(n,t,e);return r?(o=r.applyFilters("i18n.gettext_with_context",o,e,t,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,e,t,n)):o};if(e&&d(e,t),r){var v=function(e){l.test(e)&&c()};r.addAction("hookAdded","core/i18n",v),r.addAction("hookRemoved","core/i18n",v)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:d,resetLocaleData:function(e,t){n.data={},n.pluralForms={},d(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+p(t),n,e,t)):n},_x:m,_n:function(e,t,n,o){var i=f(o,void 0,e,t,n);return r?(i=r.applyFilters("i18n.ngettext",i,e,t,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,e,t,n,o)):i},_nx:function(e,t,n,o,i){var a=f(i,o,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,e,t,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(e,t,o){var i,a,s=t?t+""+e:e,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,e,t,o)),l}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>u,afterAddonInstall:()=>c,extractErrorFromAddOnResponse:()=>l,toggleAddonState:()=>s});var n=r(9575),o=frmDom,i=o.div,a=o.svg;function s(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(e),i=o.attr("rel"),a=o.parent(),s=a.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:i},success:function(e){var r,n,i;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(i=e.saveAndReload),e=e.message);var d=l(e);d?u(d,a,o):(c(e,o,s,a,i,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){o.removeClass("frm_loading_button")}})}function l(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function c(e,t,r,o,s){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",c=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var o=document.querySelector(".frm-addon-status");o&&(o.textContent="");var i,s=e.querySelector(".frm-circled-icon");if(s)s.classList.add("frm-circled-icon-green"),null===(i=s.querySelector("svg"))||void 0===i||i.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:c.active},frm_deactivate_addon:{class:"frm-addon-installed",message:c.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:c.not_installed}};f.frm_install_addon=f.frm_activate_addon;var p=r[0];p&&(p.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(s)&&u.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.appendChild(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(s,t))})}function u(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",installAddonWithCreds)):(t.append('

                                                                                                      '+e.message+"

                                                                                                      "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>a,initUpgradeModal:()=>s});var n=r(9575),o=frmDom.svg;function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var a,s=i.querySelector(".frm-oneclick"),l=i.querySelector(".frm-upgrade-message"),c=i.querySelector(".frm-upgrade-link"),u=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),p=e.getAttribute("data-message"),m="block",v="block",h="none",g=i.querySelector(".frm-circled-icon");g&&(g.classList.remove("frm-circled-icon-green"),null===(a=g.querySelector("svg"))||void 0===a||a.replaceWith(o({href:"#frm_filled_lock_icon"})));var y=i.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==s&&void 0!==f&&f){null===p&&(v="none"),m="none",h="block",f=JSON.parse(f),u.className=u.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),u.className=u.className+" "+f.class,u.rel=f.url,s.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),u.textContent=(0,n.__)("Activate","formidable");var _=e.querySelector("use");_&&(null==g||g.querySelector("svg").replaceWith(o({href:_.getAttribute("href")||_.getAttribute("xlink:href"),classList:["frm_svg32"]})))}p||(p=l.getAttribute("data-default")),void 0!==r&&(p=p.replace('',r)),l.innerHTML=p,e.dataset.upsellImage&&l.appendChild(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),c.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,c),d.style.display="none",s.style.display=h,u.style.display="block"===h?"inline-block":h,l.style.display=v,c.style.display="block"===m?"inline-block":m;var b=c.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===m?"flex":m)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function s(){var e=a("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var u=e.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&(d&&(d.style.display="none"),d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",u.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",u.querySelector(".frm_feature_label").textContent=c,u.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",u.querySelector("h2").style.display="block",e.dialog("open");var v=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=v.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),v.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return function(e,t){var r,n,a,s,l,c,u,d,f,p=1,m=e.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?v+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",v+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return v}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],i=0;r;){if(null!==(t=o.text.exec(r)))n.push(t[0]);else if(null!==(t=o.modulo.exec(r)))n.push("%");else{if(null===(t=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],l=t[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},o)this.options[r]=void 0!==t&&r in t?t[r]:o[r]}i.prototype.getPluralForm=function(e,t){var r,o,i,a=this.pluralForms[e];return a||("function"!=typeof(i=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(9922);function o(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284);function o(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284),o=r(2327);function i(e){var t=(0,o.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}function n(){var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function s(r,n,i,a){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return o(u,"_invoke",function(r,n,o){var i,a,s,c=0,u=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,s=e,f.n=r,l}};function p(r,n){for(a=r,s=n,t=0;!d&&c&&!o&&t3?(o=m===n)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&pn||n>m)&&(i[4]=r,i[5]=n,f.n=m,a=0))}if(o||r>1)return l;throw d=!0,n}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),a=u,s=m;(t=a<2?e:s)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(c=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=f.n<0)?s:r.call(n,f))!==l)break}catch(t){i=e,a=1,s=t}finally{c=1}}return{value:t,done:d}}}(r,i,a),!0),u}var l={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var f=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),p=d.prototype=c.prototype=Object.create(f);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return u.prototype=d,o(p,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,a,"GeneratorFunction"),o(p),o(p,a,"Generator"),o(p,i,function(){return this}),o(p,"toString",function(){return"[object Generator]"}),(n=function(){return{w:s,m}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){function a(t,r){o(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},o(e,t,r,n)}function i(e,t,r,n,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e=r(1105).toggleAddonState;function t(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",function(t){t.preventDefault(),e(this,"frm_install_addon")}),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",function(t){t.preventDefault(),e(this,"frm_activate_addon")}),function(){o.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")})}function o(){var e;return e=n().m(function e(){return n().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.resolve().then(r.bind(r,4260));case 1:e.v.initUpgradeModal();case 2:return e.a(2)}},e)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function s(e){i(a,n,o,s,l,"next",e)}function l(e){i(a,n,o,s,l,"throw",e)}s(void 0)})},o.apply(this,arguments)}function a(){var e=window.frmDom;e.bootstrap.setupBootstrapDropdowns(function(){var e=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");e&&(e.classList.add("frm-dropdown-toggle"),e.hasAttribute("role")||e.setAttribute("role","button"),e.hasAttribute("tabindex")||e.setAttribute("tabindex",0))});var t=document.getElementById("frm_testmode_enabled_form_actions");t&&(t.style.display="none",e.bootstrap.multiselect.init.bind(t)(),t.disabled&&t.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?t():document.addEventListener("DOMContentLoaded",t),document.addEventListener("frm_after_start_over",function(){a()}),jQuery(document).on("frmPageChanged frmFormComplete",function(){a()})}()})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // ⇒ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/index.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // ⇒ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // ⇒ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/admin/addon-state.js": +/*!*************************************!*\ + !*** ./js/src/admin/addon-state.js ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addonError: () => (/* binding */ addonError), +/* harmony export */ afterAddonInstall: () => (/* binding */ afterAddonInstall), +/* harmony export */ extractErrorFromAddOnResponse: () => (/* binding */ extractErrorFromAddOnResponse), +/* harmony export */ toggleAddonState: () => (/* binding */ toggleAddonState) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); + +var _frmDom = frmDom, + div = _frmDom.div, + svg = _frmDom.svg; + +/** + * Toggles the state of an add-on (ie. enable or disable an add-on). + * + * @param {Element} clicked + * @param {string} action + */ +function toggleAddonState(clicked, action) { + var _window$ajaxurl; + var ajaxurl = (_window$ajaxurl = window.ajaxurl) !== null && _window$ajaxurl !== void 0 ? _window$ajaxurl : frm_js.ajax_url; // eslint-disable-line camelcase + + // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated. + jQuery('.frm-addon-error').remove(); + var button = jQuery(clicked); + var plugin = button.attr('rel'); + var el = button.parent(); + var message = el.parent().find('.addon-status-label'); + button.addClass('frm_loading_button'); + + // Process the Ajax to perform the activation. + jQuery.ajax({ + url: ajaxurl, + type: 'POST', + async: true, + cache: false, + dataType: 'json', + data: { + action: action, + nonce: frmGlobal.nonce, + plugin: plugin + }, + success: function success(response) { + var _response$data, _response; + response = (_response$data = (_response = response) === null || _response === void 0 ? void 0 : _response.data) !== null && _response$data !== void 0 ? _response$data : response; + var saveAndReload; + if ('string' !== typeof response && 'string' === typeof response.message) { + if ('undefined' !== typeof response.saveAndReload) { + saveAndReload = response.saveAndReload; + } + response = response.message; + } + var error = extractErrorFromAddOnResponse(response); + if (error) { + addonError(error, el, button); + return; + } + afterAddonInstall(response, button, message, el, saveAndReload, action); + + /** + * Trigger an action after successfully toggling the addon state. + * + * @param {Object} response + */ + wp.hooks.doAction('frm_update_addon_state', response); + }, + error: function error() { + button.removeClass('frm_loading_button'); + } + }); +} +function extractErrorFromAddOnResponse(response) { + if (typeof response !== 'string') { + if (typeof response.success !== 'undefined' && response.success) { + return false; + } + if (response.form) { + if (jQuery(response.form).is('#message')) { + return { + message: jQuery(response.form).find('p').html() + }; + } + } + return response; + } + return false; +} +function afterAddonInstall(response, button, message, el, saveAndReload) { + var action = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'frm_activate_addon'; + var frmAdminJs = frm_admin_js; // eslint-disable-line camelcase + + var addonStatuses = document.querySelectorAll('.frm-addon-status'); + addonStatuses.forEach(function (addonStatus) { + addonStatus.textContent = response; + addonStatus.style.display = 'block'; + }); + + // The Ajax request was successful, so let's update the output. + button.css({ + opacity: '0' + }); + document.querySelectorAll('.frm-oneclick').forEach(function (oneClick) { + oneClick.style.display = 'none'; + }); + showUpgradeModalSuccess(); + + // Proceed with CSS changes + var actionMap = { + frm_activate_addon: { + class: 'frm-addon-active', + message: frmAdminJs.active + }, + frm_deactivate_addon: { + class: 'frm-addon-installed', + message: frmAdminJs.installed + }, + frm_uninstall_addon: { + class: 'frm-addon-not-installed', + message: frmAdminJs.not_installed + } + }; + actionMap.frm_install_addon = actionMap.frm_activate_addon; + var messageElement = message[0]; + if (messageElement) { + messageElement.textContent = actionMap[action].message; + } + var parentElement = el[0].parentElement; + parentElement.classList.remove('frm-addon-not-installed', 'frm-addon-installed', 'frm-addon-active'); + parentElement.classList.add(actionMap[action].class); + var buttonElement = button[0]; + buttonElement.classList.remove('frm_loading_button'); + + // Maybe refresh import and SMTP pages + var refreshPage = document.querySelectorAll('.frm-admin-page-import, #frm-admin-smtp, #frm-welcome'); + if (refreshPage.length > 0) { + window.location.reload(); + return; + } + if (['settings', 'form_builder'].includes(saveAndReload)) { + addonStatuses.forEach(function (addonStatus) { + var inModal = null !== addonStatus.closest('#frm_upgrade_modal'); + addonStatus.appendChild(getSaveAndReloadSettingsOptions(saveAndReload, inModal)); + }); + } +} +function addonError(response, el, button) { + if (response.form) { + jQuery('.frm-inline-error').remove(); + button.closest('.frm-card').html(response.form).css({ + padding: 5 + }).find('#upgrade').attr('rel', button.attr('rel')).on('click', installAddonWithCreds); + } else { + el.append('

                                                                                                      ' + response.message + '

                                                                                                      '); + button.removeClass('frm_loading_button'); + jQuery('.frm-addon-error').delay(4000).fadeOut(); + } +} +function getSaveAndReloadSettingsOptions(saveAndReload, inModal) { + var className = 'frm-save-and-reload-options'; + var children = [saveAndReloadSettingsButton(saveAndReload)]; + if (inModal) { + children.push(closePopupButton()); + } + return div({ + className: className, + children: children + }); +} +function saveAndReloadSettingsButton(saveAndReload) { + var button = document.createElement('button'); + button.classList.add('frm-save-and-reload', 'button', 'button-primary', 'frm-button-primary'); + button.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Save and Reload', 'formidable'); + button.addEventListener('click', function () { + if (saveAndReload === 'form_builder') { + saveAndReloadFormBuilder(); + } else if (saveAndReload === 'settings') { + saveAndReloadSettings(); + } + }); + return button; +} +function saveAndReloadSettings() { + var page = document.getElementById('form_settings_page'); + if (null !== page) { + var form = page.querySelector('form.frm_form_settings'); + if (null !== form) { + wp.hooks.doAction('frm_reset_fields_updated'); + form.submit(); + } + } +} +function closePopupButton() { + var a = document.createElement('a'); + a.setAttribute('href', '#'); + a.classList.add('button', 'button-secondary', 'frm-button-secondary', 'dismiss'); + a.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Not Now', 'formidable'); + return a; +} +function saveAndReloadFormBuilder() { + var submitButton = document.getElementById('frm_submit_side_top'); + if (submitButton.classList.contains('frm_submit_ajax')) { + submitButton.setAttribute('data-new-addon-installed', true); + } + submitButton.click(); +} + +/** + * Updates the upgrade modal to show successful addon installation state. + * + * @private + * @return {void} + */ +function showUpgradeModalSuccess() { + var upgradeModal = document.getElementById('frm_upgrade_modal'); + if (!upgradeModal) { + return; + } + upgradeModal.classList.add('frm-success'); + var upgradeMessage = upgradeModal.querySelector('.frm-upgrade-message'); + if (upgradeMessage) { + var image = upgradeMessage.querySelector('img'); + upgradeMessage.replaceChildren((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Great! Everything\'s ready to go!', 'formidable'), document.createElement('br'), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('You just need to refresh the builder so the new field becomes available.', 'formidable')); + if (image) { + upgradeMessage.append(image); + } + } + var frmAddonStatus = document.querySelector('.frm-addon-status'); + if (frmAddonStatus) { + frmAddonStatus.textContent = ''; + } + var circledIcon = upgradeModal.querySelector('.frm-circled-icon'); + if (circledIcon) { + var _circledIcon$querySel; + circledIcon.classList.add('frm-circled-icon-green'); + (_circledIcon$querySel = circledIcon.querySelector('svg')) === null || _circledIcon$querySel === void 0 || _circledIcon$querySel.replaceWith(svg({ + href: '#frm_checkmark_icon' + })); + } +} + +/***/ }), + +/***/ "./js/src/admin/upgrade-popup.js": +/*!***************************************!*\ + !*** ./js/src/admin/upgrade-popup.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addOneClick: () => (/* binding */ addOneClick), +/* harmony export */ initModal: () => (/* binding */ initModal), +/* harmony export */ initUpgradeModal: () => (/* binding */ initUpgradeModal) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); + +var _frmDom = frmDom, + svg = _frmDom.svg; +function getShowLinkHrefValue(link, showLink) { + var customLink = link.getAttribute('data-link'); + if (customLink === null || typeof customLink === 'undefined' || customLink === '') { + customLink = showLink.getAttribute('data-default'); + } + return customLink; +} + +/** + * Allow addons to be installed from the upgrade modal. + * + * @param {Element} link + * @param {string} context Either 'modal' or 'tab'. + * @param {string|undefined} upgradeLabel + */ +function addOneClick(link, context, upgradeLabel) { + var container; + if ('modal' === context) { + container = document.getElementById('frm_upgrade_modal'); + } else if ('tab' === context) { + container = document.getElementById(link.getAttribute('href').substr(1)); + } else { + return; + } + var oneclickMessage = container.querySelector('.frm-oneclick'); + var upgradeMessage = container.querySelector('.frm-upgrade-message'); + var showLink = container.querySelector('.frm-upgrade-link'); + var button = container.querySelector('.frm-oneclick-button'); + var addonStatus = container.querySelector('.frm-addon-status'); + var oneclick = link.getAttribute('data-oneclick'); + var newMessage = link.getAttribute('data-message'); + var showIt = 'block'; + var showMsg = 'block'; + var hideIt = 'none'; + var modalIconWrapper = container.querySelector('.frm-circled-icon'); + if (modalIconWrapper) { + var _modalIconWrapper$que; + modalIconWrapper.classList.remove('frm-circled-icon-green'); + (_modalIconWrapper$que = modalIconWrapper.querySelector('svg')) === null || _modalIconWrapper$que === void 0 || _modalIconWrapper$que.replaceWith(svg({ + href: '#frm_filled_lock_icon' + })); + } + var learnMoreLink = container.querySelector('.frm-learn-more'); + if (learnMoreLink) { + learnMoreLink.href = link.dataset.learnMore; + } + + // If one click upgrade, hide other content. + if (oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick) { + if (newMessage === null) { + showMsg = 'none'; + } + showIt = 'none'; + hideIt = 'block'; + oneclick = JSON.parse(oneclick); + button.className = button.className.replace(' frm-install-addon', '').replace(' frm-activate-addon', ''); + button.className = button.className + ' ' + oneclick.class; + button.rel = oneclick.url; + oneclickMessage.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('This plugin is not activated. Would you like to activate it now?', 'formidable'); + button.textContent = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Activate', 'formidable'); + var linkIcon = link.querySelector('use'); + if (linkIcon) { + modalIconWrapper === null || modalIconWrapper === void 0 || modalIconWrapper.querySelector('svg').replaceWith(svg({ + href: linkIcon.getAttribute('href') || linkIcon.getAttribute('xlink:href'), + // Get the icon from xlink:href if it has not been updated to use href + classList: ['frm_svg32'] + })); + } + } + if (!newMessage) { + newMessage = upgradeMessage.getAttribute('data-default'); + } + if (undefined !== upgradeLabel) { + newMessage = newMessage.replace('', upgradeLabel); + } + upgradeMessage.innerHTML = newMessage; + if (link.dataset.upsellImage) { + upgradeMessage.appendChild(frmDom.img({ + src: link.dataset.upsellImage, + alt: link.dataset.upgrade + })); + } + + // Either set the link or use the default. + showLink.href = getShowLinkHrefValue(link, showLink); + addonStatus.style.display = 'none'; + oneclickMessage.style.display = hideIt; + button.style.display = hideIt === 'block' ? 'inline-block' : hideIt; + upgradeMessage.style.display = showMsg; + showLink.style.display = showIt === 'block' ? 'inline-block' : showIt; + var showLinkParent = showLink.closest('.frm-upgrade-modal-actions'); + if (showLinkParent) { + showLinkParent.style.display = showIt === 'block' ? 'flex' : showIt; + } +} +function initModal(id, width) { + var $info = jQuery(id); + if (!$info.length) { + return false; + } + if (typeof width === 'undefined') { + width = '552px'; + } + var dialogArgs = { + dialogClass: 'frm-dialog', + modal: true, + autoOpen: false, + closeOnEscape: true, + width: width, + resizable: false, + draggable: false, + open: function open() { + jQuery('.ui-dialog-titlebar').addClass('frm_hidden').removeClass('ui-helper-clearfix'); + jQuery('#wpwrap').addClass('frm_overlay'); + jQuery('.frm-dialog').removeClass('ui-widget ui-widget-content ui-corner-all'); + $info.removeClass('ui-dialog-content ui-widget-content'); + bindClickForDialogClose($info); + }, + close: function close() { + jQuery('#wpwrap').removeClass('frm_overlay'); + jQuery('.spinner').css('visibility', 'hidden'); + this.removeAttribute('data-option-type'); + var optionType = document.getElementById('bulk-option-type'); + if (optionType) { + optionType.value = ''; + } + } + }; + $info.dialog(dialogArgs); + return $info; +} +function bindClickForDialogClose($modal) { + var closeModal = function closeModal() { + $modal.dialog('close'); + }; + jQuery('.ui-widget-overlay').on('click', closeModal); + $modal.on('click', 'a.dismiss', closeModal); +} +function initUpgradeModal() { + var $info = initModal('#frm_upgrade_modal'); + if ($info === false) { + return; + } + document.addEventListener('click', handleUpgradeClick); + frmDom.util.documentOn('change', 'select.frm_select_with_upgrade', handleUpgradeClick); + function handleUpgradeClick(event) { + var element, link, content; + element = event.target; + if (!element.classList) { + return; + } + var showExpiredModal = element.classList.contains('frm_show_expired_modal') || null !== element.querySelector('.frm_show_expired_modal') || element.closest('.frm_show_expired_modal'); + + // If a `select` element is clicked, check if the selected option has a 'data-upgrade' attribute + if (event.type === 'change' && element.classList.contains('frm_select_with_upgrade')) { + var selectedOption = element.options[element.selectedIndex]; + if (selectedOption && selectedOption.dataset.upgrade) { + element = selectedOption; + } + } + if (!element.dataset.upgrade) { + var parent = element.closest('[data-upgrade]'); + if (!parent) { + parent = element.closest('.frm_field_box'); + if (!parent) { + return; + } + // Fake it if it's missing to avoid error. + element.dataset.upgrade = ''; + } + element = parent; + } + if (showExpiredModal) { + var hookName = 'frm_show_expired_modal'; + wp.hooks.doAction(hookName, element); + return; + } + var upgradeLabel = element.dataset.upgrade; + if (!upgradeLabel || element.classList.contains('frm_show_upgrade_tab')) { + return; + } + event.preventDefault(); + var modal = $info.get(0); + var lockIcon = modal.querySelector('.frm_lock_icon'); + if (lockIcon) { + lockIcon.style.display = 'block'; + lockIcon.classList.remove('frm_lock_open_icon'); + lockIcon.querySelector('use').setAttribute('href', '#frm_lock_icon'); + } + var upgradeImageId = 'frm_upgrade_modal_image'; + var oldImage = document.getElementById(upgradeImageId); + if (oldImage) { + oldImage.remove(); + } + if (element.dataset.image) { + if (lockIcon) { + lockIcon.style.display = 'none'; + } + lockIcon.parentNode.insertBefore(frmDom.img({ + id: upgradeImageId, + src: frmGlobal.url + '/images/' + element.dataset.image + }), lockIcon); + } + var level = modal.querySelector('.license-level'); + if (level) { + level.textContent = getRequiredLicenseFromTrigger(element); + } + + // If one click upgrade, hide other content + addOneClick(element, 'modal', upgradeLabel); + modal.querySelector('.frm_are_not_installed').style.display = element.dataset.image || element.dataset.oneclick ? 'none' : 'inline-block'; + modal.querySelector('.frm-upgrade-modal-title-prefix').style.display = element.dataset.oneclick ? 'inline' : 'none'; + modal.querySelector('.frm_feature_label').textContent = upgradeLabel; + modal.querySelector('.frm-upgrade-modal-title-suffix').style.display = 'none'; + modal.querySelector('h2').style.display = 'block'; + $info.dialog('open'); + + // set the utm medium + var button = modal.querySelector('.button-primary:not(.frm-oneclick-button)'); + link = button.getAttribute('href').replace(/(medium=)[a-z_-]+/ig, '$1' + element.getAttribute('data-medium')); + content = element.getAttribute('data-content'); + if (content === null) { + content = ''; + } + link = link.replace(/(content=)[a-z_-]+/ig, '$1' + content); + button.setAttribute('href', link); + } +} +function getRequiredLicenseFromTrigger(element) { + if (element.dataset.requires) { + return element.dataset.requires; + } + return 'Pro'; +} + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _defineProperty) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPrimitive) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); + +function toPrimitive(t, r) { + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPropertyKey) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); + + +function toPropertyKey(t) { + var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); + return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _typeof) +/* harmony export */ }); +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +/*!************************************!*\ + !*** ./js/src/frm_testing_mode.js ***! + \************************************/ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +(function () { + var _require = __webpack_require__(/*! ./admin/addon-state */ "./js/src/admin/addon-state.js"), + toggleAddonState = _require.toggleAddonState; + function onReady() { + jQuery(document).on('click', '#frm_upgrade_modal .frm-install-addon', installAddon); + jQuery(document).on('click', '#frm_upgrade_modal .frm-activate-addon', activateAddon); + function activateAddon(e) { + e.preventDefault(); + toggleAddonState(this, 'frm_activate_addon'); + } + function installAddon(e) { + e.preventDefault(); + toggleAddonState(this, 'frm_install_addon'); + } + initUpgradeModal(); + setupBootstrapDropdowns(); + jQuery(document).on('mouseenter.frm', '.frm_help', function () { + jQuery(this).off('mouseenter.frm'); + jQuery(this).tooltip('show'); + }); + } + function initUpgradeModal() { + return _initUpgradeModal.apply(this, arguments); + } + function _initUpgradeModal() { + _initUpgradeModal = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var upgradePopup; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./admin/upgrade-popup */ "./js/src/admin/upgrade-popup.js")); + case 2: + upgradePopup = _context.sent; + upgradePopup.initUpgradeModal(); + case 4: + case "end": + return _context.stop(); + } + }, _callee); + })); + return _initUpgradeModal.apply(this, arguments); + } + function setupBootstrapDropdowns() { + var frmDom = window.frmDom; + frmDom.bootstrap.setupBootstrapDropdowns(function () { + var toggle = document.querySelector('#frm_testmode_enabled_form_actions .dropdown-toggle'); + if (toggle) { + toggle.classList.add('frm-dropdown-toggle'); + if (!toggle.hasAttribute('role')) { + toggle.setAttribute('role', 'button'); + } + if (!toggle.hasAttribute('tabindex')) { + toggle.setAttribute('tabindex', 0); + } + } + }); + var element = document.getElementById('frm_testmode_enabled_form_actions'); + if (element) { + element.style.display = 'none'; + frmDom.bootstrap.multiselect.init.bind(element)(); + if (element.disabled) { + element.parentElement.querySelector('.dropdown-toggle').classList.add('frm_noallow'); + } + } + } + if (document.readyState === 'complete') { + onReady(); + } else { + document.addEventListener('DOMContentLoaded', onReady); + } + document.addEventListener('frm_after_start_over', function () { + setupBootstrapDropdowns(); + }); + jQuery(document).on('frmPageChanged frmFormComplete', function () { + setupBootstrapDropdowns(); + }); +})(); +/******/ })() +; +//# sourceMappingURL=frm_testing_mode.js.map \ No newline at end of file diff --git a/js/onboarding-wizard.js b/js/onboarding-wizard.js index 1f42a71f67..e4e67278cb 100644 --- a/js/onboarding-wizard.js +++ b/js/onboarding-wizard.js @@ -1,2 +1,1898 @@ -/*! For license information please see onboarding-wizard.js.LICENSE.txt */ -(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},n=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):00&&void 0!==arguments[0]?arguments[0]:{};if("object"!==_(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==_(t)||null===t)throw new Error("setState: newState must be a non-null object");e=T(T({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({processedSteps:[],installedAddons:[]}),I=A.getState,D=(A.getSingleState,A.setState,A.setSingleState),C=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==j(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==j(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=g(g({},e),t)}}}({onboardingWizardPage:document.getElementById("".concat(E,"-wizard-page")),container:document.getElementById("".concat(E,"-container")),rootline:document.getElementById("".concat(E,"-rootline")),steps:document.querySelectorAll(".".concat(E,"-step")),skipStepButtons:document.querySelectorAll(".".concat(E,"-skip-step")),backButtons:document.querySelectorAll(".".concat(E,"-back-button")),consentTrackingButton:document.getElementById("".concat(E,"-consent-tracking")),installAddonsButton:document.getElementById("".concat(E,"-install-addons-button")),hiddenLicenseKeyInput:document.getElementById("frm-license-key")}),N=C.getElements;C.addElements;var U=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"pushState",o=document.querySelector(".".concat(E,'-step[data-step-name="').concat(t,'"]'));if(o){var i=document.querySelector(".".concat(E,"-step.").concat(S));i&&(i.classList.remove(S),null==(e=i)||e.classList.add(b)),o.classList.add(S),function(t){null==t||t.classList.remove(b)}(o),new r(o).fadeIn(),N().onboardingWizardPage.setAttribute("data-current-step",t),function(t,e){var n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"pushState";if(p.set(t,e),f.search=p.toString(),["pushState","replaceState"].includes(i)){var a=(n={},o=e,(r=function(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}(r=t))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n);window.history[i](a,"",f)}f.toString()}("step",t,n),function(t){t===P.UNSUCCESSFUL&&(t=P.SUCCESS);var e=N().rootline,n=e.querySelector('.frm-rootline-item[data-step="'.concat(t,'"]'));e.querySelectorAll(".frm-rootline-item").forEach(function(t){t.classList.remove(B),t.classList.remove(S)});var r=n.previousElementSibling;if(r)for(;r;)r.classList.add(B),r=r.previousElementSibling;t===P.SUCCESS?n.classList.add(B):n.classList.add(S)}(t)}},x=function(){var t=document.querySelector(".".concat(E,"-step.").concat(S)),e=null==t?void 0:t.nextElementSibling;if(e){var n=t.dataset.stepName,r=e.dataset.stepName,o=I().processedSteps;o.includes(n)||(o.push(n),D("processedSteps",o)),function(t,e){var n=function(t,e){var n;if(P.SUCCESS===e||P.UNSUCCESSFUL===e){var r=I().processedSteps;r.length>1&&(r.includes(e)||r.push(e),(n=new FormData).append("processed_steps",r.join(",")),n.append("completed_steps",!0))}if(P.INSTALL_ADDONS===t){var o=I().installedAddons;o.length>0&&(n=null!=n?n:new FormData).append("installed_addons",o.join(","))}return n}(t,e);n&&(0,frmDom.ajax.doJsonPost)("onboarding_setup_usage_data",n)}(n,r),U(r)}};var B="frm-completed-step",F=".frm-option-box";function G(t){"input"===t.target.tagName.toLowerCase()&&t.currentTarget.closest(F).classList.toggle("frm-checked")}var q=function(){x()};var z=function(){var t,e;(e=null==(t=document.querySelector(".".concat(E,"-step.").concat(S)))?void 0:t.previousElementSibling)&&U(e.dataset.stepName)};function R(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return J(l,"_invoke",function(n,r,o){var i,c,u,l=0,s=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,n){return i=e,c=0,u=t,p.n=n,a}};function d(n,r){for(c=n,u=r,e=0;!f&&l&&!o&&e3?(o=y===r)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=n<2&&dr||r>y)&&(i[4]=n,i[5]=r,p.n=y,c=0))}if(o||n>1)return a;throw f=!0,r}return function(o,s,y){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,y),c=s,u=y;(e=c<2?t:u)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?u:n.call(r,p))!==a)break}catch(e){i=t,c=1,u=e}finally{l=1}}return{value:e,done:f}}}(n,o,i),!0),l}var a={};function c(){}function u(){}function l(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(J(e={},r,function(){return this}),e),f=l.prototype=c.prototype=Object.create(s);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,J(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,J(f,"constructor",l),J(l,"constructor",u),u.displayName="GeneratorFunction",J(l,o,"GeneratorFunction"),J(f),J(f,o,"Generator"),J(f,r,function(){return this}),J(f,"toString",function(){return"[object Generator]"}),(R=function(){return{w:i,m:p}})()}function J(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}J=function(t,e,n,r){function i(e,n){J(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(i("next",0),i("throw",1),i("return",2))},J(t,e,n,r)}function M(t,e,n,r,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void n(t)}c.done?e(u):Promise.resolve(u).then(r,o)}var W=function(){var t,e=(t=R().m(function t(){return R().w(function(t){for(;;)switch(t.n){case 0:(0,frmDom.ajax.doJsonPost)("onboarding_consent_tracking",new FormData).then(x);case 1:return t.a(2)}},t)}),function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function a(t){M(i,r,o,a,c,"next",t)}function c(t){M(i,r,o,a,c,"throw",t)}a(void 0)})});return function(){return e.apply(this,arguments)}}();function K(t){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},K(t)}function V(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}throw new TypeError(K(t)+" is not iterable")}function $(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return H(l,"_invoke",function(n,r,o){var i,c,u,l=0,s=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,n){return i=e,c=0,u=t,p.n=n,a}};function d(n,r){for(c=n,u=r,e=0;!f&&l&&!o&&e3?(o=y===r)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=n<2&&dr||r>y)&&(i[4]=n,i[5]=r,p.n=y,c=0))}if(o||n>1)return a;throw f=!0,r}return function(o,s,y){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,y),c=s,u=y;(e=c<2?t:u)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?u:n.call(r,p))!==a)break}catch(e){i=t,c=1,u=e}finally{l=1}}return{value:e,done:f}}}(n,o,i),!0),l}var a={};function c(){}function u(){}function l(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(H(e={},r,function(){return this}),e),f=l.prototype=c.prototype=Object.create(s);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,H(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,H(f,"constructor",l),H(l,"constructor",u),u.displayName="GeneratorFunction",H(l,o,"GeneratorFunction"),H(f),H(f,o,"Generator"),H(f,r,function(){return this}),H(f,"toString",function(){return"[object Generator]"}),($=function(){return{w:i,m:p}})()}function H(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}H=function(t,e,n,r){function i(e,n){H(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(i("next",0),i("throw",1),i("return",2))},H(t,e,n,r)}function Q(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return X(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw i}}}}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/index.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/events/index.js": +/*!*************************************!*\ + !*** ./js/src/core/events/index.js ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addOptionBoxEvents: () => (/* reexport safe */ _optionBoxListener__WEBPACK_IMPORTED_MODULE_0__.addOptionBoxEvents) +/* harmony export */ }); +/* harmony import */ var _optionBoxListener__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./optionBoxListener */ "./js/src/core/events/optionBoxListener.js"); + + +/***/ }), + +/***/ "./js/src/core/events/optionBoxListener.js": +/*!*************************************************!*\ + !*** ./js/src/core/events/optionBoxListener.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addOptionBoxEvents: () => (/* binding */ addOptionBoxEvents) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + +var OPTION_BOX_CLASS = '.frm-option-box'; + +/** + * Manages event handling for an option-box. + * + * @return {void} + */ +function addOptionBoxEvents() { + var optionBoxes = document.querySelectorAll(OPTION_BOX_CLASS); + optionBoxes.forEach(function (optionBox) { + optionBox.addEventListener('click', onOptionBoxClick); + }); +} + +/** + * Handles the click event on a option box item. + * + * @private + * @param {Event} event The click event object. + */ +function onOptionBoxClick(event) { + if (event.target.tagName.toLowerCase() !== 'input') { + return; + } + var optionBox = event.currentTarget.closest(OPTION_BOX_CLASS); + optionBox.classList.toggle(core_constants__WEBPACK_IMPORTED_MODULE_0__.CHECKED_CLASS); +} + +/***/ }), + +/***/ "./js/src/core/factory/createPageElements.js": +/*!***************************************************!*\ + !*** ./js/src/core/factory/createPageElements.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* binding */ createPageElements) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page elements manager. + * + * @param {Object} [initialElements={}] An object containing initial DOM elements. + * @throws {Error} Throws an error if the `initialElements` is not an object. + * @return {Object} An object with methods to get and add elements. + */ +function createPageElements() { + var initialElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialElements) !== 'object' || initialElements === null) { + throw new Error('createPageElements: initialElements must be a non-null object'); + } + var elements = initialElements; + + /** + * Retrieve the initialized essential DOM elements. + * + * @return {Object} The initialized elements object. + */ + function getElements() { + return elements; + } + + /** + * Add new elements to the elements object. + * + * @param {Object} newElements An object containing new elements to be added. + * @throws {Error} Throws an error if the `newElements` is not a non-null object. + * @return {void} Updates the elements object by merging the new elements into it. + */ + function addElements(newElements) { + if (_typeof(newElements) !== 'object' || newElements === null) { + throw new Error('addElements: newElements must be a non-null object'); + } + elements = _objectSpread(_objectSpread({}, elements), newElements); + } + return { + getElements: getElements, + addElements: addElements + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/createPageState.js": +/*!************************************************!*\ + !*** ./js/src/core/factory/createPageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageState: () => (/* binding */ createPageState) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page state manager. + * + * @param {Object} [initialState={}] An object containing the initial state. + * @throws {Error} Throws an error if the `initialState` is not a plain object. + * @return {Object} An object with methods to initialize, get, and set the page state. + */ +function createPageState() { + var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialState) !== 'object' || initialState === null) { + throw new Error('createPageState: initialState must be a non-null object'); + } + var state = initialState; + + /** + * Returns the current page state. + * + * @return {Object|null} The current state of the page or null if not initialized. + */ + var getState = function getState() { + return state; + }; + + /** + * Returns a specific property from the current page state. + * + * @param {string} propertyName The name of the property to retrieve. + * @return {*} The value of the specified property, or null if it doesn't exist. + */ + var getSingleState = function getSingleState(propertyName) { + var value = Reflect.get(state, propertyName); + + // We convert `undefined` to `null` for a consistent API. + // This makes it easier for users to handle the results since all missing properties return `null`. + return value === undefined ? null : value; + }; + + /** + * Updates the page state with new values. + * + * @param {Object} newState The new values to update the state with. + * @throws {Error} Throws an error if `newState` is not a plain object. + * @return {void} + */ + var setState = function setState(newState) { + if (_typeof(newState) !== 'object' || newState === null) { + throw new Error('setState: newState must be a non-null object'); + } + state = _objectSpread(_objectSpread({}, state), newState); + }; + + /** + * Updates a specific property in the page state with a new value. + * + * @param {string} propertyName The name of the property to update. + * @param {*} value The new value to set for the property. + * @return {void} + */ + var setSingleState = function setSingleState(propertyName, value) { + if (Reflect.has(state, propertyName)) { + Reflect.set(state, propertyName, value); + } + }; + return { + getState: getState, + getSingleState: getSingleState, + setState: setState, + setSingleState: setSingleState + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/index.js": +/*!**************************************!*\ + !*** ./js/src/core/factory/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* reexport safe */ _createPageElements__WEBPACK_IMPORTED_MODULE_0__.createPageElements), +/* harmony export */ createPageState: () => (/* reexport safe */ _createPageState__WEBPACK_IMPORTED_MODULE_1__.createPageState) +/* harmony export */ }); +/* harmony import */ var _createPageElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPageElements */ "./js/src/core/factory/createPageElements.js"); +/* harmony import */ var _createPageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createPageState */ "./js/src/core/factory/createPageState.js"); + + + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/globalModules.js": +/*!********************************************!*\ + !*** ./js/src/core/utils/globalModules.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* binding */ a), +/* harmony export */ bold: () => (/* binding */ bold), +/* harmony export */ button: () => (/* binding */ button), +/* harmony export */ div: () => (/* binding */ div), +/* harmony export */ doJsonPost: () => (/* binding */ doJsonPost), +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ footerButton: () => (/* binding */ footerButton), +/* harmony export */ img: () => (/* binding */ img), +/* harmony export */ maybeCreateModal: () => (/* binding */ maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault), +/* harmony export */ p: () => (/* binding */ p), +/* harmony export */ span: () => (/* binding */ span), +/* harmony export */ svg: () => (/* binding */ svg), +/* harmony export */ tag: () => (/* binding */ tag) +/* harmony export */ }); +var _frmDom = frmDom, + div = _frmDom.div, + span = _frmDom.span, + tag = _frmDom.tag, + a = _frmDom.a, + img = _frmDom.img, + svg = _frmDom.svg; +var _frmDom$modal = frmDom.modal, + maybeCreateModal = _frmDom$modal.maybeCreateModal, + footerButton = _frmDom$modal.footerButton; +var _frmDom$util = frmDom.util, + onClickPreventDefault = _frmDom$util.onClickPreventDefault, + documentOn = _frmDom$util.documentOn; +var doJsonPost = frmDom.ajax.doJsonPost; +var p = function p(args) { + return tag('p', args); +}; +var bold = function bold(args) { + return tag('strong', args); +}; +var button = function button(args) { + return tag('button', args); +}; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.a), +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ bold: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.bold), +/* harmony export */ button: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.button), +/* harmony export */ div: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.div), +/* harmony export */ doJsonPost: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.doJsonPost), +/* harmony export */ documentOn: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ footerButton: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.footerButton), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ img: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.img), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ maybeCreateModal: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ p: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.p), +/* harmony export */ removeParamFromHistory: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError), +/* harmony export */ span: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.span), +/* harmony export */ svg: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.svg), +/* harmony export */ tag: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.tag) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _globalModules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globalModules */ "./js/src/core/utils/globalModules.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeParamFromHistory: () => (/* binding */ removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/** + * Removes a query parameter and updates history with replaceState. + * + * @param {string} paramName The query parameter to remove. + * @return {void} + */ +var removeParamFromHistory = function removeParamFromHistory(paramName) { + return history.replaceState({}, '', removeQueryParam(paramName)); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./js/src/onboarding-wizard/dataUtils/index.js": +/*!*****************************************************!*\ + !*** ./js/src/onboarding-wizard/dataUtils/index.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ setupUsageData: () => (/* reexport safe */ _setupUsageData__WEBPACK_IMPORTED_MODULE_0__["default"]) +/* harmony export */ }); +/* harmony import */ var _setupUsageData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setupUsageData */ "./js/src/onboarding-wizard/dataUtils/setupUsageData.js"); + + +/***/ }), + +/***/ "./js/src/onboarding-wizard/dataUtils/setupUsageData.js": +/*!**************************************************************!*\ + !*** ./js/src/onboarding-wizard/dataUtils/setupUsageData.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared */ "./js/src/onboarding-wizard/shared/index.js"); +/** + * Internal Dependencies + */ + + +/** + * Processes and submits usage data for the specified onboarding step. + * + * @param {string} processedStep The name of the step that has just been processed. + * @param {string} nextStepName The name of the next step in the onboarding process. + * @return {void} + */ +function setupUsageData(processedStep, nextStepName) { + var formData = processDataForStep(processedStep, nextStepName); + if (!formData) { + return; + } + + // Send the POST request + var doJsonPost = frmDom.ajax.doJsonPost; + doJsonPost('onboarding_setup_usage_data', formData); +} + +/** + * Processes onboarding step data and returns the corresponding FormData. + * + * @private + * @param {string} processedStep The name of the step that has just been processed. + * @param {string} nextStepName The name of the next step in the onboarding process. + * @return {FormData|null} The FormData to be submitted for the step, or null if there's no data. + */ +function processDataForStep(processedStep, nextStepName) { + var formData; + + // Append completed steps if moving to the success step + if (_shared__WEBPACK_IMPORTED_MODULE_0__.STEPS.SUCCESS === nextStepName || _shared__WEBPACK_IMPORTED_MODULE_0__.STEPS.UNSUCCESSFUL === nextStepName) { + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_0__.getState)(), + processedSteps = _getState.processedSteps; + if (processedSteps.length > 1) { + if (!processedSteps.includes(nextStepName)) { + processedSteps.push(nextStepName); + } + formData = new FormData(); + formData.append('processed_steps', processedSteps.join(',')); + formData.append('completed_steps', true); + } + } + + // Append installed addons for the addon installation step + if (_shared__WEBPACK_IMPORTED_MODULE_0__.STEPS.INSTALL_ADDONS === processedStep) { + var _getState2 = (0,_shared__WEBPACK_IMPORTED_MODULE_0__.getState)(), + installedAddons = _getState2.installedAddons; + if (installedAddons.length > 0) { + var _formData; + formData = (_formData = formData) !== null && _formData !== void 0 ? _formData : new FormData(); + formData.append('installed_addons', installedAddons.join(',')); + } + } + return formData; +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setupUsageData); + +/***/ }), + +/***/ "./js/src/onboarding-wizard/elements/elements.js": +/*!*******************************************************!*\ + !*** ./js/src/onboarding-wizard/elements/elements.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* binding */ addElements), +/* harmony export */ getElements: () => (/* binding */ getElements) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/onboarding-wizard/shared/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +var _createPageElements = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageElements)({ + onboardingWizardPage: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-wizard-page")), + container: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-container")), + rootline: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-rootline")), + steps: document.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-step")), + skipStepButtons: document.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-skip-step")), + backButtons: document.querySelectorAll(".".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-back-button")), + consentTrackingButton: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-consent-tracking")), + installAddonsButton: document.getElementById("".concat(_shared__WEBPACK_IMPORTED_MODULE_1__.PREFIX, "-install-addons-button")), + hiddenLicenseKeyInput: document.getElementById('frm-license-key') + }), + getElements = _createPageElements.getElements, + addElements = _createPageElements.addElements; + + +/***/ }), + +/***/ "./js/src/onboarding-wizard/elements/index.js": +/*!****************************************************!*\ + !*** ./js/src/onboarding-wizard/elements/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/onboarding-wizard/elements/elements.js"); + + +/***/ }), + +/***/ "./js/src/onboarding-wizard/events/backButtonListener.js": +/*!***************************************************************!*\ + !*** ./js/src/onboarding-wizard/events/backButtonListener.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/onboarding-wizard/elements/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./js/src/onboarding-wizard/utils/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Manages event handling for the "Back" button. + * + * @return {void} + */ +function addBackButtonEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + backButtons = _getElements.backButtons; + + // Attach click event listeners to each back buttons + backButtons.forEach(function (backButton) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(backButton, onBackButtonClick); + }); +} + +/** + * Handles the click event on a "Back" button. + * + * @private + * @return {void} + */ +var onBackButtonClick = function onBackButtonClick() { + (0,_utils__WEBPACK_IMPORTED_MODULE_2__.navigateToPrevStep)(); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addBackButtonEvents); + +/***/ }), + +/***/ "./js/src/onboarding-wizard/events/consentTrackingButtonListener.js": +/*!**************************************************************************!*\ + !*** ./js/src/onboarding-wizard/events/consentTrackingButtonListener.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/onboarding-wizard/elements/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./js/src/onboarding-wizard/utils/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Manages event handling for the "Allow & Continue" button in the "Never miss an important update" step. + * + * @return {void} + */ +function addConsentTrackingButtonEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + consentTrackingButton = _getElements.consentTrackingButton; + + // Attach click event listener + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(consentTrackingButton, onConsentTrackingButtonClick); +} + +/** + * Handles the click event on the "Allow & Continue" button in the "Never miss an important update" step. + * + * @private + * @return {void} + */ +var onConsentTrackingButtonClick = /*#__PURE__*/function () { + var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var doJsonPost; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + doJsonPost = frmDom.ajax.doJsonPost; + doJsonPost('onboarding_consent_tracking', new FormData()).then(_utils__WEBPACK_IMPORTED_MODULE_2__.navigateToNextStep); + case 2: + case "end": + return _context.stop(); + } + }, _callee); + })); + return function onConsentTrackingButtonClick() { + return _ref.apply(this, arguments); + }; +}(); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addConsentTrackingButtonEvents); + +/***/ }), + +/***/ "./js/src/onboarding-wizard/events/index.js": +/*!**************************************************!*\ + !*** ./js/src/onboarding-wizard/events/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var core_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/events */ "./js/src/core/events/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _skipStepButtonListener__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./skipStepButtonListener */ "./js/src/onboarding-wizard/events/skipStepButtonListener.js"); +/* harmony import */ var _backButtonListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./backButtonListener */ "./js/src/onboarding-wizard/events/backButtonListener.js"); +/* harmony import */ var _consentTrackingButtonListener__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./consentTrackingButtonListener */ "./js/src/onboarding-wizard/events/consentTrackingButtonListener.js"); +/* harmony import */ var _installAddonsButtonListener__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./installAddonsButtonListener */ "./js/src/onboarding-wizard/events/installAddonsButtonListener.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ "./js/src/onboarding-wizard/utils/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + +/** + * Attaches event listeners for handling user interactions. + * + * @return {void} + */ +function addEventListeners() { + // Add event handling for the "Skip" and "Back" buttons + (0,_skipStepButtonListener__WEBPACK_IMPORTED_MODULE_2__["default"])(); + (0,_backButtonListener__WEBPACK_IMPORTED_MODULE_3__["default"])(); + (0,_consentTrackingButtonListener__WEBPACK_IMPORTED_MODULE_4__["default"])(); + + // Add event handling for the "Install & Finish Setup" button in the "Install Formidable Add-ons" step + (0,_installAddonsButtonListener__WEBPACK_IMPORTED_MODULE_5__["default"])(); + // Add event handling for an option-box + (0,core_events__WEBPACK_IMPORTED_MODULE_0__.addOptionBoxEvents)(); +} + +/** + * Responds to browser navigation events (back/forward) by updating the UI to match the step indicated in the URL or history state. + * + * @param {PopStateEvent} event The event object associated with the navigation action. + * @return {void} + */ +window.addEventListener('popstate', function (event) { + var _event$state; + var stepName = ((_event$state = event.state) === null || _event$state === void 0 ? void 0 : _event$state.step) || (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.getQueryParam)('step'); + // Navigate to the specified step without adding to browser history + (0,_utils__WEBPACK_IMPORTED_MODULE_6__.navigateToStep)(stepName, 'replaceState'); +}); + +/***/ }), + +/***/ "./js/src/onboarding-wizard/events/installAddonsButtonListener.js": +/*!************************************************************************!*\ + !*** ./js/src/onboarding-wizard/events/installAddonsButtonListener.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../elements */ "./js/src/onboarding-wizard/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/onboarding-wizard/shared/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./js/src/onboarding-wizard/utils/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +/** + * Manages event handling for the "Install & Finish Setup" button in the "Install Formidable Add-ons" step. + * + * @return {void} + */ +function addInstallAddonsButtonEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)(), + installAddonsButton = _getElements.installAddonsButton; + + // Attach click event listener + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.onClickPreventDefault)(installAddonsButton, onInstallAddonsButtonClick); +} + +/** + * Handles the click event on the "Install & Finish Setup" button in the "Install Formidable Add-ons" step. + * + * @private + * @param {Event} event The click event object. + * @return {void} + */ +var onInstallAddonsButtonClick = /*#__PURE__*/function () { + var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) { + var addons, _getState, installedAddons, installAddonsButton, _iterator, _step, _loop; + return _regeneratorRuntime().wrap(function _callee$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + addons = document.querySelectorAll('.frm-option-box.frm-checked:not(.frm-disabled)'); + _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_3__.getState)(), installedAddons = _getState.installedAddons; + installAddonsButton = event.currentTarget; + installAddonsButton.classList.add('frm_loading_button'); + _iterator = _createForOfIteratorHelper(addons); + _context2.prev = 5; + _loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() { + var addon, addonTitle; + return _regeneratorRuntime().wrap(function _loop$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + addon = _step.value; + _context.prev = 1; + _context.next = 4; + return (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue)(function () { + return installAddon(addon.getAttribute('rel'), addon.dataset); + }); + case 4: + // Capture addon title + addonTitle = addon.dataset.title; + if (!installedAddons.includes(addonTitle)) { + installedAddons.push(addonTitle); + } + _context.next = 11; + break; + case 8: + _context.prev = 8; + _context.t0 = _context["catch"](1); + console.error('An error occurred:', _context.t0); + case 11: + case "end": + return _context.stop(); + } + }, _loop, null, [[1, 8]]); + }); + _iterator.s(); + case 8: + if ((_step = _iterator.n()).done) { + _context2.next = 12; + break; + } + return _context2.delegateYield(_loop(), "t0", 10); + case 10: + _context2.next = 8; + break; + case 12: + _context2.next = 17; + break; + case 14: + _context2.prev = 14; + _context2.t1 = _context2["catch"](5); + _iterator.e(_context2.t1); + case 17: + _context2.prev = 17; + _iterator.f(); + return _context2.finish(17); + case 20: + installAddonsButton.classList.remove('frm_loading_button'); + (0,_shared__WEBPACK_IMPORTED_MODULE_3__.setSingleState)('installedAddons', installedAddons); + (0,_utils__WEBPACK_IMPORTED_MODULE_4__.navigateToNextStep)(); + case 23: + case "end": + return _context2.stop(); + } + }, _callee, null, [[5, 14, 17, 20]]); + })); + return function onInstallAddonsButtonClick(_x) { + return _ref.apply(this, arguments); + }; +}(); + +/** + * Installs an add-on or plugin based on the provided plugin name and vendor status. + * + * @private + * @param {string} plugin The unique identifier or name of the plugin or add-on to be installed. + * @param {Object} options An object containing additional options for the installation. + * @param {boolean} options.isInstalled Indicates whether the plugin is already installed. + * @param {boolean} options.isVendor Indicates whether the plugin is a vendor plugin (true) or a regular add-on (false). + * @return {Promise} A promise that resolves with the JSON response from the server after the installation request is completed. + */ +function installAddon(_x2, _x3) { + return _installAddon.apply(this, arguments); +} +function _installAddon() { + _installAddon = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(plugin, _ref2) { + var isVendor, isInstalled, formData, addonAction, response; + return _regeneratorRuntime().wrap(function _callee2$(_context3) { + while (1) switch (_context3.prev = _context3.next) { + case 0: + isVendor = _ref2.isVendor, isInstalled = _ref2.isInstalled; + // Prepare FormData for the POST request + formData = new FormData(); + formData.append('nonce', core_constants__WEBPACK_IMPORTED_MODULE_0__.nonce); + formData.append('plugin', plugin); + addonAction = isInstalled ? 'frm_activate_addon' : 'frm_install_addon'; + formData.append('action', isVendor ? 'frm_install_plugin' : addonAction); + _context3.prev = 6; + _context3.next = 9; + return fetch(ajaxurl, { + method: 'POST', + body: formData + }); + case 9: + response = _context3.sent; + if (response.ok) { + _context3.next = 12; + break; + } + throw new Error("Server responded with status ".concat(response.status)); + case 12: + _context3.next = 14; + return response.json(); + case 14: + return _context3.abrupt("return", _context3.sent); + case 17: + _context3.prev = 17; + _context3.t0 = _context3["catch"](6); + console.error('An error occurred:', _context3.t0); + case 20: + case "end": + return _context3.stop(); + } + }, _callee2, null, [[6, 17]]); + })); + return _installAddon.apply(this, arguments); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addInstallAddonsButtonEvents); + +/***/ }), + +/***/ "./js/src/onboarding-wizard/events/skipStepButtonListener.js": +/*!*******************************************************************!*\ + !*** ./js/src/onboarding-wizard/events/skipStepButtonListener.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/onboarding-wizard/elements/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./js/src/onboarding-wizard/utils/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Manages event handling for the "Skip" step button. + * + * @return {void} + */ +function addSkipStepButtonEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + skipStepButtons = _getElements.skipStepButtons; + + // Attach click event listeners to each skip buttons + skipStepButtons.forEach(function (skipButton) { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(skipButton, onSkipStepButtonClick); + }); +} + +/** + * Handles the click event on a "Skip" step button. + * + * @private + * @return {void} + */ +var onSkipStepButtonClick = function onSkipStepButtonClick() { + (0,_utils__WEBPACK_IMPORTED_MODULE_2__.navigateToNextStep)(); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addSkipStepButtonEvents); + +/***/ }), + +/***/ "./js/src/onboarding-wizard/initializeOnboardingWizard.js": +/*!****************************************************************!*\ + !*** ./js/src/onboarding-wizard/initializeOnboardingWizard.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./js/src/onboarding-wizard/ui/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events */ "./js/src/onboarding-wizard/events/index.js"); +/** + * Internal dependencies + */ + + + +/** + * Initializes Onboarding Wizard. + * + * @return {void} + */ +function initializeOnboardingWizard() { + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.setupInitialView)(); + (0,_events__WEBPACK_IMPORTED_MODULE_1__.addEventListeners)(); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initializeOnboardingWizard); + +/***/ }), + +/***/ "./js/src/onboarding-wizard/shared/constants.js": +/*!******************************************************!*\ + !*** ./js/src/onboarding-wizard/shared/constants.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ INITIAL_STEP: () => (/* binding */ INITIAL_STEP), +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ STEPS: () => (/* binding */ STEPS) +/* harmony export */ }); +var INITIAL_STEP = window.frmOnboardingWizardVars.INITIAL_STEP; + +var PREFIX = 'frm-onboarding'; +var STEPS = { + INITIAL: INITIAL_STEP, + INSTALL_ADDONS: 'install-addons', + SUCCESS: 'success', + UNSUCCESSFUL: 'unsuccessful' +}; + +/***/ }), + +/***/ "./js/src/onboarding-wizard/shared/index.js": +/*!**************************************************!*\ + !*** ./js/src/onboarding-wizard/shared/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ INITIAL_STEP: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.INITIAL_STEP), +/* harmony export */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ STEPS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.STEPS), +/* harmony export */ getSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.getSingleState), +/* harmony export */ getState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.getState), +/* harmony export */ setSingleState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.setSingleState), +/* harmony export */ setState: () => (/* reexport safe */ _pageState__WEBPACK_IMPORTED_MODULE_1__.setState) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/onboarding-wizard/shared/constants.js"); +/* harmony import */ var _pageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pageState */ "./js/src/onboarding-wizard/shared/pageState.js"); + + + +/***/ }), + +/***/ "./js/src/onboarding-wizard/shared/pageState.js": +/*!******************************************************!*\ + !*** ./js/src/onboarding-wizard/shared/pageState.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getSingleState: () => (/* binding */ getSingleState), +/* harmony export */ getState: () => (/* binding */ getState), +/* harmony export */ setSingleState: () => (/* binding */ setSingleState), +/* harmony export */ setState: () => (/* binding */ setState) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/** + * External dependencies + */ + +var _createPageState = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageState)({ + processedSteps: [], + installedAddons: [] + }), + getState = _createPageState.getState, + getSingleState = _createPageState.getSingleState, + setState = _createPageState.setState, + setSingleState = _createPageState.setSingleState; + + +/***/ }), + +/***/ "./js/src/onboarding-wizard/ui/index.js": +/*!**********************************************!*\ + !*** ./js/src/onboarding-wizard/ui/index.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ setupInitialView: () => (/* reexport safe */ _setupInitialView__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ updateRootline: () => (/* reexport safe */ _rootline__WEBPACK_IMPORTED_MODULE_1__.updateRootline) +/* harmony export */ }); +/* harmony import */ var _setupInitialView__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setupInitialView */ "./js/src/onboarding-wizard/ui/setupInitialView.js"); +/* harmony import */ var _rootline__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rootline */ "./js/src/onboarding-wizard/ui/rootline.js"); + + + +/***/ }), + +/***/ "./js/src/onboarding-wizard/ui/rootline.js": +/*!*************************************************!*\ + !*** ./js/src/onboarding-wizard/ui/rootline.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ updateRootline: () => (/* binding */ updateRootline) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/onboarding-wizard/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/onboarding-wizard/shared/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + +var COMPLETED_STEP_CLASS = 'frm-completed-step'; + +/** + * Updates the rootline to reflect the current and completed steps. + * + * - Applies COMPLETED_STEP_CLASS to steps before the current one. + * - Applies CURRENT_CLASS to the current step, unless it is the success step. + * + * @param {string} currentStep The current step in the process. + * @return {void} + */ +function updateRootline(currentStep) { + if (currentStep === _shared__WEBPACK_IMPORTED_MODULE_2__.STEPS.UNSUCCESSFUL) { + currentStep = _shared__WEBPACK_IMPORTED_MODULE_2__.STEPS.SUCCESS; + } + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + rootline = _getElements.rootline; + var currentItem = rootline.querySelector(".frm-rootline-item[data-step=\"".concat(currentStep, "\"]")); + rootline.querySelectorAll('.frm-rootline-item').forEach(function (item) { + item.classList.remove(COMPLETED_STEP_CLASS); + item.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + }); + var prevItem = currentItem.previousElementSibling; + if (prevItem) { + while (prevItem) { + prevItem.classList.add(COMPLETED_STEP_CLASS); + prevItem = prevItem.previousElementSibling; // move to the previous sibling + } + } + if (currentStep === _shared__WEBPACK_IMPORTED_MODULE_2__.STEPS.SUCCESS) { + currentItem.classList.add(COMPLETED_STEP_CLASS); + } else { + currentItem.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + } +} + +/***/ }), + +/***/ "./js/src/onboarding-wizard/ui/setupInitialView.js": +/*!*********************************************************!*\ + !*** ./js/src/onboarding-wizard/ui/setupInitialView.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ setupInitialView) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/onboarding-wizard/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared */ "./js/src/onboarding-wizard/shared/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./js/src/onboarding-wizard/utils/index.js"); +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Initializes the onboarding wizard's UI, sets up the initial step based on certain conditions, + * and applies necessary UI enhancements for a smoother user experience. + * + * @return {void} + */ +function setupInitialView() { + navigateToInitialStep(); + fadeInPageElements(); +} + +/** + * Determines the initial step in the onboarding process and navigates to it, considering the installation + * status of Formidable Pro and specific query parameters. + * + * @private + * @return {void} + */ +function navigateToInitialStep() { + var initialStepName = determineInitialStep(); + clearOnboardingQueryParams(); + (0,_utils__WEBPACK_IMPORTED_MODULE_3__.navigateToStep)(initialStepName, 'replaceState'); +} + +/** + * Determines the initial step based on the current state, such as whether Formidable Pro is installed + * and the presence of specific query parameters. Also handles the removal of unnecessary steps. + * + * @private + * @return {string} The name of the initial step to navigate to. + */ +function determineInitialStep() { + var isConnectedAccount = (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.getQueryParam)('success'); + if (isConnectedAccount === '0') { + return _shared__WEBPACK_IMPORTED_MODULE_2__.STEPS.UNSUCCESSFUL; + } + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + hiddenLicenseKeyInput = _getElements.hiddenLicenseKeyInput; + if (hiddenLicenseKeyInput || isConnectedAccount) { + return _shared__WEBPACK_IMPORTED_MODULE_2__.STEPS.INSTALL_ADDONS; + } + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.getQueryParam)('step') || _shared__WEBPACK_IMPORTED_MODULE_2__.STEPS.INITIAL; +} + +/** + * Clears specific query parameters related to the onboarding process. + * + * @private + * @return {void} + */ +function clearOnboardingQueryParams() { + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.removeQueryParam)('key'); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.removeQueryParam)('success'); +} + +/** + * Smoothly fades in the background and container elements of the page for a more pleasant user experience. + * + * @private + * @return {void} + */ +function fadeInPageElements() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + container = _getElements2.container; + new core_utils__WEBPACK_IMPORTED_MODULE_0__.frmAnimate(container).fadeIn(); +} + +/***/ }), + +/***/ "./js/src/onboarding-wizard/utils/index.js": +/*!*************************************************!*\ + !*** ./js/src/onboarding-wizard/utils/index.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ navigateToNextStep: () => (/* reexport safe */ _navigateToStep__WEBPACK_IMPORTED_MODULE_0__.navigateToNextStep), +/* harmony export */ navigateToPrevStep: () => (/* reexport safe */ _navigateToStep__WEBPACK_IMPORTED_MODULE_0__.navigateToPrevStep), +/* harmony export */ navigateToStep: () => (/* reexport safe */ _navigateToStep__WEBPACK_IMPORTED_MODULE_0__.navigateToStep) +/* harmony export */ }); +/* harmony import */ var _navigateToStep__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./navigateToStep */ "./js/src/onboarding-wizard/utils/navigateToStep.js"); + + +/***/ }), + +/***/ "./js/src/onboarding-wizard/utils/navigateToStep.js": +/*!**********************************************************!*\ + !*** ./js/src/onboarding-wizard/utils/navigateToStep.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ navigateToNextStep: () => (/* binding */ navigateToNextStep), +/* harmony export */ navigateToPrevStep: () => (/* binding */ navigateToPrevStep), +/* harmony export */ navigateToStep: () => (/* binding */ navigateToStep) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _dataUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dataUtils */ "./js/src/onboarding-wizard/dataUtils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elements */ "./js/src/onboarding-wizard/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared */ "./js/src/onboarding-wizard/shared/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ui */ "./js/src/onboarding-wizard/ui/index.js"); +/** + * External dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + +/** + * Navigates to the given step in the onboarding sequence. + * Optionally updates the browser's history state to include the current step. + * + * @param {string} stepName The name of the step to navigate to. + * @param {string} [updateMethod='pushState'] Specifies the method to update the browser's history and URL. Accepts 'pushState' or 'replaceState'. If omitted, defaults to 'pushState'. + * @return {void} + */ +var navigateToStep = function navigateToStep(stepName) { + var updateMethod = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'pushState'; + // Find the target step element + var targetStep = document.querySelector(".".concat(_shared__WEBPACK_IMPORTED_MODULE_4__.PREFIX, "-step[data-step-name=\"").concat(stepName, "\"]")); + if (!targetStep) { + return; + } + + // Find and hide the current step element + var currentStep = document.querySelector(".".concat(_shared__WEBPACK_IMPORTED_MODULE_4__.PREFIX, "-step.").concat(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS)); + if (currentStep) { + currentStep.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.hide)(currentStep); + } + + // Display the target step element + targetStep.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS); + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.show)(targetStep); + new core_utils__WEBPACK_IMPORTED_MODULE_1__.frmAnimate(targetStep).fadeIn(); + + // Update the onboarding wizard's current step attribute + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_3__.getElements)(), + onboardingWizardPage = _getElements.onboardingWizardPage; + onboardingWizardPage.setAttribute('data-current-step', stepName); + + // Update the URL query parameter, with control over history update method + (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.setQueryParam)('step', stepName, updateMethod); + (0,_ui__WEBPACK_IMPORTED_MODULE_5__.updateRootline)(stepName); +}; + +/** + * Navigates to the next step in the sequence. + * + * The function assumes steps are sequentially ordered in the DOM. + * + * @return {void} + */ +var navigateToNextStep = function navigateToNextStep() { + var currentStep = document.querySelector(".".concat(_shared__WEBPACK_IMPORTED_MODULE_4__.PREFIX, "-step.").concat(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS)); + var nextStep = currentStep === null || currentStep === void 0 ? void 0 : currentStep.nextElementSibling; + if (!nextStep) { + return; + } + var processedStep = currentStep.dataset.stepName; + var nextStepName = nextStep.dataset.stepName; + + // Save processed steps + var _getState = (0,_shared__WEBPACK_IMPORTED_MODULE_4__.getState)(), + processedSteps = _getState.processedSteps; + if (!processedSteps.includes(processedStep)) { + processedSteps.push(processedStep); + (0,_shared__WEBPACK_IMPORTED_MODULE_4__.setSingleState)('processedSteps', processedSteps); + } + (0,_dataUtils__WEBPACK_IMPORTED_MODULE_2__.setupUsageData)(processedStep, nextStepName); + navigateToStep(nextStepName); +}; + +/** + * Navigates to the previous step in the sequence. + * + * The function assumes steps are sequentially ordered in the DOM. + * + * @return {void} + */ +var navigateToPrevStep = function navigateToPrevStep() { + var currentStep = document.querySelector(".".concat(_shared__WEBPACK_IMPORTED_MODULE_4__.PREFIX, "-step.").concat(core_constants__WEBPACK_IMPORTED_MODULE_0__.CURRENT_CLASS)); + var prevStep = currentStep === null || currentStep === void 0 ? void 0 : currentStep.previousElementSibling; + if (!prevStep) { + return; + } + navigateToStep(prevStep.dataset.stepName); +}; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +/*!*******************************************!*\ + !*** ./js/src/onboarding-wizard/index.js ***! + \*******************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _initializeOnboardingWizard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./initializeOnboardingWizard */ "./js/src/onboarding-wizard/initializeOnboardingWizard.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_1__["default"])(function () { + (0,_initializeOnboardingWizard__WEBPACK_IMPORTED_MODULE_0__["default"])(); +}); +/******/ })() +; +//# sourceMappingURL=onboarding-wizard.js.map \ No newline at end of file diff --git a/js/onboarding-wizard.js.map b/js/onboarding-wizard.js.map index d90b5b022f..9c3207af2d 100644 --- a/js/onboarding-wizard.js.map +++ b/js/onboarding-wizard.js.map @@ -1 +1 @@ -{"version":3,"file":"onboarding-wizard.js","mappings":"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","sources":["webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/events/index.js","webpack://formidable/./js/src/core/events/optionBoxListener.js","webpack://formidable/./js/src/core/factory/createPageElements.js","webpack://formidable/./js/src/core/factory/createPageState.js","webpack://formidable/./js/src/core/factory/index.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/onboarding-wizard/dataUtils/index.js","webpack://formidable/./js/src/onboarding-wizard/dataUtils/setupUsageData.js","webpack://formidable/./js/src/onboarding-wizard/elements/elements.js","webpack://formidable/./js/src/onboarding-wizard/elements/index.js","webpack://formidable/./js/src/onboarding-wizard/events/backButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/events/consentTrackingButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/events/index.js","webpack://formidable/./js/src/onboarding-wizard/events/installAddonsButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/events/skipStepButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/initializeOnboardingWizard.js","webpack://formidable/./js/src/onboarding-wizard/shared/constants.js","webpack://formidable/./js/src/onboarding-wizard/shared/index.js","webpack://formidable/./js/src/onboarding-wizard/shared/pageState.js","webpack://formidable/./js/src/onboarding-wizard/ui/index.js","webpack://formidable/./js/src/onboarding-wizard/ui/rootline.js","webpack://formidable/./js/src/onboarding-wizard/ui/setupInitialView.js","webpack://formidable/./js/src/onboarding-wizard/utils/index.js","webpack://formidable/./js/src/onboarding-wizard/utils/navigateToStep.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/onboarding-wizard/index.js"],"sourcesContent":["/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export * from './optionBoxListener';\n","/**\n * Internal dependencies\n */\nimport { CHECKED_CLASS } from 'core/constants';\n\nconst OPTION_BOX_CLASS = '.frm-option-box';\n\n/**\n * Manages event handling for an option-box.\n *\n * @return {void}\n */\nexport function addOptionBoxEvents() {\n\tconst optionBoxes = document.querySelectorAll( OPTION_BOX_CLASS );\n\n\toptionBoxes.forEach( optionBox => {\n\t\toptionBox.addEventListener( 'click', onOptionBoxClick );\n\t} );\n}\n\n/**\n * Handles the click event on a option box item.\n *\n * @private\n * @param {Event} event The click event object.\n */\nfunction onOptionBoxClick( event ) {\n\tif ( event.target.tagName.toLowerCase() !== 'input' ) {\n\t\treturn;\n\t}\n\n\tconst optionBox = event.currentTarget.closest( OPTION_BOX_CLASS );\n\toptionBox.classList.toggle( CHECKED_CLASS );\n}\n","/**\n * Creates a page elements manager.\n *\n * @param {Object} [initialElements={}] An object containing initial DOM elements.\n * @throws {Error} Throws an error if the `initialElements` is not an object.\n * @return {Object} An object with methods to get and add elements.\n */\nexport function createPageElements( initialElements = {} ) {\n\tif ( typeof initialElements !== 'object' || initialElements === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageElements: initialElements must be a non-null object'\n\t\t);\n\t}\n\n\tlet elements = initialElements;\n\n\t/**\n\t * Retrieve the initialized essential DOM elements.\n\t *\n\t * @return {Object} The initialized elements object.\n\t */\n\tfunction getElements() {\n\t\treturn elements;\n\t}\n\n\t/**\n\t * Add new elements to the elements object.\n\t *\n\t * @param {Object} newElements An object containing new elements to be added.\n\t * @throws {Error} Throws an error if the `newElements` is not a non-null object.\n\t * @return {void} Updates the elements object by merging the new elements into it.\n\t */\n\tfunction addElements( newElements ) {\n\t\tif ( typeof newElements !== 'object' || newElements === null ) {\n\t\t\tthrow new Error(\n\t\t\t\t'addElements: newElements must be a non-null object'\n\t\t\t);\n\t\t}\n\n\t\telements = { ...elements, ...newElements };\n\t}\n\n\treturn { getElements, addElements };\n}\n","/**\n * Creates a page state manager.\n *\n * @param {Object} [initialState={}] An object containing the initial state.\n * @throws {Error} Throws an error if the `initialState` is not a plain object.\n * @return {Object} An object with methods to initialize, get, and set the page state.\n */\nexport function createPageState( initialState = {} ) {\n\tif ( typeof initialState !== 'object' || initialState === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageState: initialState must be a non-null object'\n\t\t);\n\t}\n\n\tlet state = initialState;\n\n\t/**\n\t * Returns the current page state.\n\t *\n\t * @return {Object|null} The current state of the page or null if not initialized.\n\t */\n\tconst getState = () => state;\n\n\t/**\n\t * Returns a specific property from the current page state.\n\t *\n\t * @param {string} propertyName The name of the property to retrieve.\n\t * @return {*} The value of the specified property, or null if it doesn't exist.\n\t */\n\tconst getSingleState = propertyName => {\n\t\tconst value = Reflect.get( state, propertyName );\n\n\t\t// We convert `undefined` to `null` for a consistent API.\n\t\t// This makes it easier for users to handle the results since all missing properties return `null`.\n\t\treturn value === undefined ? null : value;\n\t};\n\n\t/**\n\t * Updates the page state with new values.\n\t *\n\t * @param {Object} newState The new values to update the state with.\n\t * @throws {Error} Throws an error if `newState` is not a plain object.\n\t * @return {void}\n\t */\n\tconst setState = newState => {\n\t\tif ( typeof newState !== 'object' || newState === null ) {\n\t\t\tthrow new Error( 'setState: newState must be a non-null object' );\n\t\t}\n\n\t\tstate = { ...state, ...newState };\n\t};\n\n\t/**\n\t * Updates a specific property in the page state with a new value.\n\t *\n\t * @param {string} propertyName The name of the property to update.\n\t * @param {*} value The new value to set for the property.\n\t * @return {void}\n\t */\n\tconst setSingleState = ( propertyName, value ) => {\n\t\tif ( Reflect.has( state, propertyName ) ) {\n\t\t\tReflect.set( state, propertyName, value );\n\t\t}\n\t};\n\n\treturn { getState, getSingleState, setState, setSingleState };\n}\n","export * from './createPageElements';\nexport * from './createPageState';\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","export { default as setupUsageData } from './setupUsageData';\n","/**\n * Internal Dependencies\n */\nimport { getState, STEPS } from '../shared';\n\n/**\n * Processes and submits usage data for the specified onboarding step.\n *\n * @param {string} processedStep The name of the step that has just been processed.\n * @param {string} nextStepName The name of the next step in the onboarding process.\n * @return {void}\n */\nfunction setupUsageData( processedStep, nextStepName ) {\n\tconst formData = processDataForStep( processedStep, nextStepName );\n\tif ( ! formData ) {\n\t\treturn;\n\t}\n\n\t// Send the POST request\n\tconst { doJsonPost } = frmDom.ajax;\n\tdoJsonPost( 'onboarding_setup_usage_data', formData );\n}\n\n/**\n * Processes onboarding step data and returns the corresponding FormData.\n *\n * @private\n * @param {string} processedStep The name of the step that has just been processed.\n * @param {string} nextStepName The name of the next step in the onboarding process.\n * @return {FormData|null} The FormData to be submitted for the step, or null if there's no data.\n */\nfunction processDataForStep( processedStep, nextStepName ) {\n\tlet formData;\n\n\t// Append completed steps if moving to the success step\n\tif ( STEPS.SUCCESS === nextStepName || STEPS.UNSUCCESSFUL === nextStepName ) {\n\t\tconst { processedSteps } = getState();\n\n\t\tif ( processedSteps.length > 1 ) {\n\t\t\tif ( ! processedSteps.includes( nextStepName ) ) {\n\t\t\t\tprocessedSteps.push( nextStepName );\n\t\t\t}\n\n\t\t\tformData = new FormData();\n\t\t\tformData.append( 'processed_steps', processedSteps.join( ',' ) );\n\t\t\tformData.append( 'completed_steps', true );\n\t\t}\n\t}\n\n\t// Append installed addons for the addon installation step\n\tif ( STEPS.INSTALL_ADDONS === processedStep ) {\n\t\tconst { installedAddons } = getState();\n\n\t\tif ( installedAddons.length > 0 ) {\n\t\t\tformData = formData ?? new FormData();\n\t\t\tformData.append( 'installed_addons', installedAddons.join( ',' ) );\n\t\t}\n\t}\n\n\treturn formData;\n}\n\nexport default setupUsageData;\n","/**\n * External dependencies\n */\nimport { createPageElements } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX } from '../shared';\n\nexport const { getElements, addElements } = createPageElements( {\n\tonboardingWizardPage: document.getElementById( `${ PREFIX }-wizard-page` ),\n\tcontainer: document.getElementById( `${ PREFIX }-container` ),\n\n\trootline: document.getElementById( `${ PREFIX }-rootline` ),\n\tsteps: document.querySelectorAll( `.${ PREFIX }-step` ),\n\tskipStepButtons: document.querySelectorAll( `.${ PREFIX }-skip-step` ),\n\tbackButtons: document.querySelectorAll( `.${ PREFIX }-back-button` ),\n\n\tconsentTrackingButton: document.getElementById( `${ PREFIX }-consent-tracking` ),\n\tinstallAddonsButton: document.getElementById( `${ PREFIX }-install-addons-button` ),\n\n\thiddenLicenseKeyInput: document.getElementById( 'frm-license-key' ),\n} );\n","export * from './elements';\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { navigateToPrevStep } from '../utils';\n\n/**\n * Manages event handling for the \"Back\" button.\n *\n * @return {void}\n */\nfunction addBackButtonEvents() {\n\tconst { backButtons } = getElements();\n\n\t// Attach click event listeners to each back buttons\n\tbackButtons.forEach( backButton => {\n\t\tonClickPreventDefault( backButton, onBackButtonClick );\n\t} );\n}\n\n/**\n * Handles the click event on a \"Back\" button.\n *\n * @private\n * @return {void}\n */\nconst onBackButtonClick = () => {\n\tnavigateToPrevStep();\n};\n\nexport default addBackButtonEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { navigateToNextStep } from '../utils';\n\n/**\n * Manages event handling for the \"Allow & Continue\" button in the \"Never miss an important update\" step.\n *\n * @return {void}\n */\nfunction addConsentTrackingButtonEvents() {\n\tconst { consentTrackingButton } = getElements();\n\n\t// Attach click event listener\n\tonClickPreventDefault( consentTrackingButton, onConsentTrackingButtonClick );\n}\n\n/**\n * Handles the click event on the \"Allow & Continue\" button in the \"Never miss an important update\" step.\n *\n * @private\n * @return {void}\n */\nconst onConsentTrackingButtonClick = async () => {\n\tconst { doJsonPost } = frmDom.ajax;\n\tdoJsonPost( 'onboarding_consent_tracking', new FormData() ).then( navigateToNextStep );\n};\n\nexport default addConsentTrackingButtonEvents;\n","/**\n * External dependencies\n */\nimport { addOptionBoxEvents } from 'core/events';\nimport { getQueryParam } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport addSkipStepButtonEvents from './skipStepButtonListener';\nimport addBackButtonEvents from './backButtonListener';\nimport addConsentTrackingButtonEvents from './consentTrackingButtonListener';\nimport addInstallAddonsButtonEvents from './installAddonsButtonListener';\nimport { navigateToStep } from '../utils';\n\n/**\n * Attaches event listeners for handling user interactions.\n *\n * @return {void}\n */\nexport function addEventListeners() {\n\t// Add event handling for the \"Skip\" and \"Back\" buttons\n\taddSkipStepButtonEvents();\n\taddBackButtonEvents();\n\n\taddConsentTrackingButtonEvents();\n\n\t// Add event handling for the \"Install & Finish Setup\" button in the \"Install Formidable Add-ons\" step\n\taddInstallAddonsButtonEvents();\n\t// Add event handling for an option-box\n\taddOptionBoxEvents();\n}\n\n/**\n * Responds to browser navigation events (back/forward) by updating the UI to match the step indicated in the URL or history state.\n *\n * @param {PopStateEvent} event The event object associated with the navigation action.\n * @return {void}\n */\nwindow.addEventListener( 'popstate', event => {\n\tconst stepName = event.state?.step || getQueryParam( 'step' );\n\t// Navigate to the specified step without adding to browser history\n\tnavigateToStep( stepName, 'replaceState' );\n} );\n","/**\n * External dependencies\n */\nimport { nonce } from 'core/constants';\nimport { onClickPreventDefault, addToRequestQueue } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setSingleState } from '../shared';\nimport { navigateToNextStep } from '../utils';\n\n/**\n * Manages event handling for the \"Install & Finish Setup\" button in the \"Install Formidable Add-ons\" step.\n *\n * @return {void}\n */\nfunction addInstallAddonsButtonEvents() {\n\tconst { installAddonsButton } = getElements();\n\n\t// Attach click event listener\n\tonClickPreventDefault( installAddonsButton, onInstallAddonsButtonClick );\n}\n\n/**\n * Handles the click event on the \"Install & Finish Setup\" button in the \"Install Formidable Add-ons\" step.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onInstallAddonsButtonClick = async event => {\n\tconst addons = document.querySelectorAll( '.frm-option-box.frm-checked:not(.frm-disabled)' );\n\tconst { installedAddons } = getState();\n\tconst installAddonsButton = event.currentTarget;\n\n\tinstallAddonsButton.classList.add( 'frm_loading_button' );\n\n\tfor ( const addon of addons ) {\n\t\ttry {\n\t\t\tawait addToRequestQueue( () => installAddon( addon.getAttribute( 'rel' ), addon.dataset ) );\n\n\t\t\t// Capture addon title\n\t\t\tconst addonTitle = addon.dataset.title;\n\t\t\tif ( ! installedAddons.includes( addonTitle ) ) {\n\t\t\t\tinstalledAddons.push( addonTitle );\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'An error occurred:', error );\n\t\t}\n\t}\n\n\tinstallAddonsButton.classList.remove( 'frm_loading_button' );\n\n\tsetSingleState( 'installedAddons', installedAddons );\n\tnavigateToNextStep();\n};\n\n/**\n * Installs an add-on or plugin based on the provided plugin name and vendor status.\n *\n * @private\n * @param {string} plugin The unique identifier or name of the plugin or add-on to be installed.\n * @param {Object} options An object containing additional options for the installation.\n * @param {boolean} options.isInstalled Indicates whether the plugin is already installed.\n * @param {boolean} options.isVendor Indicates whether the plugin is a vendor plugin (true) or a regular add-on (false).\n * @return {Promise} A promise that resolves with the JSON response from the server after the installation request is completed.\n */\nasync function installAddon( plugin, { isVendor, isInstalled } ) {\n\t// Prepare FormData for the POST request\n\tconst formData = new FormData();\n\tformData.append( 'nonce', nonce );\n\tformData.append( 'plugin', plugin );\n\n\tconst addonAction = isInstalled ? 'frm_activate_addon' : 'frm_install_addon';\n\tformData.append( 'action', isVendor ? 'frm_install_plugin' : addonAction );\n\n\ttry {\n\t\t// Perform the POST request\n\t\tconst response = await fetch( ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\tbody: formData\n\t\t} );\n\n\t\tif ( ! response.ok ) {\n\t\t\tthrow new Error( `Server responded with status ${ response.status }` );\n\t\t}\n\n\t\t// Parse the JSON response\n\t\treturn await response.json();\n\t} catch ( error ) {\n\t\tconsole.error( 'An error occurred:', error );\n\t}\n}\n\nexport default addInstallAddonsButtonEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { navigateToNextStep } from '../utils';\n\n/**\n * Manages event handling for the \"Skip\" step button.\n *\n * @return {void}\n */\nfunction addSkipStepButtonEvents() {\n\tconst { skipStepButtons } = getElements();\n\n\t// Attach click event listeners to each skip buttons\n\tskipStepButtons.forEach( skipButton => {\n\t\tonClickPreventDefault( skipButton, onSkipStepButtonClick );\n\t} );\n}\n\n/**\n * Handles the click event on a \"Skip\" step button.\n *\n * @private\n * @return {void}\n */\nconst onSkipStepButtonClick = () => {\n\tnavigateToNextStep();\n};\n\nexport default addSkipStepButtonEvents;\n","/**\n * Internal dependencies\n */\nimport { setupInitialView } from './ui';\nimport { addEventListeners } from './events';\n\n/**\n * Initializes Onboarding Wizard.\n *\n * @return {void}\n */\nfunction initializeOnboardingWizard() {\n\tsetupInitialView();\n\taddEventListeners();\n}\n\nexport default initializeOnboardingWizard;\n","export const { INITIAL_STEP } = window.frmOnboardingWizardVars;\n\nexport const PREFIX = 'frm-onboarding';\n\nexport const STEPS = {\n\tINITIAL: INITIAL_STEP,\n\tINSTALL_ADDONS: 'install-addons',\n\tSUCCESS: 'success',\n\tUNSUCCESSFUL: 'unsuccessful'\n};\n","export * from './constants';\nexport * from './pageState';\n","/**\n * External dependencies\n */\nimport { createPageState } from 'core/factory';\n\nexport const { getState, getSingleState, setState, setSingleState } = createPageState( {\n\tprocessedSteps: [],\n\tinstalledAddons: [],\n} );\n","export { default as setupInitialView } from './setupInitialView';\nexport * from './rootline';\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { STEPS } from '../shared';\n\nconst COMPLETED_STEP_CLASS = 'frm-completed-step';\n\n/**\n * Updates the rootline to reflect the current and completed steps.\n *\n * - Applies COMPLETED_STEP_CLASS to steps before the current one.\n * - Applies CURRENT_CLASS to the current step, unless it is the success step.\n *\n * @param {string} currentStep The current step in the process.\n * @return {void}\n */\nexport function updateRootline( currentStep ) {\n\tif ( currentStep === STEPS.UNSUCCESSFUL ) {\n\t\tcurrentStep = STEPS.SUCCESS;\n\t}\n\n\tconst { rootline } = getElements();\n\tconst currentItem = rootline.querySelector( `.frm-rootline-item[data-step=\"${ currentStep }\"]` );\n\n\trootline.querySelectorAll( '.frm-rootline-item' ).forEach( item => {\n\t\titem.classList.remove( COMPLETED_STEP_CLASS );\n\t\titem.classList.remove( CURRENT_CLASS );\n\t} );\n\n\tlet prevItem = currentItem.previousElementSibling;\n\tif ( prevItem ) {\n\t\twhile ( prevItem ) {\n\t\t\tprevItem.classList.add( COMPLETED_STEP_CLASS );\n\t\t\tprevItem = prevItem.previousElementSibling; // move to the previous sibling\n\t\t}\n\t}\n\n\tif ( currentStep === STEPS.SUCCESS ) {\n\t\tcurrentItem.classList.add( COMPLETED_STEP_CLASS );\n\t} else {\n\t\tcurrentItem.classList.add( CURRENT_CLASS );\n\t}\n}\n","/**\n * External dependencies\n */\nimport { frmAnimate, getQueryParam, removeQueryParam, hasQueryParam } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { STEPS } from '../shared';\nimport { navigateToStep } from '../utils';\n\n/**\n * Initializes the onboarding wizard's UI, sets up the initial step based on certain conditions,\n * and applies necessary UI enhancements for a smoother user experience.\n *\n * @return {void}\n */\nexport default function setupInitialView() {\n\tnavigateToInitialStep();\n\tfadeInPageElements();\n}\n\n/**\n * Determines the initial step in the onboarding process and navigates to it, considering the installation\n * status of Formidable Pro and specific query parameters.\n *\n * @private\n * @return {void}\n */\nfunction navigateToInitialStep() {\n\tconst initialStepName = determineInitialStep();\n\n\tclearOnboardingQueryParams();\n\tnavigateToStep( initialStepName, 'replaceState' );\n}\n\n/**\n * Determines the initial step based on the current state, such as whether Formidable Pro is installed\n * and the presence of specific query parameters. Also handles the removal of unnecessary steps.\n *\n * @private\n * @return {string} The name of the initial step to navigate to.\n */\nfunction determineInitialStep() {\n\tconst isConnectedAccount = getQueryParam( 'success' );\n\n\tif ( isConnectedAccount === '0' ) {\n\t\treturn STEPS.UNSUCCESSFUL;\n\t}\n\n\tconst { hiddenLicenseKeyInput } = getElements();\n\n\tif ( hiddenLicenseKeyInput || isConnectedAccount ) {\n\t\treturn STEPS.INSTALL_ADDONS;\n\t}\n\n\treturn getQueryParam( 'step' ) || STEPS.INITIAL;\n}\n\n/**\n * Clears specific query parameters related to the onboarding process.\n *\n * @private\n * @return {void}\n */\nfunction clearOnboardingQueryParams() {\n\tremoveQueryParam( 'key' );\n\tremoveQueryParam( 'success' );\n}\n\n/**\n * Smoothly fades in the background and container elements of the page for a more pleasant user experience.\n *\n * @private\n * @return {void}\n */\nfunction fadeInPageElements() {\n\tconst { container } = getElements();\n\n\tnew frmAnimate( container ).fadeIn();\n}\n","export * from './navigateToStep';\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { frmAnimate, setQueryParam, hide, show } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { setupUsageData } from '../dataUtils';\nimport { getElements } from '../elements';\nimport { getState, PREFIX, setSingleState } from '../shared';\nimport { updateRootline } from '../ui';\n\n/**\n * Navigates to the given step in the onboarding sequence.\n * Optionally updates the browser's history state to include the current step.\n *\n * @param {string} stepName The name of the step to navigate to.\n * @param {string} [updateMethod='pushState'] Specifies the method to update the browser's history and URL. Accepts 'pushState' or 'replaceState'. If omitted, defaults to 'pushState'.\n * @return {void}\n */\nexport const navigateToStep = ( stepName, updateMethod = 'pushState' ) => {\n\t// Find the target step element\n\tconst targetStep = document.querySelector( `.${ PREFIX }-step[data-step-name=\"${ stepName }\"]` );\n\tif ( ! targetStep ) {\n\t\treturn;\n\t}\n\n\t// Find and hide the current step element\n\tconst currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` );\n\tif ( currentStep ) {\n\t\tcurrentStep.classList.remove( CURRENT_CLASS );\n\t\thide( currentStep );\n\t}\n\n\t// Display the target step element\n\ttargetStep.classList.add( CURRENT_CLASS );\n\tshow( targetStep );\n\tnew frmAnimate( targetStep ).fadeIn();\n\n\t// Update the onboarding wizard's current step attribute\n\tconst { onboardingWizardPage } = getElements();\n\tonboardingWizardPage.setAttribute( 'data-current-step', stepName );\n\n\t// Update the URL query parameter, with control over history update method\n\tsetQueryParam( 'step', stepName, updateMethod );\n\n\tupdateRootline( stepName );\n};\n\n/**\n * Navigates to the next step in the sequence.\n *\n * The function assumes steps are sequentially ordered in the DOM.\n *\n * @return {void}\n */\nexport const navigateToNextStep = () => {\n\tconst currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` );\n\tconst nextStep = currentStep?.nextElementSibling;\n\n\tif ( ! nextStep ) {\n\t\treturn;\n\t}\n\n\tconst processedStep = currentStep.dataset.stepName;\n\tconst nextStepName = nextStep.dataset.stepName;\n\n\t// Save processed steps\n\tconst { processedSteps } = getState();\n\tif ( ! processedSteps.includes( processedStep ) ) {\n\t\tprocessedSteps.push( processedStep );\n\t\tsetSingleState( 'processedSteps', processedSteps );\n\t}\n\tsetupUsageData( processedStep, nextStepName );\n\n\tnavigateToStep( nextStepName );\n};\n\n/**\n * Navigates to the previous step in the sequence.\n *\n * The function assumes steps are sequentially ordered in the DOM.\n *\n * @return {void}\n */\nexport const navigateToPrevStep = () => {\n\tconst currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` );\n\tconst prevStep = currentStep?.previousElementSibling;\n\n\tif ( ! prevStep ) {\n\t\treturn;\n\t}\n\n\tnavigateToStep( prevStep.dataset.stepName );\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport initializeOnboardingWizard from './initializeOnboardingWizard';\n\ndomReady( () => {\n\tinitializeOnboardingWizard();\n} );\n"],"names":["_window$frmGlobal","window","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","OPTION_BOX_CLASS","addOptionBoxEvents","optionBoxes","document","querySelectorAll","forEach","optionBox","addEventListener","onOptionBoxClick","event","target","tagName","toLowerCase","currentTarget","closest","classList","toggle","createPageElements","initialElements","arguments","length","undefined","_typeof","Error","elements","getElements","addElements","newElements","_objectSpread","createPageState","initialState","state","getState","getSingleState","propertyName","value","Reflect","get","setState","newState","setSingleState","has","set","frmAnimate","type","_classCallCheck","prepareElements","_createClass","key","fadeIn","_this","applyStyleToElements","element","add","resetOpacity","remove","once","cascadeFadeIn","_this2","delay","setTimeout","index","style","transitionDelay","_this3","opacity","callback","Element","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","querySelector","errorElement","console","warn","span","concat","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","includes","_defineProperty","history","hasQueryParam","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","default","setupUsageData","STEPS","processedStep","nextStepName","formData","processDataForStep","SUCCESS","UNSUCCESSFUL","_getState","processedSteps","push","FormData","append","join","INSTALL_ADDONS","_getState2","installedAddons","PREFIX","_createPageElements","onboardingWizardPage","getElementById","container","rootline","steps","skipStepButtons","backButtons","consentTrackingButton","installAddonsButton","hiddenLicenseKeyInput","navigateToPrevStep","addBackButtonEvents","_getElements","backButton","onBackButtonClick","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","y","G","v","d","bind","l","TypeError","call","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","_asyncToGenerator","apply","_next","_throw","navigateToNextStep","addConsentTrackingButtonEvents","onConsentTrackingButtonClick","_ref","_callee","_context","addSkipStepButtonEvents","addInstallAddonsButtonEvents","navigateToStep","addEventListeners","_event$state","stepName","step","_createForOfIteratorHelper","isArray","_unsupportedIterableToArray","_n","F","s","next","_arrayLikeToArray","slice","name","onInstallAddonsButtonClick","addons","_iterator","_step","_loop","_t2","_context2","addon","addonTitle","_t","installAddon","getAttribute","dataset","title","error","_regeneratorValues","_x","_x2","_x3","_installAddon","_callee2","plugin","_ref2","isVendor","isInstalled","addonAction","response","_t3","_context3","fetch","ajaxurl","method","body","ok","status","json","skipButton","onSkipStepButtonClick","setupInitialView","initializeOnboardingWizard","INITIAL_STEP","frmOnboardingWizardVars","INITIAL","_createPageState","COMPLETED_STEP_CLASS","updateRootline","currentStep","currentItem","item","prevItem","previousElementSibling","navigateToInitialStep","fadeInPageElements","initialStepName","determineInitialStep","clearOnboardingQueryParams","isConnectedAccount","_getElements2","targetStep","nextStep","nextElementSibling","prevStep","domReady"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"onboarding-wizard.js","mappings":"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","sources":["webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/events/index.js","webpack://formidable/./js/src/core/events/optionBoxListener.js","webpack://formidable/./js/src/core/factory/createPageElements.js","webpack://formidable/./js/src/core/factory/createPageState.js","webpack://formidable/./js/src/core/factory/index.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/onboarding-wizard/dataUtils/index.js","webpack://formidable/./js/src/onboarding-wizard/dataUtils/setupUsageData.js","webpack://formidable/./js/src/onboarding-wizard/elements/elements.js","webpack://formidable/./js/src/onboarding-wizard/elements/index.js","webpack://formidable/./js/src/onboarding-wizard/events/backButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/events/consentTrackingButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/events/index.js","webpack://formidable/./js/src/onboarding-wizard/events/installAddonsButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/events/skipStepButtonListener.js","webpack://formidable/./js/src/onboarding-wizard/initializeOnboardingWizard.js","webpack://formidable/./js/src/onboarding-wizard/shared/constants.js","webpack://formidable/./js/src/onboarding-wizard/shared/index.js","webpack://formidable/./js/src/onboarding-wizard/shared/pageState.js","webpack://formidable/./js/src/onboarding-wizard/ui/index.js","webpack://formidable/./js/src/onboarding-wizard/ui/rootline.js","webpack://formidable/./js/src/onboarding-wizard/ui/setupInitialView.js","webpack://formidable/./js/src/onboarding-wizard/utils/index.js","webpack://formidable/./js/src/onboarding-wizard/utils/navigateToStep.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/onboarding-wizard/index.js"],"sourcesContent":["/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export * from './optionBoxListener';\n","/**\n * Internal dependencies\n */\nimport { CHECKED_CLASS } from 'core/constants';\n\nconst OPTION_BOX_CLASS = '.frm-option-box';\n\n/**\n * Manages event handling for an option-box.\n *\n * @return {void}\n */\nexport function addOptionBoxEvents() {\n\tconst optionBoxes = document.querySelectorAll( OPTION_BOX_CLASS );\n\n\toptionBoxes.forEach( optionBox => {\n\t\toptionBox.addEventListener( 'click', onOptionBoxClick );\n\t} );\n}\n\n/**\n * Handles the click event on a option box item.\n *\n * @private\n * @param {Event} event The click event object.\n */\nfunction onOptionBoxClick( event ) {\n\tif ( event.target.tagName.toLowerCase() !== 'input' ) {\n\t\treturn;\n\t}\n\n\tconst optionBox = event.currentTarget.closest( OPTION_BOX_CLASS );\n\toptionBox.classList.toggle( CHECKED_CLASS );\n}\n","/**\n * Creates a page elements manager.\n *\n * @param {Object} [initialElements={}] An object containing initial DOM elements.\n * @throws {Error} Throws an error if the `initialElements` is not an object.\n * @return {Object} An object with methods to get and add elements.\n */\nexport function createPageElements( initialElements = {} ) {\n\tif ( typeof initialElements !== 'object' || initialElements === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageElements: initialElements must be a non-null object'\n\t\t);\n\t}\n\n\tlet elements = initialElements;\n\n\t/**\n\t * Retrieve the initialized essential DOM elements.\n\t *\n\t * @return {Object} The initialized elements object.\n\t */\n\tfunction getElements() {\n\t\treturn elements;\n\t}\n\n\t/**\n\t * Add new elements to the elements object.\n\t *\n\t * @param {Object} newElements An object containing new elements to be added.\n\t * @throws {Error} Throws an error if the `newElements` is not a non-null object.\n\t * @return {void} Updates the elements object by merging the new elements into it.\n\t */\n\tfunction addElements( newElements ) {\n\t\tif ( typeof newElements !== 'object' || newElements === null ) {\n\t\t\tthrow new Error(\n\t\t\t\t'addElements: newElements must be a non-null object'\n\t\t\t);\n\t\t}\n\n\t\telements = { ...elements, ...newElements };\n\t}\n\n\treturn { getElements, addElements };\n}\n","/**\n * Creates a page state manager.\n *\n * @param {Object} [initialState={}] An object containing the initial state.\n * @throws {Error} Throws an error if the `initialState` is not a plain object.\n * @return {Object} An object with methods to initialize, get, and set the page state.\n */\nexport function createPageState( initialState = {} ) {\n\tif ( typeof initialState !== 'object' || initialState === null ) {\n\t\tthrow new Error(\n\t\t\t'createPageState: initialState must be a non-null object'\n\t\t);\n\t}\n\n\tlet state = initialState;\n\n\t/**\n\t * Returns the current page state.\n\t *\n\t * @return {Object|null} The current state of the page or null if not initialized.\n\t */\n\tconst getState = () => state;\n\n\t/**\n\t * Returns a specific property from the current page state.\n\t *\n\t * @param {string} propertyName The name of the property to retrieve.\n\t * @return {*} The value of the specified property, or null if it doesn't exist.\n\t */\n\tconst getSingleState = propertyName => {\n\t\tconst value = Reflect.get( state, propertyName );\n\n\t\t// We convert `undefined` to `null` for a consistent API.\n\t\t// This makes it easier for users to handle the results since all missing properties return `null`.\n\t\treturn value === undefined ? null : value;\n\t};\n\n\t/**\n\t * Updates the page state with new values.\n\t *\n\t * @param {Object} newState The new values to update the state with.\n\t * @throws {Error} Throws an error if `newState` is not a plain object.\n\t * @return {void}\n\t */\n\tconst setState = newState => {\n\t\tif ( typeof newState !== 'object' || newState === null ) {\n\t\t\tthrow new Error( 'setState: newState must be a non-null object' );\n\t\t}\n\n\t\tstate = { ...state, ...newState };\n\t};\n\n\t/**\n\t * Updates a specific property in the page state with a new value.\n\t *\n\t * @param {string} propertyName The name of the property to update.\n\t * @param {*} value The new value to set for the property.\n\t * @return {void}\n\t */\n\tconst setSingleState = ( propertyName, value ) => {\n\t\tif ( Reflect.has( state, propertyName ) ) {\n\t\t\tReflect.set( state, propertyName, value );\n\t\t}\n\t};\n\n\treturn { getState, getSingleState, setState, setSingleState };\n}\n","export * from './createPageElements';\nexport * from './createPageState';\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","export { default as setupUsageData } from './setupUsageData';\n","/**\n * Internal Dependencies\n */\nimport { getState, STEPS } from '../shared';\n\n/**\n * Processes and submits usage data for the specified onboarding step.\n *\n * @param {string} processedStep The name of the step that has just been processed.\n * @param {string} nextStepName The name of the next step in the onboarding process.\n * @return {void}\n */\nfunction setupUsageData( processedStep, nextStepName ) {\n\tconst formData = processDataForStep( processedStep, nextStepName );\n\tif ( ! formData ) {\n\t\treturn;\n\t}\n\n\t// Send the POST request\n\tconst { doJsonPost } = frmDom.ajax;\n\tdoJsonPost( 'onboarding_setup_usage_data', formData );\n}\n\n/**\n * Processes onboarding step data and returns the corresponding FormData.\n *\n * @private\n * @param {string} processedStep The name of the step that has just been processed.\n * @param {string} nextStepName The name of the next step in the onboarding process.\n * @return {FormData|null} The FormData to be submitted for the step, or null if there's no data.\n */\nfunction processDataForStep( processedStep, nextStepName ) {\n\tlet formData;\n\n\t// Append completed steps if moving to the success step\n\tif ( STEPS.SUCCESS === nextStepName || STEPS.UNSUCCESSFUL === nextStepName ) {\n\t\tconst { processedSteps } = getState();\n\n\t\tif ( processedSteps.length > 1 ) {\n\t\t\tif ( ! processedSteps.includes( nextStepName ) ) {\n\t\t\t\tprocessedSteps.push( nextStepName );\n\t\t\t}\n\n\t\t\tformData = new FormData();\n\t\t\tformData.append( 'processed_steps', processedSteps.join( ',' ) );\n\t\t\tformData.append( 'completed_steps', true );\n\t\t}\n\t}\n\n\t// Append installed addons for the addon installation step\n\tif ( STEPS.INSTALL_ADDONS === processedStep ) {\n\t\tconst { installedAddons } = getState();\n\n\t\tif ( installedAddons.length > 0 ) {\n\t\t\tformData = formData ?? new FormData();\n\t\t\tformData.append( 'installed_addons', installedAddons.join( ',' ) );\n\t\t}\n\t}\n\n\treturn formData;\n}\n\nexport default setupUsageData;\n","/**\n * External dependencies\n */\nimport { createPageElements } from 'core/factory';\n\n/**\n * Internal dependencies\n */\nimport { PREFIX } from '../shared';\n\nexport const { getElements, addElements } = createPageElements( {\n\tonboardingWizardPage: document.getElementById( `${ PREFIX }-wizard-page` ),\n\tcontainer: document.getElementById( `${ PREFIX }-container` ),\n\n\trootline: document.getElementById( `${ PREFIX }-rootline` ),\n\tsteps: document.querySelectorAll( `.${ PREFIX }-step` ),\n\tskipStepButtons: document.querySelectorAll( `.${ PREFIX }-skip-step` ),\n\tbackButtons: document.querySelectorAll( `.${ PREFIX }-back-button` ),\n\n\tconsentTrackingButton: document.getElementById( `${ PREFIX }-consent-tracking` ),\n\tinstallAddonsButton: document.getElementById( `${ PREFIX }-install-addons-button` ),\n\n\thiddenLicenseKeyInput: document.getElementById( 'frm-license-key' ),\n} );\n","export * from './elements';\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { navigateToPrevStep } from '../utils';\n\n/**\n * Manages event handling for the \"Back\" button.\n *\n * @return {void}\n */\nfunction addBackButtonEvents() {\n\tconst { backButtons } = getElements();\n\n\t// Attach click event listeners to each back buttons\n\tbackButtons.forEach( backButton => {\n\t\tonClickPreventDefault( backButton, onBackButtonClick );\n\t} );\n}\n\n/**\n * Handles the click event on a \"Back\" button.\n *\n * @private\n * @return {void}\n */\nconst onBackButtonClick = () => {\n\tnavigateToPrevStep();\n};\n\nexport default addBackButtonEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { navigateToNextStep } from '../utils';\n\n/**\n * Manages event handling for the \"Allow & Continue\" button in the \"Never miss an important update\" step.\n *\n * @return {void}\n */\nfunction addConsentTrackingButtonEvents() {\n\tconst { consentTrackingButton } = getElements();\n\n\t// Attach click event listener\n\tonClickPreventDefault( consentTrackingButton, onConsentTrackingButtonClick );\n}\n\n/**\n * Handles the click event on the \"Allow & Continue\" button in the \"Never miss an important update\" step.\n *\n * @private\n * @return {void}\n */\nconst onConsentTrackingButtonClick = async () => {\n\tconst { doJsonPost } = frmDom.ajax;\n\tdoJsonPost( 'onboarding_consent_tracking', new FormData() ).then( navigateToNextStep );\n};\n\nexport default addConsentTrackingButtonEvents;\n","/**\n * External dependencies\n */\nimport { addOptionBoxEvents } from 'core/events';\nimport { getQueryParam } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport addSkipStepButtonEvents from './skipStepButtonListener';\nimport addBackButtonEvents from './backButtonListener';\nimport addConsentTrackingButtonEvents from './consentTrackingButtonListener';\nimport addInstallAddonsButtonEvents from './installAddonsButtonListener';\nimport { navigateToStep } from '../utils';\n\n/**\n * Attaches event listeners for handling user interactions.\n *\n * @return {void}\n */\nexport function addEventListeners() {\n\t// Add event handling for the \"Skip\" and \"Back\" buttons\n\taddSkipStepButtonEvents();\n\taddBackButtonEvents();\n\n\taddConsentTrackingButtonEvents();\n\n\t// Add event handling for the \"Install & Finish Setup\" button in the \"Install Formidable Add-ons\" step\n\taddInstallAddonsButtonEvents();\n\t// Add event handling for an option-box\n\taddOptionBoxEvents();\n}\n\n/**\n * Responds to browser navigation events (back/forward) by updating the UI to match the step indicated in the URL or history state.\n *\n * @param {PopStateEvent} event The event object associated with the navigation action.\n * @return {void}\n */\nwindow.addEventListener( 'popstate', event => {\n\tconst stepName = event.state?.step || getQueryParam( 'step' );\n\t// Navigate to the specified step without adding to browser history\n\tnavigateToStep( stepName, 'replaceState' );\n} );\n","/**\n * External dependencies\n */\nimport { nonce } from 'core/constants';\nimport { onClickPreventDefault, addToRequestQueue } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { getState, setSingleState } from '../shared';\nimport { navigateToNextStep } from '../utils';\n\n/**\n * Manages event handling for the \"Install & Finish Setup\" button in the \"Install Formidable Add-ons\" step.\n *\n * @return {void}\n */\nfunction addInstallAddonsButtonEvents() {\n\tconst { installAddonsButton } = getElements();\n\n\t// Attach click event listener\n\tonClickPreventDefault( installAddonsButton, onInstallAddonsButtonClick );\n}\n\n/**\n * Handles the click event on the \"Install & Finish Setup\" button in the \"Install Formidable Add-ons\" step.\n *\n * @private\n * @param {Event} event The click event object.\n * @return {void}\n */\nconst onInstallAddonsButtonClick = async event => {\n\tconst addons = document.querySelectorAll( '.frm-option-box.frm-checked:not(.frm-disabled)' );\n\tconst { installedAddons } = getState();\n\tconst installAddonsButton = event.currentTarget;\n\n\tinstallAddonsButton.classList.add( 'frm_loading_button' );\n\n\tfor ( const addon of addons ) {\n\t\ttry {\n\t\t\tawait addToRequestQueue( () => installAddon( addon.getAttribute( 'rel' ), addon.dataset ) );\n\n\t\t\t// Capture addon title\n\t\t\tconst addonTitle = addon.dataset.title;\n\t\t\tif ( ! installedAddons.includes( addonTitle ) ) {\n\t\t\t\tinstalledAddons.push( addonTitle );\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'An error occurred:', error );\n\t\t}\n\t}\n\n\tinstallAddonsButton.classList.remove( 'frm_loading_button' );\n\n\tsetSingleState( 'installedAddons', installedAddons );\n\tnavigateToNextStep();\n};\n\n/**\n * Installs an add-on or plugin based on the provided plugin name and vendor status.\n *\n * @private\n * @param {string} plugin The unique identifier or name of the plugin or add-on to be installed.\n * @param {Object} options An object containing additional options for the installation.\n * @param {boolean} options.isInstalled Indicates whether the plugin is already installed.\n * @param {boolean} options.isVendor Indicates whether the plugin is a vendor plugin (true) or a regular add-on (false).\n * @return {Promise} A promise that resolves with the JSON response from the server after the installation request is completed.\n */\nasync function installAddon( plugin, { isVendor, isInstalled } ) {\n\t// Prepare FormData for the POST request\n\tconst formData = new FormData();\n\tformData.append( 'nonce', nonce );\n\tformData.append( 'plugin', plugin );\n\n\tconst addonAction = isInstalled ? 'frm_activate_addon' : 'frm_install_addon';\n\tformData.append( 'action', isVendor ? 'frm_install_plugin' : addonAction );\n\n\ttry {\n\t\t// Perform the POST request\n\t\tconst response = await fetch( ajaxurl, {\n\t\t\tmethod: 'POST',\n\t\t\tbody: formData\n\t\t} );\n\n\t\tif ( ! response.ok ) {\n\t\t\tthrow new Error( `Server responded with status ${ response.status }` );\n\t\t}\n\n\t\t// Parse the JSON response\n\t\treturn await response.json();\n\t} catch ( error ) {\n\t\tconsole.error( 'An error occurred:', error );\n\t}\n}\n\nexport default addInstallAddonsButtonEvents;\n","/**\n * External dependencies\n */\nimport { onClickPreventDefault } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { navigateToNextStep } from '../utils';\n\n/**\n * Manages event handling for the \"Skip\" step button.\n *\n * @return {void}\n */\nfunction addSkipStepButtonEvents() {\n\tconst { skipStepButtons } = getElements();\n\n\t// Attach click event listeners to each skip buttons\n\tskipStepButtons.forEach( skipButton => {\n\t\tonClickPreventDefault( skipButton, onSkipStepButtonClick );\n\t} );\n}\n\n/**\n * Handles the click event on a \"Skip\" step button.\n *\n * @private\n * @return {void}\n */\nconst onSkipStepButtonClick = () => {\n\tnavigateToNextStep();\n};\n\nexport default addSkipStepButtonEvents;\n","/**\n * Internal dependencies\n */\nimport { setupInitialView } from './ui';\nimport { addEventListeners } from './events';\n\n/**\n * Initializes Onboarding Wizard.\n *\n * @return {void}\n */\nfunction initializeOnboardingWizard() {\n\tsetupInitialView();\n\taddEventListeners();\n}\n\nexport default initializeOnboardingWizard;\n","export const { INITIAL_STEP } = window.frmOnboardingWizardVars;\n\nexport const PREFIX = 'frm-onboarding';\n\nexport const STEPS = {\n\tINITIAL: INITIAL_STEP,\n\tINSTALL_ADDONS: 'install-addons',\n\tSUCCESS: 'success',\n\tUNSUCCESSFUL: 'unsuccessful'\n};\n","export * from './constants';\nexport * from './pageState';\n","/**\n * External dependencies\n */\nimport { createPageState } from 'core/factory';\n\nexport const { getState, getSingleState, setState, setSingleState } = createPageState( {\n\tprocessedSteps: [],\n\tinstalledAddons: [],\n} );\n","export { default as setupInitialView } from './setupInitialView';\nexport * from './rootline';\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { STEPS } from '../shared';\n\nconst COMPLETED_STEP_CLASS = 'frm-completed-step';\n\n/**\n * Updates the rootline to reflect the current and completed steps.\n *\n * - Applies COMPLETED_STEP_CLASS to steps before the current one.\n * - Applies CURRENT_CLASS to the current step, unless it is the success step.\n *\n * @param {string} currentStep The current step in the process.\n * @return {void}\n */\nexport function updateRootline( currentStep ) {\n\tif ( currentStep === STEPS.UNSUCCESSFUL ) {\n\t\tcurrentStep = STEPS.SUCCESS;\n\t}\n\n\tconst { rootline } = getElements();\n\tconst currentItem = rootline.querySelector( `.frm-rootline-item[data-step=\"${ currentStep }\"]` );\n\n\trootline.querySelectorAll( '.frm-rootline-item' ).forEach( item => {\n\t\titem.classList.remove( COMPLETED_STEP_CLASS );\n\t\titem.classList.remove( CURRENT_CLASS );\n\t} );\n\n\tlet prevItem = currentItem.previousElementSibling;\n\tif ( prevItem ) {\n\t\twhile ( prevItem ) {\n\t\t\tprevItem.classList.add( COMPLETED_STEP_CLASS );\n\t\t\tprevItem = prevItem.previousElementSibling; // move to the previous sibling\n\t\t}\n\t}\n\n\tif ( currentStep === STEPS.SUCCESS ) {\n\t\tcurrentItem.classList.add( COMPLETED_STEP_CLASS );\n\t} else {\n\t\tcurrentItem.classList.add( CURRENT_CLASS );\n\t}\n}\n","/**\n * External dependencies\n */\nimport { frmAnimate, getQueryParam, removeQueryParam, hasQueryParam } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { getElements } from '../elements';\nimport { STEPS } from '../shared';\nimport { navigateToStep } from '../utils';\n\n/**\n * Initializes the onboarding wizard's UI, sets up the initial step based on certain conditions,\n * and applies necessary UI enhancements for a smoother user experience.\n *\n * @return {void}\n */\nexport default function setupInitialView() {\n\tnavigateToInitialStep();\n\tfadeInPageElements();\n}\n\n/**\n * Determines the initial step in the onboarding process and navigates to it, considering the installation\n * status of Formidable Pro and specific query parameters.\n *\n * @private\n * @return {void}\n */\nfunction navigateToInitialStep() {\n\tconst initialStepName = determineInitialStep();\n\n\tclearOnboardingQueryParams();\n\tnavigateToStep( initialStepName, 'replaceState' );\n}\n\n/**\n * Determines the initial step based on the current state, such as whether Formidable Pro is installed\n * and the presence of specific query parameters. Also handles the removal of unnecessary steps.\n *\n * @private\n * @return {string} The name of the initial step to navigate to.\n */\nfunction determineInitialStep() {\n\tconst isConnectedAccount = getQueryParam( 'success' );\n\n\tif ( isConnectedAccount === '0' ) {\n\t\treturn STEPS.UNSUCCESSFUL;\n\t}\n\n\tconst { hiddenLicenseKeyInput } = getElements();\n\n\tif ( hiddenLicenseKeyInput || isConnectedAccount ) {\n\t\treturn STEPS.INSTALL_ADDONS;\n\t}\n\n\treturn getQueryParam( 'step' ) || STEPS.INITIAL;\n}\n\n/**\n * Clears specific query parameters related to the onboarding process.\n *\n * @private\n * @return {void}\n */\nfunction clearOnboardingQueryParams() {\n\tremoveQueryParam( 'key' );\n\tremoveQueryParam( 'success' );\n}\n\n/**\n * Smoothly fades in the background and container elements of the page for a more pleasant user experience.\n *\n * @private\n * @return {void}\n */\nfunction fadeInPageElements() {\n\tconst { container } = getElements();\n\n\tnew frmAnimate( container ).fadeIn();\n}\n","export * from './navigateToStep';\n","/**\n * External dependencies\n */\nimport { CURRENT_CLASS } from 'core/constants';\nimport { frmAnimate, setQueryParam, hide, show } from 'core/utils';\n\n/**\n * Internal dependencies\n */\nimport { setupUsageData } from '../dataUtils';\nimport { getElements } from '../elements';\nimport { getState, PREFIX, setSingleState } from '../shared';\nimport { updateRootline } from '../ui';\n\n/**\n * Navigates to the given step in the onboarding sequence.\n * Optionally updates the browser's history state to include the current step.\n *\n * @param {string} stepName The name of the step to navigate to.\n * @param {string} [updateMethod='pushState'] Specifies the method to update the browser's history and URL. Accepts 'pushState' or 'replaceState'. If omitted, defaults to 'pushState'.\n * @return {void}\n */\nexport const navigateToStep = ( stepName, updateMethod = 'pushState' ) => {\n\t// Find the target step element\n\tconst targetStep = document.querySelector( `.${ PREFIX }-step[data-step-name=\"${ stepName }\"]` );\n\tif ( ! targetStep ) {\n\t\treturn;\n\t}\n\n\t// Find and hide the current step element\n\tconst currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` );\n\tif ( currentStep ) {\n\t\tcurrentStep.classList.remove( CURRENT_CLASS );\n\t\thide( currentStep );\n\t}\n\n\t// Display the target step element\n\ttargetStep.classList.add( CURRENT_CLASS );\n\tshow( targetStep );\n\tnew frmAnimate( targetStep ).fadeIn();\n\n\t// Update the onboarding wizard's current step attribute\n\tconst { onboardingWizardPage } = getElements();\n\tonboardingWizardPage.setAttribute( 'data-current-step', stepName );\n\n\t// Update the URL query parameter, with control over history update method\n\tsetQueryParam( 'step', stepName, updateMethod );\n\n\tupdateRootline( stepName );\n};\n\n/**\n * Navigates to the next step in the sequence.\n *\n * The function assumes steps are sequentially ordered in the DOM.\n *\n * @return {void}\n */\nexport const navigateToNextStep = () => {\n\tconst currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` );\n\tconst nextStep = currentStep?.nextElementSibling;\n\n\tif ( ! nextStep ) {\n\t\treturn;\n\t}\n\n\tconst processedStep = currentStep.dataset.stepName;\n\tconst nextStepName = nextStep.dataset.stepName;\n\n\t// Save processed steps\n\tconst { processedSteps } = getState();\n\tif ( ! processedSteps.includes( processedStep ) ) {\n\t\tprocessedSteps.push( processedStep );\n\t\tsetSingleState( 'processedSteps', processedSteps );\n\t}\n\tsetupUsageData( processedStep, nextStepName );\n\n\tnavigateToStep( nextStepName );\n};\n\n/**\n * Navigates to the previous step in the sequence.\n *\n * The function assumes steps are sequentially ordered in the DOM.\n *\n * @return {void}\n */\nexport const navigateToPrevStep = () => {\n\tconst currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` );\n\tconst prevStep = currentStep?.previousElementSibling;\n\n\tif ( ! prevStep ) {\n\t\treturn;\n\t}\n\n\tnavigateToStep( prevStep.dataset.stepName );\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport initializeOnboardingWizard from './initializeOnboardingWizard';\n\ndomReady( () => {\n\tinitializeOnboardingWizard();\n} );\n"],"names":["_window$frmGlobal","window","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","OPTION_BOX_CLASS","addOptionBoxEvents","optionBoxes","document","querySelectorAll","forEach","optionBox","addEventListener","onOptionBoxClick","event","target","tagName","toLowerCase","currentTarget","closest","classList","toggle","createPageElements","initialElements","arguments","length","undefined","_typeof","Error","elements","getElements","addElements","newElements","_objectSpread","createPageState","initialState","state","getState","getSingleState","propertyName","value","Reflect","get","setState","newState","setSingleState","has","set","frmAnimate","type","_classCallCheck","prepareElements","_createClass","key","fadeIn","_this","applyStyleToElements","element","add","resetOpacity","remove","once","cascadeFadeIn","_this2","delay","setTimeout","index","style","transitionDelay","_this3","opacity","callback","Element","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","querySelector","errorElement","console","warn","span","concat","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","includes","_defineProperty","history","hasQueryParam","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","default","setupUsageData","STEPS","processedStep","nextStepName","formData","processDataForStep","SUCCESS","UNSUCCESSFUL","_getState","processedSteps","push","FormData","append","join","INSTALL_ADDONS","_getState2","installedAddons","_formData","PREFIX","_createPageElements","onboardingWizardPage","getElementById","container","rootline","steps","skipStepButtons","backButtons","consentTrackingButton","installAddonsButton","hiddenLicenseKeyInput","navigateToPrevStep","addBackButtonEvents","_getElements","backButton","onBackButtonClick","_regeneratorRuntime","e","t","r","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","apply","_next","_throw","navigateToNextStep","addConsentTrackingButtonEvents","onConsentTrackingButtonClick","_ref","_callee","_callee$","_context","addSkipStepButtonEvents","addInstallAddonsButtonEvents","navigateToStep","addEventListeners","_event$state","stepName","step","_createForOfIteratorHelper","isArray","_unsupportedIterableToArray","_n","F","_arrayLikeToArray","onInstallAddonsButtonClick","addons","_iterator","_step","_loop","_context2","addon","addonTitle","_loop$","installAddon","getAttribute","dataset","title","t0","error","t1","_x","_x2","_x3","_installAddon","_callee2","plugin","_ref2","isVendor","isInstalled","addonAction","response","_callee2$","_context3","fetch","ajaxurl","body","ok","status","json","skipButton","onSkipStepButtonClick","setupInitialView","initializeOnboardingWizard","INITIAL_STEP","frmOnboardingWizardVars","INITIAL","_createPageState","COMPLETED_STEP_CLASS","updateRootline","currentStep","currentItem","item","prevItem","previousElementSibling","navigateToInitialStep","fadeInPageElements","initialStepName","determineInitialStep","clearOnboardingQueryParams","isConnectedAccount","_getElements2","targetStep","nextStep","nextElementSibling","prevStep","domReady"],"sourceRoot":""} \ No newline at end of file diff --git a/js/welcome-tour.js b/js/welcome-tour.js index e706b53675..7529b4d96e 100644 --- a/js/welcome-tour.js +++ b/js/welcome-tour.js @@ -1,2 +1,4438 @@ -/*! For license information please see welcome-tour.js.LICENSE.txt */ -(()=>{var t={8616:t=>{t.exports=function(t,e){var r,n,o=0;function i(){var i,a,c=r,s=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var r,n,a,c,s,u,l,f,p,d=1,h=t.length,m="";for(n=0;n=0),c.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c.width?parseInt(c.width):0);break;case"e":r=c.precision?parseFloat(r).toExponential(c.precision):parseFloat(r).toExponential();break;case"f":r=c.precision?parseFloat(r).toFixed(c.precision):parseFloat(r);break;case"g":r=c.precision?String(Number(r.toPrecision(c.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=c.precision?r.substring(0,c.precision):r;break;case"t":r=String(!!r),r=c.precision?r.substring(0,c.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=c.precision?r.substring(0,c.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=c.precision?r.substring(0,c.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=r:(!o.number.test(c.type)||f&&!c.sign?p="":(p=f?"+":"-",r=r.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",l=c.width-(p+r).length,s=c.width&&l>0?u.repeat(l):"",m+=c.align?p+r+s:"0"===u?p+s+r:s+p+r)}return m}(function(t){if(c[t])return c[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push("%");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],s=e[2],u=[];if(null===(u=o.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(s=s.substring(u[0].length));)if(null!==(u=o.key_access.exec(s)))a.push(u[1]);else{if(null===(u=o.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return c[t]=n}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";function t(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function e(e){for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==o(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var r=t;return{getElements:function(){return r},addElements:function(t){if("object"!==o(t)||null===t)throw new Error("addElements: newElements must be a non-null object");r=e(e({},r),t)}}}(i),p=f.getElements,d=f.addElements,h=r(8616),m=r.n(h);function v(t){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},v(t)}function y(t){var e=function(t){if("object"!=v(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=v(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==v(e)?e:e+""}r(7604),m()(console.error),c={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},s=["(","?"],u={")":["("],":":["?","?:"]},l=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var b={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};var g={contextDelimiter:"",onMissingKey:null};function _(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},g)this.options[r]=void 0!==e&&r in e?e[r]:g[r]}function w(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||c[o]3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(j(r)&&S(n))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:n};if(a[r]){var s,u=a[r].handlers;for(s=u.length;s>0&&!(i>=u[s-1].priority);s--);s===u.length?u[s]=c:u.splice(s,0,c),a.__current.forEach(function(t){t.name===r&&t.currentIndex>=s&&t.currentIndex++})}else a[r]={handlers:[c],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,n,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},P=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,o){var i=t[e];if(j(n)&&(r||S(o))){if(!i[n])return 0;var a=0;if(r)a=i[n].handlers.length,i[n]={runs:i[n].runs,handlers:[]};else for(var c=i[n].handlers,s=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach(function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--}))},u=c.length-1;u>=0;u--)s(u);return"hookRemoved"!==n&&t.doAction("hookRemoved",n,o),a}}},F=function(t,e){return function(r,n){var o=t[e];return void 0!==n?r in o&&o[r].handlers.some(function(t){return t.namespace===n}):r in o}},T=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=t[e];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,c=new Array(a>1?a-1:0),s=1;s1&&void 0!==arguments[1]?arguments[1]:"default";n.data[e]=x(x(x({},k),n.data[e]),t),n.data[e][""]=x(x({},k[""]),n.data[e][""])},c=function(t,e){a(t,e),i()},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[t]||a(void 0,t),n.dcnpgettext(t,e,r,o,i)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},l=function(t,e,n){var o=s(n,e,t);return r?(o=r.applyFilters("i18n.gettext_with_context",o,t,e,n),r.applyFilters("i18n.gettext_with_context_"+u(n),o,t,e,n)):o};if(r){var f=function(t){O.test(t)&&i()};r.addAction("hookAdded","core/i18n",f),r.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[t]},setLocaleData:c,resetLocaleData:function(t,e){n.data={},n.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var n=s(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+u(e),n,t,e)):n},_x:l,_n:function(t,e,n,o){var i=s(o,void 0,t,e,n);return r?(i=r.applyFilters("i18n.ngettext",i,t,e,n,o),r.applyFilters("i18n.ngettext_"+u(o),i,t,e,n,o)):i},_nx:function(t,e,n,o,i){var a=s(i,o,t,e,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,t,e,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+u(i),a,t,e,n,o,i)):a},isRTL:function(){return"rtl"===l("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,s=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return r&&(s=r.applyFilters("i18n.has_translation",s,t,e,o),s=r.applyFilters("i18n.has_translation_"+u(o),s,t,e,o)),s}}}(0,0,C));R.getLocaleData.bind(R),R.setLocaleData.bind(R),R.resetLocaleData.bind(R),R.subscribe.bind(R);var G=R.__.bind(R),N=(R._x.bind(R),R._n.bind(R),R._nx.bind(R),R.isRTL.bind(R),R.hasTranslation.bind(R),Promise.resolve(),frmDom),B=N.div,M=(N.span,N.tag),q=N.a,z=(N.img,N.svg,frmDom.modal),U=z.maybeCreateModal,$=(z.footerButton,frmDom.util),K=$.onClickPreventDefault,Z=($.documentOn,frmDom.ajax.doJsonPost),H=new URL(window.location.href).searchParams,X=window.frmGlobal,J=(X.url,X.nonce,window.frmWelcomeTourVars),W=J.IS_DASHBOARD_PAGE,V=J.IS_WELCOME_TOUR_SEEN,Y=(J.CHECKLIST_STEPS,J.TOUR_URL),Q=J.PROGRESS_BAR_PERCENT;const tt=function(){var t,e;W&&!V&&function(t){p().beginTourModal||d({beginTourModal:t})}(((t=U("frm_get_started_modal",{title:G("Get Started with Formidable Forms","formidable"),content:(e={className:"frm-px-md",text:G("Here's a quick checklist to help you set up and explore the key features of the plugin, so you can start building powerful forms in no time.","formidable")},M("p",e)),footer:B({className:"frmcenter",child:q({className:"button button-primary frm-button-primary",href:Y,text:G("Begin Tour","formidable")})}),width:"440px",dialogClass:"frm-fadein-up-back"})).classList.add("frm_wrap","frm-welcome-tour-modal","frmcenter"),t))};function et(t,e){if(e.offsetParent){var r=e.getBoundingClientRect();if(0!==r.width&&0!==r.height){var n,o=t.dataset.leftPosition;switch(o){case"middle":n=r.left+Math.round(r.width/2);break;case"end":n=r.right;break;default:n=r.left+parseInt(o)}t.style.left="".concat(n||r.left,"px");var i="bottom"===t.dataset.placement?r.top+r.height:r.top+Math.round(r.height/2);t.style.top="".concat(i,"px")}}}function rt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return nt(u,"_invoke",function(r,n,o){var i,c,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,c=0,s=t,p.n=r,a}};function d(r,n){for(c=r,s=n,e=0;!f&&u&&!o&&e3?(o=h===n)&&(s=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>h)&&(i[4]=r,i[5]=n,p.n=h,c=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,h){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,h),c=l,s=h;(e=c<2?t:s)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,s)):p.n=s:p.v=s);try{if(u=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?s:r.call(n,p))!==a)break}catch(e){i=t,c=1,s=e}finally{u=1}}return{value:e,done:f}}}(r,o,i),!0),u}var a={};function c(){}function s(){}function u(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(nt(e={},n,function(){return this}),e),f=u.prototype=c.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,nt(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return s.prototype=u,nt(f,"constructor",u),nt(u,"constructor",s),s.displayName="GeneratorFunction",nt(u,o,"GeneratorFunction"),nt(f),nt(f,o,"Generator"),nt(f,n,function(){return this}),nt(f,"toString",function(){return"[object Generator]"}),(rt=function(){return{w:i,m:p}})()}function nt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}nt=function(t,e,r,n){function i(e,r){nt(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},nt(t,e,r,n)}function ot(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}var it="frm-checklist__step";function at(t){return ct.apply(this,arguments)}function ct(){var t;return t=rt().m(function t(e){var r,n,o,i;return rt().w(function(t){for(;;)switch(t.p=t.n){case 0:if(p().checklist){t.n=1;break}return t.a(2);case 1:if(r=document.getElementById("".concat(it,"-").concat(e))){t.n=2;break}return t.a(2);case 2:if(r.classList.contains("".concat(it,"--active"))){t.n=3;break}return t.a(2);case 3:return(n=new FormData).append("step_key",e),t.p=4,t.n=5,Z("mark_checklist_step_as_completed",n);case 5:if(r.classList.remove("".concat(it,"--active")),r.classList.add("".concat(it,"--completed")),o=r.nextElementSibling){t.n=6;break}return t.a(2);case 6:o.classList.add("".concat(it,"--active")),o.dataset.link&&st(o),t.n=8;break;case 7:t.p=7,i=t.v,console.error("Failed to mark step as completed:",i);case 8:return t.a(2)}},t,null,[[4,7]])}),ct=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){ot(i,n,o,a,c,"next",t)}function c(t){ot(i,n,o,a,c,"throw",t)}a(void 0)})},ct.apply(this,arguments)}function st(t){var e=t.querySelector(".frm-checklist__step-title");if(null==e||!e.querySelector("a")){var r=q({href:t.dataset.link,className:"frm-h-stack-xs",children:Array.from(e.childNodes)});e.replaceChildren(r)}}function ut(){var t=p(),e=t.welcomeTour,r=t.spotlight;null==e||e.remove(),null==r||r.remove(),Z("dismiss_welcome_tour",new FormData)}function lt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return ft(u,"_invoke",function(r,n,o){var i,c,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,c=0,s=t,p.n=r,a}};function d(r,n){for(c=r,s=n,e=0;!f&&u&&!o&&e3?(o=h===n)&&(s=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>h)&&(i[4]=r,i[5]=n,p.n=h,c=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,h){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,h),c=l,s=h;(e=c<2?t:s)||!f;){i||(c?c<3?(c>1&&(p.n=-1),d(c,s)):p.n=s:p.v=s);try{if(u=2,i){if(c||(o="next"),e=i[o]){if(!(e=e.call(i,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=t}else if((e=(f=p.n<0)?s:r.call(n,p))!==a)break}catch(e){i=t,c=1,s=e}finally{u=1}}return{value:e,done:f}}}(r,o,i),!0),u}var a={};function c(){}function s(){}function u(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(ft(e={},n,function(){return this}),e),f=u.prototype=c.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,ft(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return s.prototype=u,ft(f,"constructor",u),ft(u,"constructor",s),s.displayName="GeneratorFunction",ft(u,o,"GeneratorFunction"),ft(f),ft(f,o,"Generator"),ft(f,n,function(){return this}),ft(f,"toString",function(){return"[object Generator]"}),(lt=function(){return{w:i,m:p}})()}function ft(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}ft=function(t,e,r,n){function i(e,r){ft(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},ft(t,e,r,n)}function pt(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function dt(){return ht.apply(this,arguments)}function ht(){var t;return t=lt().m(function t(){return lt().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,at("style-form");case 1:window.location.reload();case 2:return t.a(2)}},t)}),ht=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){pt(i,n,o,a,c,"next",t)}function c(t){pt(i,n,o,a,c,"throw",t)}a(void 0)})},ht.apply(this,arguments)}var mt;mt=function(){var t,e;tt(),document.querySelectorAll(".frm-spotlight").forEach(function(t){setTimeout(function(){!function(t){var e=document.querySelector(t.dataset.target);e&&(document.body.appendChild(t),function(t){for(var e=[window],r=t.parentElement;r&&document.body!==r;){var n=getComputedStyle(r),o=n.overflow,i=n.overflowY;(["auto","scroll"].includes(o)||["auto","scroll"].includes(i))&&e.push(r),r=r.parentElement}return e}(e).forEach(function(r){r.addEventListener("scroll",function(){et(t,e),function(t){var e=document.getElementById("frm_top_bar");if(e){var r=t.getBoundingClientRect().top+24<=e.getBoundingClientRect().bottom;r&&!t.classList.contains("frm-fadeout")?(t.classList.remove("frm-fadein"),t.classList.add("frm-fadeout")):r||t.classList.contains("frm-fadein")||(t.classList.remove("frm-fadeout"),t.classList.add("frm-fadein"))}}(t)},{passive:!0})}),window.addEventListener("resize",function(){return et(t,e)},{passive:!0}),setTimeout(function(){et(t,e),t.classList.remove("frm-force-hidden")},200))}(t)},0)}),(e=document.querySelector(".frm-welcome-tour .frm-checklist__progress-fill"))&&(e.style.width="".concat(Q,"%")),document.addEventListener("frm_added_field",function(){return at("add-fields")}),function(){var t=p().checklist;t&&t.querySelector(".frm-checklist__header").addEventListener("click",function(){return function(t){t.classList.toggle("frm-checklist--collapsed")}(t)})}(),(t=p().dismiss)&&t.addEventListener("click",ut),"formidable-styles"===H.get("page")&&K(document.getElementById("frm_submit_side_top"),dt)},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",mt):mt())})()})(); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@tannin/compile/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/compile/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ compile) +/* harmony export */ }); +/* harmony import */ var _tannin_postfix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/postfix */ "./node_modules/@tannin/postfix/index.js"); +/* harmony import */ var _tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tannin/evaluate */ "./node_modules/@tannin/evaluate/index.js"); + + + +/** + * Given a C expression, returns a function which can be called to evaluate its + * result. + * + * @example + * + * ```js + * import compile from '@tannin/compile'; + * + * const evaluate = compile( 'n > 1' ); + * + * evaluate( { n: 2 } ); + * // ⇒ true + * ``` + * + * @param {string} expression C expression. + * + * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator. + */ +function compile( expression ) { + var terms = (0,_tannin_postfix__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( variables ) { + return (0,_tannin_evaluate__WEBPACK_IMPORTED_MODULE_1__["default"])( terms, variables ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/evaluate/index.js": +/*!************************************************!*\ + !*** ./node_modules/@tannin/evaluate/index.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ evaluate) +/* harmony export */ }); +/** + * Operator callback functions. + * + * @type {Object} + */ +var OPERATORS = { + '!': function( a ) { + return ! a; + }, + '*': function( a, b ) { + return a * b; + }, + '/': function( a, b ) { + return a / b; + }, + '%': function( a, b ) { + return a % b; + }, + '+': function( a, b ) { + return a + b; + }, + '-': function( a, b ) { + return a - b; + }, + '<': function( a, b ) { + return a < b; + }, + '<=': function( a, b ) { + return a <= b; + }, + '>': function( a, b ) { + return a > b; + }, + '>=': function( a, b ) { + return a >= b; + }, + '==': function( a, b ) { + return a === b; + }, + '!=': function( a, b ) { + return a !== b; + }, + '&&': function( a, b ) { + return a && b; + }, + '||': function( a, b ) { + return a || b; + }, + '?:': function( a, b, c ) { + if ( a ) { + throw b; + } + + return c; + }, +}; + +/** + * Given an array of postfix terms and operand variables, returns the result of + * the postfix evaluation. + * + * @example + * + * ```js + * import evaluate from '@tannin/evaluate'; + * + * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +' + * const terms = [ '3', '4', '5', '*', '6', '/', '+' ]; + * + * evaluate( terms, {} ); + * // ⇒ 6.333333333333334 + * ``` + * + * @param {string[]} postfix Postfix terms. + * @param {Object} variables Operand variables. + * + * @return {*} Result of evaluation. + */ +function evaluate( postfix, variables ) { + var stack = [], + i, j, args, getOperatorResult, term, value; + + for ( i = 0; i < postfix.length; i++ ) { + term = postfix[ i ]; + + getOperatorResult = OPERATORS[ term ]; + if ( getOperatorResult ) { + // Pop from stack by number of function arguments. + j = getOperatorResult.length; + args = Array( j ); + while ( j-- ) { + args[ j ] = stack.pop(); + } + + try { + value = getOperatorResult.apply( null, args ); + } catch ( earlyReturn ) { + return earlyReturn; + } + } else if ( variables.hasOwnProperty( term ) ) { + value = variables[ term ]; + } else { + value = +term; + } + + stack.push( value ); + } + + return stack[ 0 ]; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/plural-forms/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@tannin/plural-forms/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ pluralForms) +/* harmony export */ }); +/* harmony import */ var _tannin_compile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/compile */ "./node_modules/@tannin/compile/index.js"); + + +/** + * Given a C expression, returns a function which, when called with a value, + * evaluates the result with the value assumed to be the "n" variable of the + * expression. The result will be coerced to its numeric equivalent. + * + * @param {string} expression C expression. + * + * @return {Function} Evaluator function. + */ +function pluralForms( expression ) { + var evaluate = (0,_tannin_compile__WEBPACK_IMPORTED_MODULE_0__["default"])( expression ); + + return function( n ) { + return +evaluate( { n: n } ); + }; +} + + +/***/ }), + +/***/ "./node_modules/@tannin/postfix/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@tannin/postfix/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ postfix) +/* harmony export */ }); +var PRECEDENCE, OPENERS, TERMINATORS, PATTERN; + +/** + * Operator precedence mapping. + * + * @type {Object} + */ +PRECEDENCE = { + '(': 9, + '!': 8, + '*': 7, + '/': 7, + '%': 7, + '+': 6, + '-': 6, + '<': 5, + '<=': 5, + '>': 5, + '>=': 5, + '==': 4, + '!=': 4, + '&&': 3, + '||': 2, + '?': 1, + '?:': 1, +}; + +/** + * Characters which signal pair opening, to be terminated by terminators. + * + * @type {string[]} + */ +OPENERS = [ '(', '?' ]; + +/** + * Characters which signal pair termination, the value an array with the + * opener as its first member. The second member is an optional operator + * replacement to push to the stack. + * + * @type {string[]} + */ +TERMINATORS = { + ')': [ '(' ], + ':': [ '?', '?:' ], +}; + +/** + * Pattern matching operators and openers. + * + * @type {RegExp} + */ +PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/; + +/** + * Given a C expression, returns the equivalent postfix (Reverse Polish) + * notation terms as an array. + * + * If a postfix string is desired, simply `.join( ' ' )` the result. + * + * @example + * + * ```js + * import postfix from '@tannin/postfix'; + * + * postfix( 'n > 1' ); + * // ⇒ [ 'n', '1', '>' ] + * ``` + * + * @param {string} expression C expression. + * + * @return {string[]} Postfix terms. + */ +function postfix( expression ) { + var terms = [], + stack = [], + match, operator, term, element; + + while ( ( match = expression.match( PATTERN ) ) ) { + operator = match[ 0 ]; + + // Term is the string preceding the operator match. It may contain + // whitespace, and may be empty (if operator is at beginning). + term = expression.substr( 0, match.index ).trim(); + if ( term ) { + terms.push( term ); + } + + while ( ( element = stack.pop() ) ) { + if ( TERMINATORS[ operator ] ) { + if ( TERMINATORS[ operator ][ 0 ] === element ) { + // Substitution works here under assumption that because + // the assigned operator will no longer be a terminator, it + // will be pushed to the stack during the condition below. + operator = TERMINATORS[ operator ][ 1 ] || operator; + break; + } + } else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) { + // Push to stack if either an opener or when pop reveals an + // element of lower precedence. + stack.push( element ); + break; + } + + // For each popped from stack, push to terms. + terms.push( element ); + } + + if ( ! TERMINATORS[ operator ] ) { + stack.push( operator ); + } + + // Slice matched fragment from expression to continue match. + expression = expression.substr( match.index + operator.length ); + } + + // Push remainder of operand, if exists, to terms. + expression = expression.trim(); + if ( expression ) { + terms.push( expression ); + } + + // Pop remaining items from stack into terms. + return terms.concat( stack.reverse() ); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/dom-ready/build-module/index.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@wordpress/dom-ready/build-module/index.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ domReady) +/* harmony export */ }); +/** + * @typedef {() => void} Callback + * + * TODO: Remove this typedef and inline `() => void` type. + * + * This typedef is used so that a descriptive type is provided in our + * automatically generated documentation. + * + * An in-line type `() => void` would be preferable, but the generated + * documentation is `null` in that case. + * + * @see https://github.com/WordPress/gutenberg/issues/18045 + */ + +/** + * Specify a function to execute when the DOM is fully loaded. + * + * @param {Callback} callback A function to execute after the DOM is ready. + * + * @example + * ```js + * import domReady from '@wordpress/dom-ready'; + * + * domReady( function() { + * //do something after DOM loads. + * } ); + * ``` + * + * @return {void} + */ +function domReady(callback) { + if (typeof document === 'undefined') { + return; + } + + if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly. + document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly. + ) { + return void callback(); + } // DOMContentLoaded has not fired yet, delay callback until then. + + + document.addEventListener('DOMContentLoaded', callback); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback AddHook + * + * Adds the hook to the appropriate hooks container. + * + * @param {string} hookName Name of hook to add + * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`. + * @param {import('.').Callback} callback Function to call when the hook is run + * @param {number} [priority=10] Priority of this hook + */ + +/** + * Returns a function which, when invoked, will add a hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {AddHook} Function that adds a new hook. + */ + +function createAddHook(hooks, storeKey) { + return function addHook(hookName, namespace, callback) { + var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10; + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } + + if ('function' !== typeof callback) { + // eslint-disable-next-line no-console + console.error('The hook callback must be a function.'); + return; + } // Validate numeric priority + + + if ('number' !== typeof priority) { + // eslint-disable-next-line no-console + console.error('If specified, the hook priority must be a number.'); + return; + } + + var handler = { + callback: callback, + priority: priority, + namespace: namespace + }; + + if (hooksStore[hookName]) { + // Find the correct insert index of the new hook. + var handlers = hooksStore[hookName].handlers; + /** @type {number} */ + + var i; + + for (i = handlers.length; i > 0; i--) { + if (priority >= handlers[i - 1].priority) { + break; + } + } + + if (i === handlers.length) { + // If append, operate via direct assignment. + handlers[i] = handler; + } else { + // Otherwise, insert before index via splice. + handlers.splice(i, 0, handler); + } // We may also be currently executing this hook. If the callback + // we're adding would come after the current callback, there's no + // problem; otherwise we need to increase the execution index of + // any other runs by 1 to account for the added element. + + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex++; + } + }); + } else { + // This is the first hook of its type. + hooksStore[hookName] = { + handlers: [handler], + runs: 0 + }; + } + + if (hookName !== 'hookAdded') { + hooks.doAction('hookAdded', hookName, namespace, callback, priority); + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAddHook); +//# sourceMappingURL=createAddHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Returns a function which, when invoked, will return the name of the + * currently running hook, or `null` if no hook of the given type is currently + * running. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {() => string | null} Function that returns the current hook name or null. + */ +function createCurrentHook(hooks, storeKey) { + return function currentHook() { + var _hooksStore$__current, _hooksStore$__current2; + + var hooksStore = hooks[storeKey]; + return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createCurrentHook); +//# sourceMappingURL=createCurrentHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + +/** + * @callback DidHook + * + * Returns the number of times an action has been fired. + * + * @param {string} hookName The hook name to check. + * + * @return {number | undefined} The number of times the hook has run. + */ + +/** + * Returns a function which, when invoked, will return the number of times a + * hook has been called. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DidHook} Function that returns a hook's call count. + */ + +function createDidHook(hooks, storeKey) { + return function didHook(hookName) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) { + return; + } + + return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDidHook); +//# sourceMappingURL=createDidHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback DoingHook + * Returns whether a hook is currently being executed. + * + * @param {string} [hookName] The name of the hook to check for. If + * omitted, will check for any hook being executed. + * + * @return {boolean} Whether the hook is being executed. + */ + +/** + * Returns a function which, when invoked, will return whether a hook is + * currently being executed. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {DoingHook} Function that returns whether a hook is currently + * being executed. + */ +function createDoingHook(hooks, storeKey) { + return function doingHook(hookName) { + var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook. + + if ('undefined' === typeof hookName) { + return 'undefined' !== typeof hooksStore.__current[0]; + } // Return the __current hook. + + + return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createDoingHook); +//# sourceMappingURL=createDoingHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * @callback HasHook + * + * Returns whether any handlers are attached for the given hookName and optional namespace. + * + * @param {string} hookName The name of the hook to check for. + * @param {string} [namespace] Optional. The unique namespace identifying the callback + * in the form `vendor/plugin/function`. + * + * @return {boolean} Whether there are handlers that are attached to the given hook. + */ + +/** + * Returns a function which, when invoked, will return whether any handlers are + * attached to a particular hook. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * + * @return {HasHook} Function that returns whether any handlers are + * attached to a particular hook and optional namespace. + */ +function createHasHook(hooks, storeKey) { + return function hasHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; // Use the namespace if provided. + + if ('undefined' !== typeof namespace) { + return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) { + return hook.namespace === namespace; + }); + } + + return hookName in hooksStore; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHasHook); +//# sourceMappingURL=createHasHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ _Hooks: () => (/* binding */ _Hooks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js"); +/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js"); +/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js"); +/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js"); +/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js"); +/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js"); +/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js"); +/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js"); + + +/** + * Internal dependencies + */ + + + + + + + +/** + * Internal class for constructing hooks. Use `createHooks()` function + * + * Note, it is necessary to expose this class to make its type public. + * + * @private + */ + +var _Hooks = function _Hooks() { + (0,_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, _Hooks); + + /** @type {import('.').Store} actions */ + this.actions = Object.create(null); + this.actions.__current = []; + /** @type {import('.').Store} filters */ + + this.filters = Object.create(null); + this.filters.__current = []; + this.addAction = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'actions'); + this.addFilter = (0,_createAddHook__WEBPACK_IMPORTED_MODULE_1__["default"])(this, 'filters'); + this.removeAction = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions'); + this.removeFilter = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters'); + this.hasAction = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'actions'); + this.hasFilter = (0,_createHasHook__WEBPACK_IMPORTED_MODULE_3__["default"])(this, 'filters'); + this.removeAllActions = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'actions', true); + this.removeAllFilters = (0,_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__["default"])(this, 'filters', true); + this.doAction = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'actions'); + this.applyFilters = (0,_createRunHook__WEBPACK_IMPORTED_MODULE_4__["default"])(this, 'filters', true); + this.currentAction = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'actions'); + this.currentFilter = (0,_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__["default"])(this, 'filters'); + this.doingAction = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'actions'); + this.doingFilter = (0,_createDoingHook__WEBPACK_IMPORTED_MODULE_6__["default"])(this, 'filters'); + this.didAction = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'actions'); + this.didFilter = (0,_createDidHook__WEBPACK_IMPORTED_MODULE_7__["default"])(this, 'filters'); +}; +/** @typedef {_Hooks} Hooks */ + +/** + * Returns an instance of the hooks object. + * + * @return {Hooks} A Hooks instance. + */ + +function createHooks() { + return new _Hooks(); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createHooks); +//# sourceMappingURL=createHooks.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js"); +/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js"); +/** + * Internal dependencies + */ + + +/** + * @callback RemoveHook + * Removes the specified callback (or all callbacks) from the hook with a given hookName + * and namespace. + * + * @param {string} hookName The name of the hook to modify. + * @param {string} namespace The unique namespace identifying the callback in the + * form `vendor/plugin/function`. + * + * @return {number | undefined} The number of callbacks removed. + */ + +/** + * Returns a function which, when invoked, will remove a specified hook or all + * hooks by the given name. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName, + * without regard to namespace. Used to create + * `removeAll*` functions. + * + * @return {RemoveHook} Function that removes hooks. + */ + +function createRemoveHook(hooks, storeKey) { + var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function removeHook(hookName, namespace) { + var hooksStore = hooks[storeKey]; + + if (!(0,_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) { + return; + } + + if (!removeAll && !(0,_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) { + return; + } // Bail if no hooks exist by this name + + + if (!hooksStore[hookName]) { + return 0; + } + + var handlersRemoved = 0; + + if (removeAll) { + handlersRemoved = hooksStore[hookName].handlers.length; + hooksStore[hookName] = { + runs: hooksStore[hookName].runs, + handlers: [] + }; + } else { + // Try to find the specified callback to remove. + var handlers = hooksStore[hookName].handlers; + + var _loop = function _loop(i) { + if (handlers[i].namespace === namespace) { + handlers.splice(i, 1); + handlersRemoved++; // This callback may also be part of a hook that is + // currently executing. If the callback we're removing + // comes after the current callback, there's no problem; + // otherwise we need to decrease the execution index of any + // other runs by 1 to account for the removed element. + + hooksStore.__current.forEach(function (hookInfo) { + if (hookInfo.name === hookName && hookInfo.currentIndex >= i) { + hookInfo.currentIndex--; + } + }); + } + }; + + for (var i = handlers.length - 1; i >= 0; i--) { + _loop(i); + } + } + + if (hookName !== 'hookRemoved') { + hooks.doAction('hookRemoved', hookName, namespace); + } + + return handlersRemoved; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRemoveHook); +//# sourceMappingURL=createRemoveHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"); + + +/** + * Returns a function which, when invoked, will execute all callbacks + * registered to a hook of the specified type, optionally returning the final + * value of the call chain. + * + * @param {import('.').Hooks} hooks Hooks instance. + * @param {import('.').StoreKey} storeKey + * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to + * return its first argument. + * + * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks. + */ +function createRunHook(hooks, storeKey) { + var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return function runHooks(hookName) { + var hooksStore = hooks[storeKey]; + + if (!hooksStore[hookName]) { + hooksStore[hookName] = { + handlers: [], + runs: 0 + }; + } + + hooksStore[hookName].runs++; + var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds. + + if (true) { + // Handle any 'all' hooks registered. + if ('hookAdded' !== hookName && hooksStore.all) { + handlers.push.apply(handlers, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__["default"])(hooksStore.all.handlers)); + } + } + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!handlers || !handlers.length) { + return returnFirstArg ? args[0] : undefined; + } + + var hookInfo = { + name: hookName, + currentIndex: 0 + }; + + hooksStore.__current.push(hookInfo); + + while (hookInfo.currentIndex < handlers.length) { + var handler = handlers[hookInfo.currentIndex]; + var result = handler.callback.apply(null, args); + + if (returnFirstArg) { + args[0] = result; + } + + hookInfo.currentIndex++; + } + + hooksStore.__current.pop(); + + if (returnFirstArg) { + return args[0]; + } + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createRunHook); +//# sourceMappingURL=createRunHook.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actions: () => (/* binding */ actions), +/* harmony export */ addAction: () => (/* binding */ addAction), +/* harmony export */ addFilter: () => (/* binding */ addFilter), +/* harmony export */ applyFilters: () => (/* binding */ applyFilters), +/* harmony export */ createHooks: () => (/* reexport safe */ _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ currentAction: () => (/* binding */ currentAction), +/* harmony export */ currentFilter: () => (/* binding */ currentFilter), +/* harmony export */ defaultHooks: () => (/* binding */ defaultHooks), +/* harmony export */ didAction: () => (/* binding */ didAction), +/* harmony export */ didFilter: () => (/* binding */ didFilter), +/* harmony export */ doAction: () => (/* binding */ doAction), +/* harmony export */ doingAction: () => (/* binding */ doingAction), +/* harmony export */ doingFilter: () => (/* binding */ doingFilter), +/* harmony export */ filters: () => (/* binding */ filters), +/* harmony export */ hasAction: () => (/* binding */ hasAction), +/* harmony export */ hasFilter: () => (/* binding */ hasFilter), +/* harmony export */ removeAction: () => (/* binding */ removeAction), +/* harmony export */ removeAllActions: () => (/* binding */ removeAllActions), +/* harmony export */ removeAllFilters: () => (/* binding */ removeAllFilters), +/* harmony export */ removeFilter: () => (/* binding */ removeFilter) +/* harmony export */ }); +/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js"); +/** + * Internal dependencies + */ + +/** @typedef {(...args: any[])=>any} Callback */ + +/** + * @typedef Handler + * @property {Callback} callback The callback + * @property {string} namespace The namespace + * @property {number} priority The namespace + */ + +/** + * @typedef Hook + * @property {Handler[]} handlers Array of handlers + * @property {number} runs Run counter + */ + +/** + * @typedef Current + * @property {string} name Hook name + * @property {number} currentIndex The index + */ + +/** + * @typedef {Record & {__current: Current[]}} Store + */ + +/** + * @typedef {'actions' | 'filters'} StoreKey + */ + +/** + * @typedef {import('./createHooks').Hooks} Hooks + */ + +var defaultHooks = (0,_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(); +var addAction = defaultHooks.addAction, + addFilter = defaultHooks.addFilter, + removeAction = defaultHooks.removeAction, + removeFilter = defaultHooks.removeFilter, + hasAction = defaultHooks.hasAction, + hasFilter = defaultHooks.hasFilter, + removeAllActions = defaultHooks.removeAllActions, + removeAllFilters = defaultHooks.removeAllFilters, + doAction = defaultHooks.doAction, + applyFilters = defaultHooks.applyFilters, + currentAction = defaultHooks.currentAction, + currentFilter = defaultHooks.currentFilter, + doingAction = defaultHooks.doingAction, + doingFilter = defaultHooks.doingFilter, + didAction = defaultHooks.didAction, + didFilter = defaultHooks.didFilter, + actions = defaultHooks.actions, + filters = defaultHooks.filters; + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js": +/*!************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a hookName string. + * + * @param {string} hookName The hook name to validate. Should be a non empty string containing + * only numbers, letters, dashes, periods and underscores. Also, + * the hook name cannot begin with `__`. + * + * @return {boolean} Whether the hook name is valid. + */ +function validateHookName(hookName) { + if ('string' !== typeof hookName || '' === hookName) { + // eslint-disable-next-line no-console + console.error('The hook name must be a non-empty string.'); + return false; + } + + if (/^__/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name cannot begin with `__`.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) { + // eslint-disable-next-line no-console + console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateHookName); +//# sourceMappingURL=validateHookName.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Validate a namespace string. + * + * @param {string} namespace The namespace to validate - should take the form + * `vendor/plugin/function`. + * + * @return {boolean} Whether the namespace is valid. + */ +function validateNamespace(namespace) { + if ('string' !== typeof namespace || '' === namespace) { + // eslint-disable-next-line no-console + console.error('The namespace must be a non-empty string.'); + return false; + } + + if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) { + // eslint-disable-next-line no-console + console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'); + return false; + } + + return true; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validateNamespace); +//# sourceMappingURL=validateNamespace.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/create-i18n.js": +/*!******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/create-i18n.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createI18n: () => (/* binding */ createI18n) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js"); +/* harmony import */ var tannin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tannin */ "./node_modules/tannin/index.js"); + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * External dependencies + */ + +/** + * @typedef {Record} LocaleData + */ + +/** + * Default locale data to use for Tannin domain when not otherwise provided. + * Assumes an English plural forms expression. + * + * @type {LocaleData} + */ + +var DEFAULT_LOCALE_DATA = { + '': { + /** @param {number} n */ + plural_forms: function plural_forms(n) { + return n === 1 ? 0 : 1; + } + } +}; +/* + * Regular expression that matches i18n hooks like `i18n.gettext`, `i18n.ngettext`, + * `i18n.gettext_domain` or `i18n.ngettext_with_context` or `i18n.has_translation`. + */ + +var I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/; +/** + * @typedef {(domain?: string) => LocaleData} GetLocaleData + * + * Returns locale data by domain in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} SetLocaleData + * + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** + * @typedef {(data?: LocaleData, domain?: string) => void} ResetLocaleData + * + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + */ + +/** @typedef {() => void} SubscribeCallback */ + +/** @typedef {() => void} UnsubscribeCallback */ + +/** + * @typedef {(callback: SubscribeCallback) => UnsubscribeCallback} Subscribe + * + * Subscribes to changes of locale data + */ + +/** + * @typedef {(domain?: string) => string} GetFilterDomain + * Retrieve the domain to use when calling domain-specific filters. + */ + +/** + * @typedef {(text: string, domain?: string) => string} __ + * + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + */ + +/** + * @typedef {(text: string, context: string, domain?: string) => string} _x + * + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, domain?: string) => string} _n + * + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + */ + +/** + * @typedef {(single: string, plural: string, number: number, context: string, domain?: string) => string} _nx + * + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + */ + +/** + * @typedef {() => boolean} IsRtl + * + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + */ + +/** + * @typedef {(single: string, context?: string, domain?: string) => boolean} HasTranslation + * + * Check if there is a translation for a given string in singular form. + */ + +/** @typedef {import('@wordpress/hooks').Hooks} Hooks */ + +/** + * An i18n instance + * + * @typedef I18n + * @property {GetLocaleData} getLocaleData Returns locale data by domain in a Jed-formatted JSON object shape. + * @property {SetLocaleData} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * @property {ResetLocaleData} resetLocaleData Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * @property {Subscribe} subscribe Subscribes to changes of Tannin locale data. + * @property {__} __ Retrieve the translation of text. + * @property {_x} _x Retrieve translated string with gettext context. + * @property {_n} _n Translates and retrieves the singular or plural form based on the supplied + * number. + * @property {_nx} _nx Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * @property {IsRtl} isRTL Check if current locale is RTL. + * @property {HasTranslation} hasTranslation Check if there is a translation for a given string. + */ + +/** + * Create an i18n instance + * + * @param {LocaleData} [initialData] Locale data configuration. + * @param {string} [initialDomain] Domain for which configuration applies. + * @param {Hooks} [hooks] Hooks implementation. + * @return {I18n} I18n instance + */ + +var createI18n = function createI18n(initialData, initialDomain, hooks) { + /** + * The underlying instance of Tannin to which exported functions interface. + * + * @type {Tannin} + */ + var tannin = new tannin__WEBPACK_IMPORTED_MODULE_1__["default"]({}); + var listeners = new Set(); + + var notifyListeners = function notifyListeners() { + listeners.forEach(function (listener) { + return listener(); + }); + }; + /** + * Subscribe to changes of locale data. + * + * @param {SubscribeCallback} callback Subscription callback. + * @return {UnsubscribeCallback} Unsubscribe callback. + */ + + + var subscribe = function subscribe(callback) { + listeners.add(callback); + return function () { + return listeners.delete(callback); + }; + }; + /** @type {GetLocaleData} */ + + + var getLocaleData = function getLocaleData() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return tannin.data[domain]; + }; + /** + * @param {LocaleData} [data] + * @param {string} [domain] + */ + + + var doSetLocaleData = function doSetLocaleData(data) { + var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + tannin.data[domain] = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA), tannin.data[domain]), data); // Populate default domain configuration (supported locale date which omits + // a plural forms expression). + + tannin.data[domain][''] = _objectSpread(_objectSpread({}, DEFAULT_LOCALE_DATA['']), tannin.data[domain]['']); + }; + /** @type {SetLocaleData} */ + + + var setLocaleData = function setLocaleData(data, domain) { + doSetLocaleData(data, domain); + notifyListeners(); + }; + /** @type {ResetLocaleData} */ + + + var resetLocaleData = function resetLocaleData(data, domain) { + // Reset all current Tannin locale data. + tannin.data = {}; // Reset cached plural forms functions cache. + + tannin.pluralForms = {}; + setLocaleData(data, domain); + }; + /** + * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not + * otherwise previously assigned. + * + * @param {string|undefined} domain Domain to retrieve the translated text. + * @param {string|undefined} context Context information for the translators. + * @param {string} single Text to translate if non-plural. Used as + * fallback return value on a caught error. + * @param {string} [plural] The text to be used if the number is + * plural. + * @param {number} [number] The number to compare against to use + * either the singular or plural form. + * + * @return {string} The translated string. + */ + + + var dcnpgettext = function dcnpgettext() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + var context = arguments.length > 1 ? arguments[1] : undefined; + var single = arguments.length > 2 ? arguments[2] : undefined; + var plural = arguments.length > 3 ? arguments[3] : undefined; + var number = arguments.length > 4 ? arguments[4] : undefined; + + if (!tannin.data[domain]) { + // use `doSetLocaleData` to set silently, without notifying listeners + doSetLocaleData(undefined, domain); + } + + return tannin.dcnpgettext(domain, context, single, plural, number); + }; + /** @type {GetFilterDomain} */ + + + var getFilterDomain = function getFilterDomain() { + var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default'; + return domain; + }; + /** @type {__} */ + + + var __ = function __(text, domain) { + var translation = dcnpgettext(domain, undefined, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext', translation, text, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_' + getFilterDomain(domain), translation, text, domain) + ); + }; + /** @type {_x} */ + + + var _x = function _x(text, context, domain) { + var translation = dcnpgettext(domain, context, text); + + if (!hooks) { + return translation; + } + /** + * Filters text with its translation based on context information. + * + * @param {string} translation Translated text. + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context', translation, text, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.gettext_with_context_' + getFilterDomain(domain), translation, text, context, domain) + ); + }; + /** @type {_n} */ + + + var _n = function _n(single, plural, number, domain) { + var translation = dcnpgettext(domain, undefined, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext', translation, single, plural, number, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_' + getFilterDomain(domain), translation, single, plural, number, domain) + ); + }; + /** @type {_nx} */ + + + var _nx = function _nx(single, plural, number, context, domain) { + var translation = dcnpgettext(domain, context, single, plural, number); + + if (!hooks) { + return translation; + } + /** + * Filters the singular or plural form of a string with gettext context. + * + * @param {string} translation Translated text. + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {string} number The number to compare against to use either the singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + + + translation = + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context', translation, single, plural, number, context, domain); + return ( + /** @type {string} */ + + /** @type {*} */ + hooks.applyFilters('i18n.ngettext_with_context_' + getFilterDomain(domain), translation, single, plural, number, context, domain) + ); + }; + /** @type {IsRtl} */ + + + var isRTL = function isRTL() { + return 'rtl' === _x('ltr', 'text direction'); + }; + /** @type {HasTranslation} */ + + + var hasTranslation = function hasTranslation(single, context, domain) { + var _tannin$data, _tannin$data2; + + var key = context ? context + "\x04" + single : single; + var result = !!((_tannin$data = tannin.data) !== null && _tannin$data !== void 0 && (_tannin$data2 = _tannin$data[domain !== null && domain !== void 0 ? domain : 'default']) !== null && _tannin$data2 !== void 0 && _tannin$data2[key]); + + if (hooks) { + /** + * Filters the presence of a translation in the locale data. + * + * @param {boolean} hasTranslation Whether the translation is present or not.. + * @param {string} single The singular form of the translated text (used as key in locale data) + * @param {string} context Context information for the translators. + * @param {string} domain Text domain. Unique identifier for retrieving translated strings. + */ + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation', result, single, context, domain); + result = + /** @type { boolean } */ + + /** @type {*} */ + hooks.applyFilters('i18n.has_translation_' + getFilterDomain(domain), result, single, context, domain); + } + + return result; + }; + + if (initialData) { + setLocaleData(initialData, initialDomain); + } + + if (hooks) { + /** + * @param {string} hookName + */ + var onHookAddedOrRemoved = function onHookAddedOrRemoved(hookName) { + if (I18N_HOOK_REGEXP.test(hookName)) { + notifyListeners(); + } + }; + + hooks.addAction('hookAdded', 'core/i18n', onHookAddedOrRemoved); + hooks.addAction('hookRemoved', 'core/i18n', onHookAddedOrRemoved); + } + + return { + getLocaleData: getLocaleData, + setLocaleData: setLocaleData, + resetLocaleData: resetLocaleData, + subscribe: subscribe, + __: __, + _x: _x, + _n: _n, + _nx: _nx, + isRTL: isRTL, + hasTranslation: hasTranslation + }; +}; +//# sourceMappingURL=create-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/default-i18n.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/default-i18n.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* binding */ __), +/* harmony export */ _n: () => (/* binding */ _n), +/* harmony export */ _nx: () => (/* binding */ _nx), +/* harmony export */ _x: () => (/* binding */ _x), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ getLocaleData: () => (/* binding */ getLocaleData), +/* harmony export */ hasTranslation: () => (/* binding */ hasTranslation), +/* harmony export */ isRTL: () => (/* binding */ isRTL), +/* harmony export */ resetLocaleData: () => (/* binding */ resetLocaleData), +/* harmony export */ setLocaleData: () => (/* binding */ setLocaleData), +/* harmony export */ subscribe: () => (/* binding */ subscribe) +/* harmony export */ }); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/hooks */ "./node_modules/@wordpress/hooks/build-module/index.js"); +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + +var i18n = (0,_create_i18n__WEBPACK_IMPORTED_MODULE_0__.createI18n)(undefined, undefined, _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__.defaultHooks); +/** + * Default, singleton instance of `I18n`. + */ + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n); +/* + * Comments in this file are duplicated from ./i18n due to + * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722 + */ + +/** + * @typedef {import('./create-i18n').LocaleData} LocaleData + * @typedef {import('./create-i18n').SubscribeCallback} SubscribeCallback + * @typedef {import('./create-i18n').UnsubscribeCallback} UnsubscribeCallback + */ + +/** + * Returns locale data by domain in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {string} [domain] Domain for which to get the data. + * @return {LocaleData} Locale data. + */ + +var getLocaleData = i18n.getLocaleData.bind(i18n); +/** + * Merges locale data into the Tannin instance by domain. Accepts data in a + * Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var setLocaleData = i18n.setLocaleData.bind(i18n); +/** + * Resets all current Tannin instance locale data and sets the specified + * locale data for the domain. Accepts data in a Jed-formatted JSON object shape. + * + * @see http://messageformat.github.io/Jed/ + * + * @param {LocaleData} [data] Locale data configuration. + * @param {string} [domain] Domain for which configuration applies. + */ + +var resetLocaleData = i18n.resetLocaleData.bind(i18n); +/** + * Subscribes to changes of locale data + * + * @param {SubscribeCallback} callback Subscription callback + * @return {UnsubscribeCallback} Unsubscribe callback + */ + +var subscribe = i18n.subscribe.bind(i18n); +/** + * Retrieve the translation of text. + * + * @see https://developer.wordpress.org/reference/functions/__/ + * + * @param {string} text Text to translate. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated text. + */ + +var __ = i18n.__.bind(i18n); +/** + * Retrieve translated string with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_x/ + * + * @param {string} text Text to translate. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} Translated context string without pipe. + */ + +var _x = i18n._x.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number. + * + * @see https://developer.wordpress.org/reference/functions/_n/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _n = i18n._n.bind(i18n); +/** + * Translates and retrieves the singular or plural form based on the supplied + * number, with gettext context. + * + * @see https://developer.wordpress.org/reference/functions/_nx/ + * + * @param {string} single The text to be used if the number is singular. + * @param {string} plural The text to be used if the number is plural. + * @param {number} number The number to compare against to use either the + * singular or plural form. + * @param {string} context Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * + * @return {string} The translated singular or plural form. + */ + +var _nx = i18n._nx.bind(i18n); +/** + * Check if current locale is RTL. + * + * **RTL (Right To Left)** is a locale property indicating that text is written from right to left. + * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common + * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, + * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`). + * + * @return {boolean} Whether locale is RTL. + */ + +var isRTL = i18n.isRTL.bind(i18n); +/** + * Check if there is a translation for a given string (in singular form). + * + * @param {string} single Singular form of the string to look up. + * @param {string} [context] Context information for the translators. + * @param {string} [domain] Domain to retrieve the translated text. + * @return {boolean} Whether the translation exists or not. + */ + +var hasTranslation = i18n.hasTranslation.bind(i18n); +//# sourceMappingURL=default-i18n.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ __: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.__), +/* harmony export */ _n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._n), +/* harmony export */ _nx: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._nx), +/* harmony export */ _x: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__._x), +/* harmony export */ createI18n: () => (/* reexport safe */ _create_i18n__WEBPACK_IMPORTED_MODULE_1__.createI18n), +/* harmony export */ defaultI18n: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ getLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.getLocaleData), +/* harmony export */ hasTranslation: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.hasTranslation), +/* harmony export */ isRTL: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.isRTL), +/* harmony export */ resetLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.resetLocaleData), +/* harmony export */ setLocaleData: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.setLocaleData), +/* harmony export */ sprintf: () => (/* reexport safe */ _sprintf__WEBPACK_IMPORTED_MODULE_0__.sprintf), +/* harmony export */ subscribe: () => (/* reexport safe */ _default_i18n__WEBPACK_IMPORTED_MODULE_2__.subscribe) +/* harmony export */ }); +/* harmony import */ var _sprintf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sprintf */ "./node_modules/@wordpress/i18n/build-module/sprintf.js"); +/* harmony import */ var _create_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-i18n */ "./node_modules/@wordpress/i18n/build-module/create-i18n.js"); +/* harmony import */ var _default_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default-i18n */ "./node_modules/@wordpress/i18n/build-module/default-i18n.js"); + + + +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/build-module/sprintf.js": +/*!**************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/build-module/sprintf.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ sprintf: () => (/* binding */ sprintf) +/* harmony export */ }); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! memize */ "./node_modules/memize/index.js"); +/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sprintf-js */ "./node_modules/sprintf-js/src/sprintf.js"); +/* harmony import */ var sprintf_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sprintf_js__WEBPACK_IMPORTED_MODULE_1__); +/** + * External dependencies + */ + + +/** + * Log to console, once per message; or more precisely, per referentially equal + * argument set. Because Jed throws errors, we log these to the console instead + * to avoid crashing the application. + * + * @param {...*} args Arguments to pass to `console.error` + */ + +var logErrorOnce = memize__WEBPACK_IMPORTED_MODULE_0___default()(console.error); // eslint-disable-line no-console + +/** + * Returns a formatted string. If an error occurs in applying the format, the + * original format string is returned. + * + * @param {string} format The format of the string to generate. + * @param {...*} args Arguments to apply to the format. + * + * @see https://www.npmjs.com/package/sprintf-js + * + * @return {string} The formatted string. + */ + +function sprintf(format) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return sprintf_js__WEBPACK_IMPORTED_MODULE_1___default().sprintf.apply((sprintf_js__WEBPACK_IMPORTED_MODULE_1___default()), [format].concat(args)); + } catch (error) { + logErrorOnce('sprintf error: \n\n' + error.toString()); + return format; + } +} +//# sourceMappingURL=sprintf.js.map + +/***/ }), + +/***/ "./js/src/core/constants.js": +/*!**********************************!*\ + !*** ./js/src/core/constants.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKED_CLASS: () => (/* binding */ CHECKED_CLASS), +/* harmony export */ CURRENT_CLASS: () => (/* binding */ CURRENT_CLASS), +/* harmony export */ DISABLED_CLASS: () => (/* binding */ DISABLED_CLASS), +/* harmony export */ HIDDEN_CLASS: () => (/* binding */ HIDDEN_CLASS), +/* harmony export */ HIDE_JS_CLASS: () => (/* binding */ HIDE_JS_CLASS), +/* harmony export */ HOOKS: () => (/* binding */ HOOKS), +/* harmony export */ PLUGIN_URL: () => (/* binding */ PLUGIN_URL), +/* harmony export */ SINGLE_SETTINGS_CLASS: () => (/* binding */ SINGLE_SETTINGS_CLASS), +/* harmony export */ nonce: () => (/* binding */ nonce) +/* harmony export */ }); +var _window$frmGlobal = window.frmGlobal, + PLUGIN_URL = _window$frmGlobal.url, + nonce = _window$frmGlobal.nonce; + +var HIDDEN_CLASS = 'frm_hidden'; +var DISABLED_CLASS = 'frm_disabled'; +var HIDE_JS_CLASS = 'frm-hide-js'; +var CURRENT_CLASS = 'frm-current'; +var CHECKED_CLASS = 'frm-checked'; +var SINGLE_SETTINGS_CLASS = 'frm-single-settings'; +var HOOKS = { + SHOW_FIELD_SETTINGS: 'frmShowedFieldSettings' +}; + +/***/ }), + +/***/ "./js/src/core/factory/createPageElements.js": +/*!***************************************************!*\ + !*** ./js/src/core/factory/createPageElements.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* binding */ createPageElements) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page elements manager. + * + * @param {Object} [initialElements={}] An object containing initial DOM elements. + * @throws {Error} Throws an error if the `initialElements` is not an object. + * @return {Object} An object with methods to get and add elements. + */ +function createPageElements() { + var initialElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialElements) !== 'object' || initialElements === null) { + throw new Error('createPageElements: initialElements must be a non-null object'); + } + var elements = initialElements; + + /** + * Retrieve the initialized essential DOM elements. + * + * @return {Object} The initialized elements object. + */ + function getElements() { + return elements; + } + + /** + * Add new elements to the elements object. + * + * @param {Object} newElements An object containing new elements to be added. + * @throws {Error} Throws an error if the `newElements` is not a non-null object. + * @return {void} Updates the elements object by merging the new elements into it. + */ + function addElements(newElements) { + if (_typeof(newElements) !== 'object' || newElements === null) { + throw new Error('addElements: newElements must be a non-null object'); + } + elements = _objectSpread(_objectSpread({}, elements), newElements); + } + return { + getElements: getElements, + addElements: addElements + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/createPageState.js": +/*!************************************************!*\ + !*** ./js/src/core/factory/createPageState.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageState: () => (/* binding */ createPageState) +/* harmony export */ }); +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/** + * Creates a page state manager. + * + * @param {Object} [initialState={}] An object containing the initial state. + * @throws {Error} Throws an error if the `initialState` is not a plain object. + * @return {Object} An object with methods to initialize, get, and set the page state. + */ +function createPageState() { + var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (_typeof(initialState) !== 'object' || initialState === null) { + throw new Error('createPageState: initialState must be a non-null object'); + } + var state = initialState; + + /** + * Returns the current page state. + * + * @return {Object|null} The current state of the page or null if not initialized. + */ + var getState = function getState() { + return state; + }; + + /** + * Returns a specific property from the current page state. + * + * @param {string} propertyName The name of the property to retrieve. + * @return {*} The value of the specified property, or null if it doesn't exist. + */ + var getSingleState = function getSingleState(propertyName) { + var value = Reflect.get(state, propertyName); + + // We convert `undefined` to `null` for a consistent API. + // This makes it easier for users to handle the results since all missing properties return `null`. + return value === undefined ? null : value; + }; + + /** + * Updates the page state with new values. + * + * @param {Object} newState The new values to update the state with. + * @throws {Error} Throws an error if `newState` is not a plain object. + * @return {void} + */ + var setState = function setState(newState) { + if (_typeof(newState) !== 'object' || newState === null) { + throw new Error('setState: newState must be a non-null object'); + } + state = _objectSpread(_objectSpread({}, state), newState); + }; + + /** + * Updates a specific property in the page state with a new value. + * + * @param {string} propertyName The name of the property to update. + * @param {*} value The new value to set for the property. + * @return {void} + */ + var setSingleState = function setSingleState(propertyName, value) { + if (Reflect.has(state, propertyName)) { + Reflect.set(state, propertyName, value); + } + }; + return { + getState: getState, + getSingleState: getSingleState, + setState: setState, + setSingleState: setSingleState + }; +} + +/***/ }), + +/***/ "./js/src/core/factory/index.js": +/*!**************************************!*\ + !*** ./js/src/core/factory/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createPageElements: () => (/* reexport safe */ _createPageElements__WEBPACK_IMPORTED_MODULE_0__.createPageElements), +/* harmony export */ createPageState: () => (/* reexport safe */ _createPageState__WEBPACK_IMPORTED_MODULE_1__.createPageState) +/* harmony export */ }); +/* harmony import */ var _createPageElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPageElements */ "./js/src/core/factory/createPageElements.js"); +/* harmony import */ var _createPageState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createPageState */ "./js/src/core/factory/createPageState.js"); + + + +/***/ }), + +/***/ "./js/src/core/utils/animation.js": +/*!****************************************!*\ + !*** ./js/src/core/utils/animation.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ frmAnimate: () => (/* binding */ frmAnimate) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var frmAnimate = /*#__PURE__*/function () { + /** + * Construct frmAnimate + * + * @param {Element|Element[]} elements The elements to animate. + * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d + */ + function frmAnimate(elements) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; + _classCallCheck(this, frmAnimate); + this.elements = elements; + this.type = type; + this.prepareElements(); + } + + /** + * Init animation - fadeIn. + * Requires this.type = 'default'; + * ex: new frmAnimate( elements ).fadeIn(); + */ + return _createClass(frmAnimate, [{ + key: "fadeIn", + value: function fadeIn() { + var _this = this; + this.applyStyleToElements(function (element) { + element.classList.add('frm-fadein-up'); + element.addEventListener('animationend', function () { + _this.resetOpacity(); + element.classList.remove('frm-fadein-up'); + }, { + once: true + }); + }); + } + + /** + * Init animation - cascadeFadeIn. + * Requires this.type = 'cascade'|'cascade-3d'; + * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn(); + * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn(); + * + * @param {number} delay The transition delay value. + */ + }, { + key: "cascadeFadeIn", + value: function cascadeFadeIn() { + var _this2 = this; + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.03; + setTimeout(function () { + _this2.applyStyleToElements(function (element, index) { + element.classList.remove('frm-animate'); + element.style.transitionDelay = (index + 1) * delay + 's'; + }); + }, 200); + } + }, { + key: "prepareElements", + value: function prepareElements() { + var _this3 = this; + this.applyStyleToElements(function (element) { + if ('default' === _this3.type) { + element.style.opacity = '0.0'; + } + if ('cascade' === _this3.type) { + element.classList.add('frm-init-cascade-animation'); + } + if ('cascade-3d' === _this3.type) { + element.classList.add('frm-init-fadein-3d'); + } + element.classList.add('frm-animate'); + }); + } + }, { + key: "resetOpacity", + value: function resetOpacity() { + this.applyStyleToElements(function (element) { + return element.style.opacity = '1.0'; + }); + } + }, { + key: "applyStyleToElements", + value: function applyStyleToElements(callback) { + if (this.elements instanceof Element) { + callback(this.elements, 0); + return; + } + if (0 < this.elements.length) { + this.elements.forEach(function (element, index) { + return callback(element, index); + }); + } + } + }]); +}(); + +/***/ }), + +/***/ "./js/src/core/utils/async.js": +/*!************************************!*\ + !*** ./js/src/core/utils/async.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToRequestQueue: () => (/* binding */ addToRequestQueue) +/* harmony export */ }); +// Initialize lastPromise with a resolved promise as the starting point for the queue +var lastPromise = Promise.resolve(); + +/** + * Adds a task to the request queue. + * + * @param {function(): Promise} task A function that returns a promise. + * @return {Promise} The new last promise in the queue. + */ +var addToRequestQueue = function addToRequestQueue(task) { + return lastPromise = lastPromise.then(task).catch(task); +}; + +/***/ }), + +/***/ "./js/src/core/utils/error.js": +/*!************************************!*\ + !*** ./js/src/core/utils/error.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ showFormError: () => (/* binding */ showFormError) +/* harmony export */ }); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ "./js/src/core/utils/index.js"); +/** + * Internal dependencies + */ + + +/** + * Displays form validation error messages. + * + * @param {string} inputId The ID selector for the input field with the error. + * @param {string} errorId The ID selector for the error message display element. + * @param {string} type The categorization of the error (e.g., "invalid", "empty"). + * @param {string} [message] Optional. The specific error message to display. + * @return {void} + */ +var showFormError = function showFormError(inputId, errorId, type, message) { + var inputElement = document.querySelector(inputId); + var errorElement = document.querySelector(errorId); + if (!inputElement || !errorElement) { + console.warn('showFormError: Unable to find input or error element.'); + return; + } + + // If a message is provided, update the span element's text that matches the error type + if (message) { + var span = errorElement.querySelector("span[frm-error=\"".concat(type, "\"]")); + if (span) { + span.textContent = message; + } + } + + // Assign the error type and make the error message visible + errorElement.setAttribute('frm-error', type); + (0,___WEBPACK_IMPORTED_MODULE_0__.show)(errorElement); + + // Hide the error message when the user starts typing in the faulty input field + inputElement.addEventListener('keyup', function () { + (0,___WEBPACK_IMPORTED_MODULE_0__.hide)(errorElement); + }, { + once: true + }); +}; + +/***/ }), + +/***/ "./js/src/core/utils/globalModules.js": +/*!********************************************!*\ + !*** ./js/src/core/utils/globalModules.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* binding */ a), +/* harmony export */ bold: () => (/* binding */ bold), +/* harmony export */ button: () => (/* binding */ button), +/* harmony export */ div: () => (/* binding */ div), +/* harmony export */ doJsonPost: () => (/* binding */ doJsonPost), +/* harmony export */ documentOn: () => (/* binding */ documentOn), +/* harmony export */ footerButton: () => (/* binding */ footerButton), +/* harmony export */ img: () => (/* binding */ img), +/* harmony export */ maybeCreateModal: () => (/* binding */ maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* binding */ onClickPreventDefault), +/* harmony export */ p: () => (/* binding */ p), +/* harmony export */ span: () => (/* binding */ span), +/* harmony export */ svg: () => (/* binding */ svg), +/* harmony export */ tag: () => (/* binding */ tag) +/* harmony export */ }); +var _frmDom = frmDom, + div = _frmDom.div, + span = _frmDom.span, + tag = _frmDom.tag, + a = _frmDom.a, + img = _frmDom.img, + svg = _frmDom.svg; +var _frmDom$modal = frmDom.modal, + maybeCreateModal = _frmDom$modal.maybeCreateModal, + footerButton = _frmDom$modal.footerButton; +var _frmDom$util = frmDom.util, + onClickPreventDefault = _frmDom$util.onClickPreventDefault, + documentOn = _frmDom$util.documentOn; +var doJsonPost = frmDom.ajax.doJsonPost; +var p = function p(args) { + return tag('p', args); +}; +var bold = function bold(args) { + return tag('strong', args); +}; +var button = function button(args) { + return tag('button', args); +}; + + +/***/ }), + +/***/ "./js/src/core/utils/index.js": +/*!************************************!*\ + !*** ./js/src/core/utils/index.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ a: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.a), +/* harmony export */ addToRequestQueue: () => (/* reexport safe */ _async__WEBPACK_IMPORTED_MODULE_1__.addToRequestQueue), +/* harmony export */ bold: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.bold), +/* harmony export */ button: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.button), +/* harmony export */ div: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.div), +/* harmony export */ doJsonPost: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.doJsonPost), +/* harmony export */ documentOn: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.documentOn), +/* harmony export */ footerButton: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.footerButton), +/* harmony export */ frmAnimate: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_0__.frmAnimate), +/* harmony export */ getQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.getQueryParam), +/* harmony export */ hasQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.hasQueryParam), +/* harmony export */ hide: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hide), +/* harmony export */ hideElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.hideElements), +/* harmony export */ img: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.img), +/* harmony export */ isEmptyObject: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isHTMLElement), +/* harmony export */ isValidEmail: () => (/* reexport safe */ _validation__WEBPACK_IMPORTED_MODULE_5__.isValidEmail), +/* harmony export */ isVisible: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.isVisible), +/* harmony export */ maybeCreateModal: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.maybeCreateModal), +/* harmony export */ onClickPreventDefault: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.onClickPreventDefault), +/* harmony export */ p: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.p), +/* harmony export */ removeParamFromHistory: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.removeQueryParam), +/* harmony export */ setQueryParam: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_4__.setQueryParam), +/* harmony export */ show: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.show), +/* harmony export */ showElements: () => (/* reexport safe */ _visibility__WEBPACK_IMPORTED_MODULE_6__.showElements), +/* harmony export */ showFormError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_2__.showFormError), +/* harmony export */ span: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.span), +/* harmony export */ svg: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.svg), +/* harmony export */ tag: () => (/* reexport safe */ _globalModules__WEBPACK_IMPORTED_MODULE_3__.tag) +/* harmony export */ }); +/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animation */ "./js/src/core/utils/animation.js"); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ "./js/src/core/utils/async.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ "./js/src/core/utils/error.js"); +/* harmony import */ var _globalModules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./globalModules */ "./js/src/core/utils/globalModules.js"); +/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./url */ "./js/src/core/utils/url.js"); +/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./validation */ "./js/src/core/utils/validation.js"); +/* harmony import */ var _visibility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./visibility */ "./js/src/core/utils/visibility.js"); + + + + + + + + +/***/ }), + +/***/ "./js/src/core/utils/url.js": +/*!**********************************!*\ + !*** ./js/src/core/utils/url.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getQueryParam: () => (/* binding */ getQueryParam), +/* harmony export */ hasQueryParam: () => (/* binding */ hasQueryParam), +/* harmony export */ removeParamFromHistory: () => (/* binding */ removeParamFromHistory), +/* harmony export */ removeQueryParam: () => (/* binding */ removeQueryParam), +/* harmony export */ setQueryParam: () => (/* binding */ setQueryParam) +/* harmony export */ }); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * Initializes URL and URLSearchParams objects from the current window's location + */ +var url = new URL(window.location.href); +var urlParams = url.searchParams; + +/** + * Gets the value of a specified query parameter from the current URL. + * + * @param {string} paramName The name of the query parameter to retrieve. + * @return {string|null} The value associated with the specified query parameter name, or null if not found. + */ +var getQueryParam = function getQueryParam(paramName) { + return urlParams.get(paramName); +}; + +/** + * Removes a query parameter from the current URL and returns the updated URL string. + * + * @param {string} paramName The name of the query parameter to remove. + * @return {string} The updated URL string. + */ +var removeQueryParam = function removeQueryParam(paramName) { + urlParams.delete(paramName); + url.search = urlParams.toString(); + return url.toString(); +}; + +/** + * Sets the value of a query parameter in the current URL and optionally updates the browser's history state. + * + * @param {string} paramName The name of the query parameter to set. + * @param {string} paramValue The value to set for the query parameter. + * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. + * @return {string} The updated URL string. + */ +var setQueryParam = function setQueryParam(paramName, paramValue) { + var updateMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'pushState'; + urlParams.set(paramName, paramValue); + url.search = urlParams.toString(); + if (['pushState', 'replaceState'].includes(updateMethod)) { + var state = _defineProperty({}, paramName, paramValue); + window.history[updateMethod](state, '', url); + } + return url.toString(); +}; + +/** + * Checks if a query parameter exists in the current URL. + * + * @param {string} paramName The name of the query parameter to check. + * @return {boolean} True if the query parameter exists, otherwise false. + */ +var hasQueryParam = function hasQueryParam(paramName) { + return urlParams.has(paramName); +}; + +/** + * Removes a query parameter and updates history with replaceState. + * + * @param {string} paramName The query parameter to remove. + * @return {void} + */ +var removeParamFromHistory = function removeParamFromHistory(paramName) { + return history.replaceState({}, '', removeQueryParam(paramName)); +}; + +/***/ }), + +/***/ "./js/src/core/utils/validation.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/validation.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), +/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement), +/* harmony export */ isValidEmail: () => (/* binding */ isValidEmail) +/* harmony export */ }); +/** + * Validates an email address using a regular expression. + * + * @param {string} email The email address to validate. + * @return {boolean} True if the email address is valid, otherwise false. + */ +var isValidEmail = function isValidEmail(email) { + return typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email) : false; +}; + +/** + * Validates if the given element is an instance of HTMLElement. + * + * @param {any} element Element to be checked. + * @return {boolean} True if it's an HTMLElement, otherwise false. + */ +var isHTMLElement = function isHTMLElement(element) { + return element instanceof HTMLElement || console.warn('Invalid argument: Element must be an instance of HTMLElement') || false; +}; + +/** + * Checks if the given object is empty. + * + * @param {Object} obj The object to check. + * @return {boolean} True if the object is empty, otherwise false. + */ +var isEmptyObject = function isEmptyObject(obj) { + return Object.keys(obj).length === 0 && obj.constructor === Object; +}; + +/***/ }), + +/***/ "./js/src/core/utils/visibility.js": +/*!*****************************************!*\ + !*** ./js/src/core/utils/visibility.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hide: () => (/* binding */ hide), +/* harmony export */ hideElements: () => (/* binding */ hideElements), +/* harmony export */ isVisible: () => (/* binding */ isVisible), +/* harmony export */ show: () => (/* binding */ show), +/* harmony export */ showElements: () => (/* binding */ showElements) +/* harmony export */ }); +/* harmony import */ var core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/constants */ "./js/src/core/constants.js"); +/** + * Internal dependencies + */ + + +/** + * Shows specified elements by removing the hidden class. + * + * @param {Array} elements An array of elements to show. + * @return {void} + */ +var showElements = function showElements(elements) { + var _Array$from; + return (_Array$from = Array.from(elements)) === null || _Array$from === void 0 ? void 0 : _Array$from.forEach(function (element) { + return show(element); + }); +}; + +/** + * Hides specified elements by adding the hidden class. + * + * @param {Array} elements An array of elements to hide. + * @return {void} + */ +var hideElements = function hideElements(elements) { + var _Array$from2; + return (_Array$from2 = Array.from(elements)) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.forEach(function (element) { + return hide(element); + }); +}; + +/** + * Removes the hidden class to show the element. + * + * @param {Element} element The element to show. + * @return {void} + */ +var show = function show(element) { + return element === null || element === void 0 ? void 0 : element.classList.remove(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Adds the hidden class to hide the element. + * + * @param {Element} element The element to hide. + * @return {void} + */ +var hide = function hide(element) { + return element === null || element === void 0 ? void 0 : element.classList.add(core_constants__WEBPACK_IMPORTED_MODULE_0__.HIDDEN_CLASS); +}; + +/** + * Checks if an element is visible. + * + * @param {HTMLElement} element The HTML element to check for visibility. + * @return {boolean} Returns true if the element is visible, otherwise false. + */ +var isVisible = function isVisible(element) { + var styles = window.getComputedStyle(element); + return styles.getPropertyValue('display') !== 'none'; +}; + +/***/ }), + +/***/ "./js/src/welcome-tour/elements/beginTourModalElement.js": +/*!***************************************************************!*\ + !*** ./js/src/welcome-tour/elements/beginTourModalElement.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ buildBeginTourModalElement: () => (/* binding */ buildBeginTourModalElement) +/* harmony export */ }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "./node_modules/@wordpress/i18n/build-module/index.js"); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./elements */ "./js/src/welcome-tour/elements/elements.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared */ "./js/src/welcome-tour/shared/index.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +/** + * Build the begin tour modal element. + * + * @return {void} + */ +function buildBeginTourModalElement() { + addBeginTourModalToElements(createBeginTourModalElement()); +} + +/** + * Create and return the begin tour modal HTML element. + * + * @private + * @return {HTMLElement} The begin tour modal element. + */ +function createBeginTourModalElement() { + var beginTourModal = (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.maybeCreateModal)('frm_get_started_modal', { + title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Get Started with Formidable Forms', 'formidable'), + content: (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.p)({ + className: 'frm-px-md', + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Here\'s a quick checklist to help you set up and explore the key features of the plugin, so you can start building powerful forms in no time.', 'formidable') + }), + footer: (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.div)({ + className: 'frmcenter', + child: (0,core_utils__WEBPACK_IMPORTED_MODULE_1__.a)({ + className: 'button button-primary frm-button-primary', + href: _shared__WEBPACK_IMPORTED_MODULE_3__.TOUR_URL, + text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Begin Tour', 'formidable') + }) + }), + width: _shared__WEBPACK_IMPORTED_MODULE_3__.MODAL_SIZE, + dialogClass: 'frm-fadein-up-back' + }); + beginTourModal.classList.add('frm_wrap', 'frm-welcome-tour-modal', 'frmcenter'); + return beginTourModal; +} + +/** + * Add the begin tour modal to the elements registry. + * + * @private + * @param {HTMLElement} beginTourModal The begin tour modal element. + * @return {void} + */ +function addBeginTourModalToElements(beginTourModal) { + if (!(0,_elements__WEBPACK_IMPORTED_MODULE_2__.getElements)().beginTourModal) { + (0,_elements__WEBPACK_IMPORTED_MODULE_2__.addElements)({ + beginTourModal: beginTourModal + }); + } +} + +/***/ }), + +/***/ "./js/src/welcome-tour/elements/elements.js": +/*!**************************************************!*\ + !*** ./js/src/welcome-tour/elements/elements.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* binding */ addElements), +/* harmony export */ getElements: () => (/* binding */ getElements) +/* harmony export */ }); +/* harmony import */ var core_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/factory */ "./js/src/core/factory/index.js"); +/** + * External dependencies + */ + +var elements; +var welcomeTour = document.getElementById('frm-welcome-tour'); +if (welcomeTour) { + elements = { + welcomeTour: welcomeTour, + checklist: welcomeTour.querySelector('.frm-checklist'), + dismiss: welcomeTour.querySelector('.frm-checklist__dismiss'), + spotlight: document.querySelector('.frm-welcome-tour-spotlight') + }; +} +var _createPageElements = (0,core_factory__WEBPACK_IMPORTED_MODULE_0__.createPageElements)(elements), + getElements = _createPageElements.getElements, + addElements = _createPageElements.addElements; + + +/***/ }), + +/***/ "./js/src/welcome-tour/elements/index.js": +/*!***********************************************!*\ + !*** ./js/src/welcome-tour/elements/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.addElements), +/* harmony export */ buildBeginTourModalElement: () => (/* reexport safe */ _beginTourModalElement__WEBPACK_IMPORTED_MODULE_1__.buildBeginTourModalElement), +/* harmony export */ getElements: () => (/* reexport safe */ _elements__WEBPACK_IMPORTED_MODULE_0__.getElements) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elements */ "./js/src/welcome-tour/elements/elements.js"); +/* harmony import */ var _beginTourModalElement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./beginTourModalElement */ "./js/src/welcome-tour/elements/beginTourModalElement.js"); + + + +/***/ }), + +/***/ "./js/src/welcome-tour/events/checklistEvents.js": +/*!*******************************************************!*\ + !*** ./js/src/welcome-tour/events/checklistEvents.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/welcome-tour/elements/index.js"); +/** + * Internal dependencies + */ + + +/** + * Adds events to the checklist. + * + * @return {void} + */ +function addChecklistEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_0__.getElements)(), + checklist = _getElements.checklist; + if (!checklist) { + return; + } + checklist.querySelector('.frm-checklist__header').addEventListener('click', function () { + return onChecklistHeaderClick(checklist); + }); +} + +/** + * Handles the checklist header click event. + * + * @private + * @param {HTMLElement} checklist The checklist element. + * @return {void} + */ +function onChecklistHeaderClick(checklist) { + checklist.classList.toggle('frm-checklist--collapsed'); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addChecklistEvents); + +/***/ }), + +/***/ "./js/src/welcome-tour/events/dismissEvents.js": +/*!*****************************************************!*\ + !*** ./js/src/welcome-tour/events/dismissEvents.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/welcome-tour/elements/index.js"); +/** + * Internal dependencies + */ + + + +/** + * Adds events to the dismiss button. + * + * @return {void} + */ +function addDismissEvents() { + var _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + dismiss = _getElements.dismiss; + if (!dismiss) { + return; + } + dismiss.addEventListener('click', onDismissClick); +} + +/** + * Handles the dismiss button click event. + * + * @private + * @return {void} + */ +function onDismissClick() { + var _getElements2 = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), + welcomeTour = _getElements2.welcomeTour, + spotlight = _getElements2.spotlight; + welcomeTour === null || welcomeTour === void 0 || welcomeTour.remove(); + spotlight === null || spotlight === void 0 || spotlight.remove(); + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.doJsonPost)('dismiss_welcome_tour', new FormData()); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addDismissEvents); + +/***/ }), + +/***/ "./js/src/welcome-tour/events/index.js": +/*!*********************************************!*\ + !*** ./js/src/welcome-tour/events/index.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addEventListeners: () => (/* binding */ addEventListeners) +/* harmony export */ }); +/* harmony import */ var _checklistEvents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checklistEvents */ "./js/src/welcome-tour/events/checklistEvents.js"); +/* harmony import */ var _dismissEvents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dismissEvents */ "./js/src/welcome-tour/events/dismissEvents.js"); +/* harmony import */ var _stylerUpdateButtonEvents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stylerUpdateButtonEvents */ "./js/src/welcome-tour/events/stylerUpdateButtonEvents.js"); + + + + +/** + * Attaches event listeners for handling user interactions. + * + * @return {void} + */ +function addEventListeners() { + (0,_checklistEvents__WEBPACK_IMPORTED_MODULE_0__["default"])(); + (0,_dismissEvents__WEBPACK_IMPORTED_MODULE_1__["default"])(); + (0,_stylerUpdateButtonEvents__WEBPACK_IMPORTED_MODULE_2__["default"])(); +} + +/***/ }), + +/***/ "./js/src/welcome-tour/events/stylerUpdateButtonEvents.js": +/*!****************************************************************!*\ + !*** ./js/src/welcome-tour/events/stylerUpdateButtonEvents.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "./js/src/welcome-tour/utils/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * Internal dependencies + */ + + + +/** + * Adds events to the styler update button. + * + * @return {void} + */ +function addStylerUpdateEvents() { + if ('formidable-styles' !== (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.getQueryParam)('page')) { + return; + } + (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.onClickPreventDefault)(document.getElementById('frm_submit_side_top'), onStylerUpdateClick); +} + +/** + * Handles the styler update button click event. + * + * @private + * @return {void} + */ +function onStylerUpdateClick() { + return _onStylerUpdateClick.apply(this, arguments); +} +function _onStylerUpdateClick() { + _onStylerUpdateClick = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.markStepAsCompleted)('style-form'); + case 2: + window.location.reload(); + case 3: + case "end": + return _context.stop(); + } + }, _callee); + })); + return _onStylerUpdateClick.apply(this, arguments); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addStylerUpdateEvents); + +/***/ }), + +/***/ "./js/src/welcome-tour/shared/constants.js": +/*!*************************************************!*\ + !*** ./js/src/welcome-tour/shared/constants.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKLIST_STEPS: () => (/* binding */ CHECKLIST_STEPS), +/* harmony export */ IS_DASHBOARD_PAGE: () => (/* binding */ IS_DASHBOARD_PAGE), +/* harmony export */ IS_WELCOME_TOUR_SEEN: () => (/* binding */ IS_WELCOME_TOUR_SEEN), +/* harmony export */ MODAL_SIZE: () => (/* binding */ MODAL_SIZE), +/* harmony export */ PREFIX: () => (/* binding */ PREFIX), +/* harmony export */ PROGRESS_BAR_PERCENT: () => (/* binding */ PROGRESS_BAR_PERCENT), +/* harmony export */ TOUR_URL: () => (/* binding */ TOUR_URL) +/* harmony export */ }); +var _window$frmWelcomeTou = window.frmWelcomeTourVars, + IS_DASHBOARD_PAGE = _window$frmWelcomeTou.IS_DASHBOARD_PAGE, + IS_WELCOME_TOUR_SEEN = _window$frmWelcomeTou.IS_WELCOME_TOUR_SEEN, + CHECKLIST_STEPS = _window$frmWelcomeTou.CHECKLIST_STEPS, + TOUR_URL = _window$frmWelcomeTou.TOUR_URL, + PROGRESS_BAR_PERCENT = _window$frmWelcomeTou.PROGRESS_BAR_PERCENT; + +var PREFIX = 'frm-welcome-tour'; +var MODAL_SIZE = '440px'; + +/***/ }), + +/***/ "./js/src/welcome-tour/shared/index.js": +/*!*********************************************!*\ + !*** ./js/src/welcome-tour/shared/index.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CHECKLIST_STEPS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.CHECKLIST_STEPS), +/* harmony export */ IS_DASHBOARD_PAGE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.IS_DASHBOARD_PAGE), +/* harmony export */ IS_WELCOME_TOUR_SEEN: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.IS_WELCOME_TOUR_SEEN), +/* harmony export */ MODAL_SIZE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.MODAL_SIZE), +/* harmony export */ PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PREFIX), +/* harmony export */ PROGRESS_BAR_PERCENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PROGRESS_BAR_PERCENT), +/* harmony export */ TOUR_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.TOUR_URL) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./js/src/welcome-tour/shared/constants.js"); + + +/***/ }), + +/***/ "./js/src/welcome-tour/ui/checklist.js": +/*!*********************************************!*\ + !*** ./js/src/welcome-tour/ui/checklist.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared */ "./js/src/welcome-tour/shared/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "./js/src/welcome-tour/utils/index.js"); +/** + * Internal dependencies + */ + + + +/** + * Initializes the checklist. + * + * @return {void} + */ +function initializeChecklist() { + setProgressBarPercent(); + document.addEventListener('frm_added_field', function () { + return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.markStepAsCompleted)('add-fields'); + }); +} + +/** + * Sets the progress bar percent. + * + * @private + * @return {void} + */ +function setProgressBarPercent() { + var progressFill = document.querySelector('.frm-welcome-tour .frm-checklist__progress-fill'); + if (!progressFill) { + return; + } + progressFill.style.width = "".concat(_shared__WEBPACK_IMPORTED_MODULE_0__.PROGRESS_BAR_PERCENT, "%"); +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initializeChecklist); + +/***/ }), + +/***/ "./js/src/welcome-tour/ui/index.js": +/*!*****************************************!*\ + !*** ./js/src/welcome-tour/ui/index.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ initializeChecklist: () => (/* reexport safe */ _checklist__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ initializeModal: () => (/* reexport safe */ _modal__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ initializeSpotlight: () => (/* reexport safe */ _spotlight__WEBPACK_IMPORTED_MODULE_1__["default"]) +/* harmony export */ }); +/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modal */ "./js/src/welcome-tour/ui/modal.js"); +/* harmony import */ var _spotlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./spotlight */ "./js/src/welcome-tour/ui/spotlight.js"); +/* harmony import */ var _checklist__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./checklist */ "./js/src/welcome-tour/ui/checklist.js"); + + + + +/***/ }), + +/***/ "./js/src/welcome-tour/ui/modal.js": +/*!*****************************************!*\ + !*** ./js/src/welcome-tour/ui/modal.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elements */ "./js/src/welcome-tour/elements/index.js"); +/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared */ "./js/src/welcome-tour/shared/index.js"); +/** + * Internal dependencies + */ + + + +/** + * Initialize the modal widget. + * + * @return {void} + */ +function initializeModal() { + if (_shared__WEBPACK_IMPORTED_MODULE_1__.IS_DASHBOARD_PAGE && !_shared__WEBPACK_IMPORTED_MODULE_1__.IS_WELCOME_TOUR_SEEN) { + (0,_elements__WEBPACK_IMPORTED_MODULE_0__.buildBeginTourModalElement)(); + } +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initializeModal); + +/***/ }), + +/***/ "./js/src/welcome-tour/ui/spotlight.js": +/*!*********************************************!*\ + !*** ./js/src/welcome-tour/ui/spotlight.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Initialize the spotlight widget. + * + * @return {void} + */ +function initializeSpotlight() { + document.querySelectorAll('.frm-spotlight').forEach(function (spotlightElement) { + setTimeout(function () { + setupSpotlight(spotlightElement); + }, 0); + }); +} + +/** + * Setup spotlight with positioning and scroll listeners. + * + * @private + * @param {HTMLElement} spotlightElement The spotlight container. + * @return {void} + */ +function setupSpotlight(spotlightElement) { + var targetElement = document.querySelector(spotlightElement.dataset.target); + if (!targetElement) { + return; + } + document.body.appendChild(spotlightElement); + + // Add scroll listeners to all scrollable ancestors + var scrollableElements = getScrollableAncestors(targetElement); + scrollableElements.forEach(function (element) { + element.addEventListener('scroll', function () { + updateSpotlightPosition(spotlightElement, targetElement); + handleSpotlightFadeAnimation(spotlightElement); + }, { + passive: true + }); + }); + window.addEventListener('resize', function () { + return updateSpotlightPosition(spotlightElement, targetElement); + }, { + passive: true + }); + + // Re-position and show spotlight after a short delay on page load + setTimeout(function () { + updateSpotlightPosition(spotlightElement, targetElement); + spotlightElement.classList.remove('frm-force-hidden'); + }, 200); +} + +/** + * Update spotlight position based on target element. + * + * @private + * @param {HTMLElement} spotlightElement The spotlight container. + * @param {HTMLElement} targetElement The target element. + * @return {void} + */ +function updateSpotlightPosition(spotlightElement, targetElement) { + if (!targetElement.offsetParent) { + return; + } + var targetRect = targetElement.getBoundingClientRect(); + if (targetRect.width === 0 || targetRect.height === 0) { + return; + } + var left; + var leftPositionAttr = spotlightElement.dataset.leftPosition; + switch (leftPositionAttr) { + case 'middle': + left = targetRect.left + Math.round(targetRect.width / 2); + break; + case 'end': + left = targetRect.right; + break; + default: + left = targetRect.left + parseInt(leftPositionAttr); + break; + } + spotlightElement.style.left = "".concat(left || targetRect.left, "px"); + var top = 'bottom' === spotlightElement.dataset.placement ? targetRect.top + targetRect.height : targetRect.top + Math.round(targetRect.height / 2); + spotlightElement.style.top = "".concat(top, "px"); +} + +/** + * Handle fade animations based on spotlight position relative to #frm_top_bar. + * + * @private + * @param {HTMLElement} spotlightElement The spotlight container. + * @return {void} + */ +function handleSpotlightFadeAnimation(spotlightElement) { + var topBar = document.getElementById('frm_top_bar'); + if (!topBar) { + return; + } + var shouldFadeOut = spotlightElement.getBoundingClientRect().top + 24 <= topBar.getBoundingClientRect().bottom; + if (shouldFadeOut && !spotlightElement.classList.contains('frm-fadeout')) { + spotlightElement.classList.remove('frm-fadein'); + spotlightElement.classList.add('frm-fadeout'); + } else if (!shouldFadeOut && !spotlightElement.classList.contains('frm-fadein')) { + spotlightElement.classList.remove('frm-fadeout'); + spotlightElement.classList.add('frm-fadein'); + } +} + +/** + * Get all scrollable ancestor elements. + * + * @private + * @param {HTMLElement} element The target element. + * @return {HTMLElement[]} Array of scrollable elements. + */ +function getScrollableAncestors(element) { + var scrollables = [window]; + var parent = element.parentElement; + while (parent && document.body !== parent) { + var _getComputedStyle = getComputedStyle(parent), + overflow = _getComputedStyle.overflow, + overflowY = _getComputedStyle.overflowY; + if (['auto', 'scroll'].includes(overflow) || ['auto', 'scroll'].includes(overflowY)) { + scrollables.push(parent); + } + parent = parent.parentElement; + } + return scrollables; +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (initializeSpotlight); + +/***/ }), + +/***/ "./js/src/welcome-tour/utils/index.js": +/*!********************************************!*\ + !*** ./js/src/welcome-tour/utils/index.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ markStepAsCompleted: () => (/* reexport safe */ _markStepAsCompleted__WEBPACK_IMPORTED_MODULE_1__.markStepAsCompleted), +/* harmony export */ onDashboardPage: () => (/* reexport safe */ _pageDetection__WEBPACK_IMPORTED_MODULE_0__.onDashboardPage), +/* harmony export */ onEditorPage: () => (/* reexport safe */ _pageDetection__WEBPACK_IMPORTED_MODULE_0__.onEditorPage), +/* harmony export */ onFormTemplatesPage: () => (/* reexport safe */ _pageDetection__WEBPACK_IMPORTED_MODULE_0__.onFormTemplatesPage), +/* harmony export */ onStylerPage: () => (/* reexport safe */ _pageDetection__WEBPACK_IMPORTED_MODULE_0__.onStylerPage) +/* harmony export */ }); +/* harmony import */ var _pageDetection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pageDetection */ "./js/src/welcome-tour/utils/pageDetection.js"); +/* harmony import */ var _markStepAsCompleted__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./markStepAsCompleted */ "./js/src/welcome-tour/utils/markStepAsCompleted.js"); + + + +/***/ }), + +/***/ "./js/src/welcome-tour/utils/markStepAsCompleted.js": +/*!**********************************************************!*\ + !*** ./js/src/welcome-tour/utils/markStepAsCompleted.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ markStepAsCompleted: () => (/* binding */ markStepAsCompleted) +/* harmony export */ }); +/* harmony import */ var core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils */ "./js/src/core/utils/index.js"); +/* harmony import */ var _elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elements */ "./js/src/welcome-tour/elements/index.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +/** + * Internal dependencies + */ + + +var STEP_PREFIX = 'frm-checklist__step'; + +/** + * Marks a step as completed. + * + * @param {string} stepKey The step key. + * @return {Promise} + */ +function markStepAsCompleted(_x) { + return _markStepAsCompleted.apply(this, arguments); +} + +/** + * Wraps step title with anchor link from dataset. + * + * @private + * @param {HTMLElement} stepElement The step element to wrap. + * @return {void} + */ +function _markStepAsCompleted() { + _markStepAsCompleted = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(stepKey) { + var _getElements, checklist, stepElement, formData, nextStep; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _getElements = (0,_elements__WEBPACK_IMPORTED_MODULE_1__.getElements)(), checklist = _getElements.checklist; + if (checklist) { + _context.next = 3; + break; + } + return _context.abrupt("return"); + case 3: + stepElement = document.getElementById("".concat(STEP_PREFIX, "-").concat(stepKey)); + if (stepElement) { + _context.next = 6; + break; + } + return _context.abrupt("return"); + case 6: + if (stepElement.classList.contains("".concat(STEP_PREFIX, "--active"))) { + _context.next = 8; + break; + } + return _context.abrupt("return"); + case 8: + formData = new FormData(); + formData.append('step_key', stepKey); + _context.prev = 10; + _context.next = 13; + return (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.doJsonPost)('mark_checklist_step_as_completed', formData); + case 13: + stepElement.classList.remove("".concat(STEP_PREFIX, "--active")); + stepElement.classList.add("".concat(STEP_PREFIX, "--completed")); + nextStep = stepElement.nextElementSibling; + if (nextStep) { + _context.next = 18; + break; + } + return _context.abrupt("return"); + case 18: + nextStep.classList.add("".concat(STEP_PREFIX, "--active")); + if (nextStep.dataset.link) { + wrapStepTitleWithLink(nextStep); + } + _context.next = 25; + break; + case 22: + _context.prev = 22; + _context.t0 = _context["catch"](10); + console.error('Failed to mark step as completed:', _context.t0); + case 25: + case "end": + return _context.stop(); + } + }, _callee, null, [[10, 22]]); + })); + return _markStepAsCompleted.apply(this, arguments); +} +function wrapStepTitleWithLink(stepElement) { + var stepTitle = stepElement.querySelector('.frm-checklist__step-title'); + if (stepTitle !== null && stepTitle !== void 0 && stepTitle.querySelector('a')) { + return; + } + var anchor = (0,core_utils__WEBPACK_IMPORTED_MODULE_0__.a)({ + href: stepElement.dataset.link, + className: 'frm-h-stack-xs', + children: Array.from(stepTitle.childNodes) + }); + stepTitle.replaceChildren(anchor); +} + +/***/ }), + +/***/ "./js/src/welcome-tour/utils/pageDetection.js": +/*!****************************************************!*\ + !*** ./js/src/welcome-tour/utils/pageDetection.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ onDashboardPage: () => (/* binding */ onDashboardPage), +/* harmony export */ onEditorPage: () => (/* binding */ onEditorPage), +/* harmony export */ onFormTemplatesPage: () => (/* binding */ onFormTemplatesPage), +/* harmony export */ onStylerPage: () => (/* binding */ onStylerPage) +/* harmony export */ }); +/* harmony import */ var core_utils_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/utils/url */ "./js/src/core/utils/url.js"); +/** + * Internal dependencies + */ + + +/** + * Checks if the current page is the editor page. + * + * @return {boolean} True if the current page is the editor page, false otherwise. + */ +var onEditorPage = function onEditorPage() { + return document.getElementById('frm_form_editor_container') !== null; +}; + +/** + * Checks if the current page is the styler page. + * + * @return {boolean} True if the current page is the styler page, false otherwise. + */ +var onStylerPage = function onStylerPage() { + return document.getElementById('frm_active_style_form') !== null; +}; + +/** + * Checks if the current page is the form templates page. + * + * @return {boolean} True if the current page is the form templates page, false otherwise. + */ +var onFormTemplatesPage = function onFormTemplatesPage() { + return (0,core_utils_url__WEBPACK_IMPORTED_MODULE_0__.getQueryParam)('page') === 'formidable-form-templates'; +}; + +/** + * Checks if the current page is the dashboard page. + * + * @return {boolean} True if the current page is the dashboard page, false otherwise. + */ +var onDashboardPage = function onDashboardPage() { + return (0,core_utils_url__WEBPACK_IMPORTED_MODULE_0__.getQueryParam)('page') === 'formidable-dashboard'; +}; + +/***/ }), + +/***/ "./node_modules/memize/index.js": +/*!**************************************!*\ + !*** ./node_modules/memize/index.js ***! + \**************************************/ +/***/ ((module) => { + +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ + +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ + +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ + +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; + + /** @type {?MemizeCacheNode|undefined} */ + var head; + + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; + + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + searchCache: while ( node ) { + // Perform a shallow equality test to confirm that whether the node + // under test is a candidate for the arguments passed. Two arrays + // are shallowly equal if their length matches and each entry is + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. + + // Check whether node arguments match arguments length + if ( node.args.length !== arguments.length ) { + node = node.next; + continue; + } + + // Check whether node arguments match arguments values + for ( i = 0; i < len; i++ ) { + if ( node.args[ i ] !== arguments[ i ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match + + // Surface matched node to head if not already + if ( node !== head ) { + // As tail, shift to previous. Must only shift if not also + // head, since if both head and tail, there is no previous. + if ( node === tail ) { + tail = node.prev; + } + + // Adjust siblings to point to each other. If node was tail, + // this also handles new tail's empty `next` assignment. + /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; + if ( node.next ) { + node.next.prev = node.prev; + } + + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // No cached value found. Continue to insertion phase: + + // Create a copy of arguments (avoid leaking deoptimization) + args = new Array( len ); + for ( i = 0; i < len; i++ ) { + args[ i ] = arguments[ i ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; + + // Don't need to check whether node is already head, since it would + // have been returned above already if it was + + // Shift existing head down list + if ( head ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } + + // Trim tail if we're reached max size and are pending cache insertion + if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { + tail = /** @type {MemizeCacheNode} */ ( tail ).prev; + /** @type {MemizeCacheNode} */ ( tail ).next = null; + } else { + size++; + } + + head = node; + + return node.val; + } + + memoized.clear = function() { + head = null; + tail = null; + size = 0; + }; + + if ( false ) {} + + // Ignore reason: There's not a clear solution to create an intersection of + // the function with additional properties, where the goal is to retain the + // function signature of the incoming argument and add control properties + // on the return value. + + // @ts-ignore + return memoized; +} + +module.exports = memize; + + +/***/ }), + +/***/ "./node_modules/sprintf-js/src/sprintf.js": +/*!************************************************!*\ + !*** ./node_modules/sprintf-js/src/sprintf.js ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (true) { + exports.sprintf = sprintf + exports.vsprintf = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line + + +/***/ }), + +/***/ "./node_modules/tannin/index.js": +/*!**************************************!*\ + !*** ./node_modules/tannin/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Tannin) +/* harmony export */ }); +/* harmony import */ var _tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tannin/plural-forms */ "./node_modules/@tannin/plural-forms/index.js"); + + +/** + * Tannin constructor options. + * + * @typedef {Object} TanninOptions + * + * @property {string} [contextDelimiter] Joiner in string lookup with context. + * @property {Function} [onMissingKey] Callback to invoke when key missing. + */ + +/** + * Domain metadata. + * + * @typedef {Object} TanninDomainMetadata + * + * @property {string} [domain] Domain name. + * @property {string} [lang] Language code. + * @property {(string|Function)} [plural_forms] Plural forms expression or + * function evaluator. + */ + +/** + * Domain translation pair respectively representing the singular and plural + * translation. + * + * @typedef {[string,string]} TanninTranslation + */ + +/** + * Locale data domain. The key is used as reference for lookup, the value an + * array of two string entries respectively representing the singular and plural + * translation. + * + * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain + */ + +/** + * Jed-formatted locale data. + * + * @see http://messageformat.github.io/Jed/ + * + * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData + */ + +/** + * Default Tannin constructor options. + * + * @type {TanninOptions} + */ +var DEFAULT_OPTIONS = { + contextDelimiter: '\u0004', + onMissingKey: null, +}; + +/** + * Given a specific locale data's config `plural_forms` value, returns the + * expression. + * + * @example + * + * ``` + * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)' + * ``` + * + * @param {string} pf Locale data plural forms. + * + * @return {string} Plural forms expression. + */ +function getPluralExpression( pf ) { + var parts, i, part; + + parts = pf.split( ';' ); + + for ( i = 0; i < parts.length; i++ ) { + part = parts[ i ].trim(); + if ( part.indexOf( 'plural=' ) === 0 ) { + return part.substr( 7 ); + } + } +} + +/** + * Tannin constructor. + * + * @class + * + * @param {TanninLocaleData} data Jed-formatted locale data. + * @param {TanninOptions} [options] Tannin options. + */ +function Tannin( data, options ) { + var key; + + /** + * Jed-formatted locale data. + * + * @name Tannin#data + * @type {TanninLocaleData} + */ + this.data = data; + + /** + * Plural forms function cache, keyed by plural forms string. + * + * @name Tannin#pluralForms + * @type {Object} + */ + this.pluralForms = {}; + + /** + * Effective options for instance, including defaults. + * + * @name Tannin#options + * @type {TanninOptions} + */ + this.options = {}; + + for ( key in DEFAULT_OPTIONS ) { + this.options[ key ] = options !== undefined && key in options + ? options[ key ] + : DEFAULT_OPTIONS[ key ]; + } +} + +/** + * Returns the plural form index for the given domain and value. + * + * @param {string} domain Domain on which to calculate plural form. + * @param {number} n Value for which plural form is to be calculated. + * + * @return {number} Plural form index. + */ +Tannin.prototype.getPluralForm = function( domain, n ) { + var getPluralForm = this.pluralForms[ domain ], + config, plural, pf; + + if ( ! getPluralForm ) { + config = this.data[ domain ][ '' ]; + + pf = ( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + if ( typeof pf !== 'function' ) { + plural = getPluralExpression( + config[ 'Plural-Forms' ] || + config[ 'plural-forms' ] || + // Ignore reason: As known, there's no way to document the empty + // string property on a key to guarantee this as metadata. + // @ts-ignore + config.plural_forms + ); + + pf = (0,_tannin_plural_forms__WEBPACK_IMPORTED_MODULE_0__["default"])( plural ); + } + + getPluralForm = this.pluralForms[ domain ] = pf; + } + + return getPluralForm( n ); +}; + +/** + * Translate a string. + * + * @param {string} domain Translation domain. + * @param {string|void} context Context distinguishing terms of the same name. + * @param {string} singular Primary key for translation lookup. + * @param {string=} plural Fallback value used for non-zero plural + * form index. + * @param {number=} n Value to use in calculating plural form. + * + * @return {string} Translated string. + */ +Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) { + var index, key, entry; + + if ( n === undefined ) { + // Default to singular. + index = 0; + } else { + // Find index by evaluating plural form for value. + index = this.getPluralForm( domain, n ); + } + + key = singular; + + // If provided, context is prepended to key with delimiter. + if ( context ) { + key = context + this.options.contextDelimiter + singular; + } + + entry = this.data[ domain ][ key ]; + + // Verify not only that entry exists, but that the intended index is within + // range and non-empty. + if ( entry && entry[ index ] ) { + return entry[ index ]; + } + + if ( this.options.onMissingKey ) { + this.options.onMissingKey( singular, domain ); + } + + // If entry not found, fall back to singular vs. plural with zero index + // representing the singular value. + return index === 0 ? singular : plural; +}; + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) +/* harmony export */ }); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _classCallCheck) +/* harmony export */ }); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _iterableToArray) +/* harmony export */ }); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _nonIterableSpread) +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _toConsumableArray) +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(r) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) +/* harmony export */ }); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@wordpress/hooks/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; + } +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _defineProperty) +/* harmony export */ }); +/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); + +function _defineProperty(e, r, t) { + return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPrimitive) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); + +function toPrimitive(t, r) { + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toPropertyKey) +/* harmony export */ }); +/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js"); +/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); + + +function toPropertyKey(t) { + var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); + return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; +} + + +/***/ }), + +/***/ "./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@wordpress/i18n/node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _typeof) +/* harmony export */ }); +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!**************************************!*\ + !*** ./js/src/welcome-tour/index.js ***! + \**************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/dom-ready */ "./node_modules/@wordpress/dom-ready/build-module/index.js"); +/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./js/src/welcome-tour/ui/index.js"); +/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events */ "./js/src/welcome-tour/events/index.js"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +(0,_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_2__["default"])(function () { + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.initializeModal)(); + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.initializeSpotlight)(); + (0,_ui__WEBPACK_IMPORTED_MODULE_0__.initializeChecklist)(); + (0,_events__WEBPACK_IMPORTED_MODULE_1__.addEventListeners)(); +}); +})(); + +/******/ })() +; +//# sourceMappingURL=welcome-tour.js.map \ No newline at end of file From 966aabe93350ea5448753fcd53a2c39112d7c525 Mon Sep 17 00:00:00 2001 From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:10:11 +0300 Subject: [PATCH 39/39] Add missing space before parenth --- css/admin/frm-settings-components.css | 628 +------------------- css/admin/welcome-tour.css | 153 +---- css/frm_admin.css | 2 +- css/frm_testing_mode.css | 809 +------------------------- js/formidable.js | 2 +- 5 files changed, 6 insertions(+), 1588 deletions(-) diff --git a/css/admin/frm-settings-components.css b/css/admin/frm-settings-components.css index aa7eb07c43..02b255e50d 100644 --- a/css/admin/frm-settings-components.css +++ b/css/admin/frm-settings-components.css @@ -1,627 +1 @@ -/*!***********************************************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/admin/frm-settings-components.scss ***! - \***********************************************************************************************************************************************************************************************************************************************/ -/** - * Formidable Forms settings components styles - */ -/** - * Accordion settings component styles - */ -.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus { - background: none; -} -.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover > svg:last-child, -.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title > svg:first-child, -.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title > svg:last-child { - color: var(--grey-900); -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component { - align-self: center; -} - -/** - * Color picker component styles - */ -.frm_settings_form .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button, -.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button { - background-color: #fff !important; -} -.frm_settings_form .frm-style-component .wp-picker-container button, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button { - position: relative; - height: 36px !important; - background-image: none !important; - overflow: hidden; - background-color: #fff !important; -} -.frm_settings_form .frm-style-component .wp-picker-container::after, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after { - content: ""; - width: 20px; - height: 20px; - display: block; - position: absolute; - top: 0; - right: 8px; - bottom: 0; - margin: auto; - background: url("../../images/style/small-arrow.svg") no-repeat; - background-position: center; - z-index: 10; -} -.frm_settings_form .frm-style-component .wp-color-result-text, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text { - line-height: 36px !important; - padding: 0 12px; - border: 0; -} -.frm_settings_form .frm-style-component .color-alpha, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha { - width: 20px !important; - height: 20px !important; - border-radius: 50% !important; - border: 1px solid rgb(208, 213, 221); - top: 0; - left: 0; - bottom: 0; - margin: auto; - margin-left: 12px; -} -.frm_settings_form .frm-style-component .wp-picker-input-wrap input, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input { - width: calc(100% - 10px) !important; - margin: 1px 5px; - height: 32px; - line-height: 32px; -} - -/** - * Background image component styles - */ -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component > div { - max-width: 216px; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container { - max-width: calc(100% - 44px); - position: relative; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box { - width: 36px; - height: 36px; - padding: 0; - background: white; - overflow: hidden; - text-indent: -999px; - flex-wrap: wrap; - border: none; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame { - margin-left: 0; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper { - position: relative; - width: 36px; - height: 36px; - margin: 0; - border: 1px solid var(--grey-300); - border-radius: var(--small-radius); - overflow: hidden; - box-sizing: border-box; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame { - max-width: 120%; - height: 120%; - margin: -10%; - position: relative; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - margin: 0; - border-radius: var(--small-radius); -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option { - width: 100%; - height: 100%; - border: 1px solid var(--red-500); - text-indent: -9999px; - position: absolute; - top: 0; - left: 0; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before { - opacity: 0; - content: ""; - display: block; - position: absolute; - width: 100%; - height: 100%; - z-index: 1; - top: 0; - left: 0; - background: rgba(255, 255, 255, 0.8); -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after { - opacity: 0; - content: ""; - display: block; - position: absolute; - width: 100%; - height: 100%; - z-index: 1; - top: 0; - left: 0; - background: url("../../images/style/close.svg") no-repeat; - background-position: center; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after { - opacity: 1; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img { - width: 100%; - height: 100%; -} -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper + *, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings, -.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option * { - display: none; -} - -/** - * Radio buttons component styles - */ -.frm-style-component .frm-radio-container { - max-width: 216px; - height: 36px; - background: rgb(242, 244, 247); - gap: var(--small-gap); - padding: var(--gap-2xs); - box-sizing: border-box; - border-radius: var(--small-radius); - position: relative; -} -.frm-style-component.frm-field-shape .frm-radio-container { - max-width: unset; -} -.frm-style-component.frm-direction-component .frm-radio-container { - gap: var(--gap-xs); -} -.frm-style-component .frm-radio-container svg { - width: 16px; -} -.frm-style-component .frm-radio-container .frm-radio-active-tracker { - display: block; - width: 28%; - height: calc(100% - 8px); - background: white; - border-radius: var(--small-radius); - box-shadow: var(--button-shadow); - position: absolute; - top: var(--gap-2xs); - bottom: 0; - left: var(--gap-2xs); - z-index: 1; - transition: 0.35s transform cubic-bezier(0.075, 0.82, 0.165, 1); -} -.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker { - width: 23%; -} -.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker, .frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker, .frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker { - width: calc(50% - var(--gap-xs)); -} -.frm-style-component .frm-radio-container > label { - width: 30%; - height: 100%; - margin: 0; - cursor: pointer; - position: relative; - display: flex; - z-index: 2; -} -.frm-style-component.frm-field-shape .frm-radio-container > label { - width: 23%; -} -.frm-style-component.frm-align-component.frm-2-options .frm-radio-container > label, .frm-style-component.frm-direction-component .frm-radio-container > label, .frm-style-component.frm-text-toggle-component .frm-radio-container > label { - width: 50%; -} -.frm-style-component.frm-text-toggle-component .frm-radio-container { - height: 44px; - max-width: unset; - gap: var(--gap-xs); - padding: var(--gap-xs); -} -.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker { - height: calc(100% - var(--gap-sm)); - top: var(--gap-xs); -} - -.frm-style-tabs-wrapper .frm-tabs-navs ul > li:not(.frm-active):hover, -.frm-style-component .frm-radio-container input:not(:checked) + label:hover { - background: rgb(234, 236, 240); - border-radius: var(--small-radius); - box-shadow: var(--button-shadow); -} - -.frm-style-component .frm-radio-container input { - display: none; -} - -/** - * Sliders component styles - */ -.frm-style-component .frm-slider-container { - width: calc(100% - 91px); - display: flex; - align-items: center; - color: rgb(29, 41, 57); -} -.frm-style-component .frm-slider-container svg.frmsvg { - color: currentColor; - margin-right: 8px; - margin-left: -5px; - position: relative; - z-index: 15; -} - -.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover { - color: rgb(65, 153, 253); - cursor: pointer; -} - -.frm-style-component .frm-slider-container .frm-slider-active-track { - display: block; - height: 100%; - width: 0; - position: relative; - border-radius: 200px; -} -.frm-style-component .frm-slider-container .frm-slider-active-track, -.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet { - background: rgb(65, 153, 253); - box-shadow: 0 1.88px 4px -1px rgba(16, 24, 40, 0.03), 0 6px 8px -2px rgba(16, 24, 40, 0.08); -} -.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet { - position: absolute; - display: block; - width: 16px; - height: 16px; - border-radius: 50%; - transform: translateX(15px); - cursor: grab; - right: 0; - top: 0; - bottom: 0; - margin: auto; -} -.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label { - position: absolute; - display: block; - width: 48px; - height: 36px; - background: rgb(16, 24, 40); - color: white; - font-weight: 400; - font-size: var(--text-sm); - line-height: 36px; - border-radius: var(--small-radius); - transform: translate(-18px, -42px) scale3d(0.7, 1, 1); - opacity: 0; - z-index: -2; - pointer-events: none; - text-align: center; - user-select: none; -} -.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label { - z-index: 12; - transform: translate(-18px, -42px) scale3d(1, 1, 1); - opacity: 1; - transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); -} -.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before { - content: ""; - display: block; - position: absolute; - width: 18px; - height: 18px; - border-radius: 50%; - left: 0; - top: 0; - transform: translate(-5px, -5px) scale3d(0.7, 0.7, 1); - border: 4px solid rgb(65, 153, 253); - opacity: 0; - transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); -} -.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before { - opacity: 0.5; - transform: translate(-5px, -5px) scale3d(1, 1, 1); - transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); -} -.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after { - content: ""; - position: absolute; - display: block; - width: 180%; - height: 200%; - border-radius: 50%; - left: 0; - top: 0; - transform: translate(-24%, -24%); -} - -.frm-style-component .frm-slider-value { - width: 86px; - height: 36px; - display: flex; - justify-content: center; - box-sizing: border-box; - background: white; - border-radius: var(--small-radius); - border: 1px solid var(--grey-300); -} -.frm-style-component .frm-slider-value > * { - border: none; -} -.frm-style-component .frm-slider-value input { - width: 40px; - height: 100%; - padding: 0; - font-size: var(--text-sm); - color: rgb(16, 24, 40); - padding-left: 12px; - box-sizing: border-box; -} -.frm-style-component .frm-slider-value select { - text-align: right; - padding: 0; - font-size: var(--text-sm); - color: rgb(102, 112, 133); - width: 44px; - background: url("../../images/style/small-arrow.svg") no-repeat; - background-position: center right 12px; - padding-right: 24px !important; -} -.frm-style-component .frm-slider { - display: block; - width: calc(100% - 5px); - height: 4px; - background: rgb(234, 236, 240); - border-radius: 200px; - cursor: pointer; -} - -.frm-slider-component .frm-independent-slider-field { - margin-top: 10px; -} -.frm-slider-component.frm-disabled .frm-slider-container { - pointer-events: none; - opacity: 0.5; -} -.frm-slider-component.frm-disabled .frm-slider-value input[type=text] { - width: 28px; -} -.frm-slider-component.frm-disabled .frm-slider-value select { - width: 56px; -} -.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text] { - width: 56px; -} -.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select { - width: 28px; -} - -.frm-style-component .frm-slider-component.frm-has-multiple-values { - margin-bottom: 10px; -} - -/** - * Tabs component styles - */ -.frm-tabs-wrapper { - position: relative; - overflow: hidden; -} -.frm-tabs-wrapper .frm-tabs-navigator { - margin: 0; - padding: 0; - display: flex; - gap: var(--gap-xs); - justify-content: space-between; - align-items: center; - background: rgb(242, 244, 247); - border-radius: var(--small-radius); - box-sizing: border-box; - height: 44px; - position: relative; - z-index: 2; -} -.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item { - flex: 1; - text-align: center; - cursor: pointer; -} -.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background { - display: block; - height: 100%; - background: white; - position: absolute; - top: 0; - left: 0; - z-index: 1; -} - -.frm-style-tabs-wrapper { - position: relative; -} -.frm-style-tabs-wrapper .frm-tabs-navs { - padding: 0; - min-height: 44px; -} -.frm-style-tabs-wrapper .frm-tabs-navs ul { - margin: 0; - height: var(--h-md); - position: relative; - justify-content: space-between; -} -.frm-style-tabs-wrapper .frm-tabs-navs ul li, -.frm-style-tabs-wrapper .frm-tabs-navs ul li a { - color: var(--grey-500); - font-weight: 500; - font-size: var(--text-sm); - line-height: 28px; -} -.frm-style-tabs-wrapper .frm-tabs-navs ul li { - flex: 1; - height: 28px; - text-align: center; - margin-top: var(--gap-xs); - margin-bottom: 0; - cursor: pointer; -} -.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active, .frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a { - color: var(--grey-900); -} -.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child { - margin-left: var(--gap-xs); -} -.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child { - margin-right: var(--gap-xs); -} -.frm-style-tabs-wrapper .frm-tabs-delimiter { - position: absolute; - top: 0; - left: 0; - width: 100%; - background: rgb(242, 244, 247); - height: 44px; - margin: 0; - border-radius: var(--small-radius); -} -.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline { - height: 28px; - background: white; - position: absolute; - left: 0; - bottom: 8px; - width: 45px; - transition: 0.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); - border-radius: var(--small-radius); - box-shadow: var(--button-shadow); -} -.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first { - left: var(--gap-xs); -} -.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last { - left: calc(-1 * var(--gap-xs)); -} - -.frm-tabs-container { - position: relative; - overflow: hidden; - margin-top: var(--gap-md); - height: 100%; -} - -.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track { - transition: 0.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); -} -.frm-style-tabs-wrapper .frm-tabs-slide-track > div { - flex: 0 0 100%; - opacity: 0; - transition: 0.25s opacity linear; - position: relative; - height: auto; - max-height: unset; - overflow: hidden; - box-sizing: border-box; -} -.frm-style-tabs-wrapper .frm-tabs-slide-track > div > div { - overflow: auto; - position: relative; - width: 100%; - padding: 0; - box-sizing: border-box; -} - -.frm-tabs-slide-track > div > div:first-child { - height: 100%; -} -.frm-tabs-slide-track > div.frm-active { - opacity: 1; - transition: 0.35s opacity linear; -} - -/** - * Miscellaneous settings component styles - */ -.frm-style-component .frm_toggle_slider { - background: rgb(242, 244, 247); -} - -.frm-style-component label.frm-copy-text { - line-height: 32px; - cursor: pointer; - white-space: nowrap; -} - -.frm-style-component .wp-picker-holder { - right: 0; -} - -.frm-style-component .CodeMirror { - min-height: unset !important; - height: 350px !important; -} -.frm-style-component .CodeMirror .CodeMirror-placeholder { - color: var(--grey-400); -} - -.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading { - font-weight: 500; - font-size: var(--text-md); - color: var(--grey-900); -} - -.frm-unit-input { - position: relative; - display: flex; - align-items: center; -} -.frm-unit-input input[type=number]::-webkit-outer-spin-button, -.frm-unit-input input[type=number]::-webkit-inner-spin-button { - -webkit-appearance: none; - appearance: none; -} -.frm-unit-input .frm-input-group-suffix { - position: absolute; - top: 1px; - right: 1px; - display: flex; - align-items: center; - height: calc(100% - 2px); - padding-right: var(--gap-xs); -} -.frm-unit-input .frm-input-group-suffix select { - width: fit-content; - height: 100%; - min-height: unset; - font-size: var(--text-sm); - text-align: right; - color: var(--grey-500) !important; - background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%; - padding-left: var(--gap-2xs); - padding-right: 21px !important; - border: transparent; -} -.frm-unit-input .frm-input-group-suffix select:focus-visible { - outline: 1px solid var(--primary-500); - outline-offset: -2px; -} - -/*# sourceMappingURL=frm-settings-components.css.map*/ \ No newline at end of file +.formidable_page_formidable-styles.js .control-section .accordion-section-title:focus{background:none}.formidable_page_formidable-styles .frm-right-panel h3.accordion-section-title:hover>svg:last-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:first-child,.formidable_page_formidable-styles .frm-right-panel .open h3.accordion-section-title>svg:last-child{color:var(--grey-900)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component{align-self:center}.frm_settings_form .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-editor-form.frm-pro .frm-style-component .wp-picker-container button{background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container button,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container button{position:relative;height:36px !important;background-image:none !important;overflow:hidden;background-color:#fff !important}.frm_settings_form .frm-style-component .wp-picker-container::after,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-container::after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm_settings_form .frm-style-component .wp-color-result-text,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm_settings_form .frm-style-component .color-alpha,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm_settings_form .frm-style-component .wp-picker-input-wrap input,.formidable_page_formidable-styles .frm-right-panel .frm-style-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component>div{max-width:216px}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .wp-picker-container{max-width:calc(100% - 44px);position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component button.frm_choose_image_box{width:36px;height:36px;padding:0;background:#fff;overflow:hidden;text-indent:-999px;flex-wrap:wrap;border:none}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_styling_frame{margin-left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper{position:relative;width:36px;height:36px;margin:0;border:1px solid var(--grey-300);border-radius:var(--small-radius);overflow:hidden;box-sizing:border-box}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame{max-width:120%;height:120%;margin:-10%;position:relative}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_data{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;margin:0;border-radius:var(--small-radius)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option{width:100%;height:100%;border:1px solid var(--red-500);text-indent:-9999px;position:absolute;top:0;left:0}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::before{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:hsla(0,0%,100%,.8)}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option::after{opacity:0;content:"";display:block;position:absolute;width:100%;height:100%;z-index:1;top:0;left:0;background:url("../../images/style/close.svg") no-repeat;background-position:center}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::before,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option:hover::after{opacity:1}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame img{width:100%;height:100%}.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper+*,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_image_preview_wrapper .frm_image_preview_title,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_bg_image_additional_settings,.formidable_page_formidable-styles .frm-right-panel .frm-style-component.frm-background-image-component .frm_remove_image_option *{display:none}.frm-style-component .frm-radio-container{max-width:216px;height:36px;background:#f2f4f7;gap:var(--small-gap);padding:var(--gap-2xs);box-sizing:border-box;border-radius:var(--small-radius);position:relative}.frm-style-component.frm-field-shape .frm-radio-container{max-width:unset}.frm-style-component.frm-direction-component .frm-radio-container{gap:var(--gap-xs)}.frm-style-component .frm-radio-container svg{width:16px}.frm-style-component .frm-radio-container .frm-radio-active-tracker{display:block;width:28%;height:calc(100% - 8px);background:#fff;border-radius:var(--small-radius);box-shadow:var(--button-shadow);position:absolute;top:var(--gap-2xs);bottom:0;left:var(--gap-2xs);z-index:1;transition:.35s transform cubic-bezier(0.075, 0.82, 0.165, 1)}.frm-style-component.frm-field-shape .frm-radio-container .frm-radio-active-tracker{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-direction-component .frm-radio-container .frm-radio-active-tracker,.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{width:calc(50% - var(--gap-xs))}.frm-style-component .frm-radio-container>label{width:30%;height:100%;margin:0;cursor:pointer;position:relative;display:flex;z-index:2}.frm-style-component.frm-field-shape .frm-radio-container>label{width:23%}.frm-style-component.frm-align-component.frm-2-options .frm-radio-container>label,.frm-style-component.frm-direction-component .frm-radio-container>label,.frm-style-component.frm-text-toggle-component .frm-radio-container>label{width:50%}.frm-style-component.frm-text-toggle-component .frm-radio-container{height:44px;max-width:unset;gap:var(--gap-xs);padding:var(--gap-xs)}.frm-style-component.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker{height:calc(100% - var(--gap-sm));top:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul>li:not(.frm-active):hover,.frm-style-component .frm-radio-container input:not(:checked)+label:hover{background:#eaecf0;border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-component .frm-radio-container input{display:none}.frm-style-component .frm-slider-container{width:calc(100% - 91px);display:flex;align-items:center;color:#1d2939}.frm-style-component .frm-slider-container svg.frmsvg{color:currentColor;margin-right:8px;margin-left:-5px;position:relative;z-index:15}.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover{color:#4199fd;cursor:pointer}.frm-style-component .frm-slider-container .frm-slider-active-track{display:block;height:100%;width:0;position:relative;border-radius:200px}.frm-style-component .frm-slider-container .frm-slider-active-track,.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{background:#4199fd;box-shadow:0 1.88px 4px -1px rgba(16,24,40,.03),0 6px 8px -2px rgba(16,24,40,.08)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{position:absolute;display:block;width:16px;height:16px;border-radius:50%;transform:translateX(15px);cursor:grab;right:0;top:0;bottom:0;margin:auto}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label{position:absolute;display:block;width:48px;height:36px;background:#101828;color:#fff;font-weight:400;font-size:var(--text-sm);line-height:36px;border-radius:var(--small-radius);transform:translate(-18px, -42px) scale3d(0.7, 1, 1);opacity:0;z-index:-2;pointer-events:none;text-align:center;user-select:none}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label{z-index:12;transform:translate(-18px, -42px) scale3d(1, 1, 1);opacity:1;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before{content:"";display:block;position:absolute;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-5px, -5px) scale3d(0.7, 0.7, 1);border:4px solid #4199fd;opacity:0;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before{opacity:.5;transform:translate(-5px, -5px) scale3d(1, 1, 1);transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after{content:"";position:absolute;display:block;width:180%;height:200%;border-radius:50%;left:0;top:0;transform:translate(-24%, -24%)}.frm-style-component .frm-slider-value{width:86px;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300)}.frm-style-component .frm-slider-value>*{border:none}.frm-style-component .frm-slider-value input{width:40px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-style-component .frm-slider-value select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px;padding-right:24px !important}.frm-style-component .frm-slider{display:block;width:calc(100% - 5px);height:4px;background:#eaecf0;border-radius:200px;cursor:pointer}.frm-slider-component .frm-independent-slider-field{margin-top:10px}.frm-slider-component.frm-disabled .frm-slider-container{pointer-events:none;opacity:.5}.frm-slider-component.frm-disabled .frm-slider-value input[type=text]{width:28px}.frm-slider-component.frm-disabled .frm-slider-value select{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text]{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select{width:28px}.frm-style-component .frm-slider-component.frm-has-multiple-values{margin-bottom:10px}.frm-tabs-wrapper{position:relative;overflow:hidden}.frm-tabs-wrapper .frm-tabs-navigator{margin:0;padding:0;display:flex;gap:var(--gap-xs);justify-content:space-between;align-items:center;background:#f2f4f7;border-radius:var(--small-radius);box-sizing:border-box;height:44px;position:relative;z-index:2}.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item{flex:1;text-align:center;cursor:pointer}.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background{display:block;height:100%;background:#fff;position:absolute;top:0;left:0;z-index:1}.frm-style-tabs-wrapper{position:relative}.frm-style-tabs-wrapper .frm-tabs-navs{padding:0;min-height:44px}.frm-style-tabs-wrapper .frm-tabs-navs ul{margin:0;height:var(--h-md);position:relative;justify-content:space-between}.frm-style-tabs-wrapper .frm-tabs-navs ul li,.frm-style-tabs-wrapper .frm-tabs-navs ul li a{color:var(--grey-500);font-weight:500;font-size:var(--text-sm);line-height:28px}.frm-style-tabs-wrapper .frm-tabs-navs ul li{flex:1;height:28px;text-align:center;margin-top:var(--gap-xs);margin-bottom:0;cursor:pointer}.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active,.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a{color:var(--grey-900)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter{position:absolute;top:0;left:0;width:100%;background:#f2f4f7;height:44px;margin:0;border-radius:var(--small-radius)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline{height:28px;background:#fff;position:absolute;left:0;bottom:8px;width:45px;transition:.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94);border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-first{left:var(--gap-xs)}.frm-style-tabs-wrapper .frm-tabs-delimiter .frm-tabs-active-underline.frm-last{left:calc(-1*var(--gap-xs))}.frm-tabs-container{position:relative;overflow:hidden;margin-top:var(--gap-md);height:100%}.frm-style-tabs-wrapper .frm-tabs-container .frm-tabs-slide-track{transition:.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-tabs-wrapper .frm-tabs-slide-track>div{flex:0 0 100%;opacity:0;transition:.25s opacity linear;position:relative;height:auto;max-height:unset;overflow:hidden;box-sizing:border-box}.frm-style-tabs-wrapper .frm-tabs-slide-track>div>div{overflow:auto;position:relative;width:100%;padding:0;box-sizing:border-box}.frm-tabs-slide-track>div>div:first-child{height:100%}.frm-tabs-slide-track>div.frm-active{opacity:1;transition:.35s opacity linear}.frm-style-component .frm_toggle_slider{background:#f2f4f7}.frm-style-component label.frm-copy-text{line-height:32px;cursor:pointer;white-space:nowrap}.frm-style-component .wp-picker-holder{right:0}.frm-style-component .CodeMirror{min-height:unset !important;height:350px !important}.frm-style-component .CodeMirror .CodeMirror-placeholder{color:var(--grey-400)}.formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading{font-weight:500;font-size:var(--text-md);color:var(--grey-900)}.frm-unit-input{position:relative;display:flex;align-items:center}.frm-unit-input input[type=number]::-webkit-outer-spin-button,.frm-unit-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.frm-unit-input .frm-input-group-suffix{position:absolute;top:1px;right:1px;display:flex;align-items:center;height:calc(100% - 2px);padding-right:var(--gap-xs)}.frm-unit-input .frm-input-group-suffix select{width:fit-content;height:100%;min-height:unset;font-size:var(--text-sm);text-align:right;color:var(--grey-500) !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 0 top 50%;padding-left:var(--gap-2xs);padding-right:21px !important;border:rgba(0,0,0,0)}.frm-unit-input .frm-input-group-suffix select:focus-visible{outline:1px solid var(--primary-500);outline-offset:-2px} diff --git a/css/admin/welcome-tour.css b/css/admin/welcome-tour.css index 306d2df092..6b3f3cf0fc 100644 --- a/css/admin/welcome-tour.css +++ b/css/admin/welcome-tour.css @@ -1,152 +1 @@ -/*!************************************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/admin/welcome-tour.scss ***! - \************************************************************************************************************************************************************************************************************************************/ -.frm-checklist { - width: 316px; - height: 400px; - overflow: hidden; -} -.frm-checklist, -.frm-checklist *, -.frm-checklist *::before, -.frm-checklist *::after { - box-sizing: border-box; -} -.frm-checklist p, -.frm-checklist span { - font-size: var(--text-xs); -} -.frm-checklist__header .frmsvg { - transition: transform 200ms ease-out 50ms; -} -.frm-checklist__progress-bar { - height: 8px; -} -.frm-checklist__progress-fill { - width: 0; -} -.frm-checklist__dismiss { - height: 50px; - border-top: 1px solid var(--grey-100) !important; - cursor: pointer; - transition: height 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -} -.frm-checklist__dismiss > span { - transition: color 150ms ease-out; -} -.frm-checklist__dismiss:hover > span { - color: var(--grey-600) !important; -} -.frm-checklist__completed { - height: 100%; -} -.frm-checklist__completed p { - color: var(--grey-800); - margin: 0; -} -.frm-checklist__step-status { - height: 16px; - width: 16px; - border-radius: 50%; - border: 1.5px dashed var(--grey-400); -} -.frm-checklist__step-description { - background-color: var(--grey-50); - border-radius: var(--small-radius); - line-height: var(--leading); - display: none; -} -.frm-checklist__step--active .frm-checklist__step-title, -.frm-checklist__step--active .frm-checklist__step-title a { - font-weight: 600; - color: var(--grey-800); -} -.frm-checklist__step--active .frm-checklist__step-description { - display: block; -} -.frm-checklist__step--completed .frm-checklist__step-status { - background-color: var(--success-500); - border-style: solid; - border-color: var(--success-500); -} -.frm-checklist--collapsed { - height: auto; -} -.frm-checklist--collapsed .frm-checklist__steps { - display: none; -} -.frm-checklist--collapsed .frm-checklist__dismiss { - height: 0; - overflow: hidden; -} -.frm-checklist--collapsed .frm-checklist__header .frmsvg { - transform: rotate(-180deg); -} - -.frm-spotlight { - --fadeout-time: 25ms; - position: fixed; - cursor: default; -} -.frm-spotlight[data-placement=right] { - transform: translateY(-50%); -} -.frm-spotlight[data-placement=bottom] { - transform: translateX(-50%); -} -.frm-spotlight > * { - flex: 0 0 auto; -} -.frm-spotlight__content { - position: relative; - box-sizing: border-box; - flex-shrink: 0; - width: 242px; - border: 1px solid var(--grey-200); - overflow: visible; -} -.frm-spotlight__content::after { - content: ""; - position: absolute; - width: 11px; - height: 11px; - background-color: inherit; - transform: translateY(-50%) rotate(45deg); - border-left: 1px solid var(--grey-200); - border-radius: 2px; -} -.frm-spotlight[data-placement=right] .frm-spotlight__content::after { - top: 50%; - left: -6px; - transform: translateY(-50%) rotate(45deg); - border-bottom: 1px solid var(--grey-200); -} -.frm-spotlight[data-placement=bottom] .frm-spotlight__content::after { - top: -6px; - left: 50%; - transform: translateX(-50%) rotate(45deg); - border-top: 1px solid var(--grey-200); -} -.frm-spotlight__pointer { - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: var(--grey-600); - padding: 3px; - border-radius: 50%; -} -.frm-spotlight[data-placement=right] .frm-spotlight__pointer { - margin-right: var(--gap-2xs); -} -.frm-spotlight[data-placement=bottom] .frm-spotlight__pointer { - margin-bottom: var(--gap-2xs); -} - -.frm-welcome-tour .frm-checklist { - position: fixed; - right: var(--gap-md); - bottom: var(--gap-sm); - z-index: 9999; -} - -/*# sourceMappingURL=welcome-tour.css.map*/ \ No newline at end of file +.frm-checklist{width:316px;height:400px;overflow:hidden}.frm-checklist,.frm-checklist *,.frm-checklist *::before,.frm-checklist *::after{box-sizing:border-box}.frm-checklist p,.frm-checklist span{font-size:var(--text-xs)}.frm-checklist__header .frmsvg{transition:transform 200ms ease-out 50ms}.frm-checklist__progress-bar{height:8px}.frm-checklist__progress-fill{width:0}.frm-checklist__dismiss{height:50px;border-top:1px solid var(--grey-100) !important;cursor:pointer;transition:height 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-checklist__dismiss>span{transition:color 150ms ease-out}.frm-checklist__dismiss:hover>span{color:var(--grey-600) !important}.frm-checklist__completed{height:100%}.frm-checklist__completed p{color:var(--grey-800);margin:0}.frm-checklist__step-status{height:16px;width:16px;border-radius:50%;border:1.5px dashed var(--grey-400)}.frm-checklist__step-description{background-color:var(--grey-50);border-radius:var(--small-radius);line-height:var(--leading);display:none}.frm-checklist__step--active .frm-checklist__step-title,.frm-checklist__step--active .frm-checklist__step-title a{font-weight:600;color:var(--grey-800)}.frm-checklist__step--active .frm-checklist__step-description{display:block}.frm-checklist__step--completed .frm-checklist__step-status{background-color:var(--success-500);border-style:solid;border-color:var(--success-500)}.frm-checklist--collapsed{height:auto}.frm-checklist--collapsed .frm-checklist__steps{display:none}.frm-checklist--collapsed .frm-checklist__dismiss{height:0;overflow:hidden}.frm-checklist--collapsed .frm-checklist__header .frmsvg{transform:rotate(-180deg)}.frm-spotlight{--fadeout-time: 25ms;position:fixed;cursor:default}.frm-spotlight[data-placement=right]{transform:translateY(-50%)}.frm-spotlight[data-placement=bottom]{transform:translateX(-50%)}.frm-spotlight>*{flex:0 0 auto}.frm-spotlight__content{position:relative;box-sizing:border-box;flex-shrink:0;width:242px;border:1px solid var(--grey-200);overflow:visible}.frm-spotlight__content::after{content:"";position:absolute;width:11px;height:11px;background-color:inherit;transform:translateY(-50%) rotate(45deg);border-left:1px solid var(--grey-200);border-radius:2px}.frm-spotlight[data-placement=right] .frm-spotlight__content::after{top:50%;left:-6px;transform:translateY(-50%) rotate(45deg);border-bottom:1px solid var(--grey-200)}.frm-spotlight[data-placement=bottom] .frm-spotlight__content::after{top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);border-top:1px solid var(--grey-200)}.frm-spotlight__pointer{box-sizing:border-box;width:14px;height:14px;background-color:var(--grey-600);padding:3px;border-radius:50%}.frm-spotlight[data-placement=right] .frm-spotlight__pointer{margin-right:var(--gap-2xs)}.frm-spotlight[data-placement=bottom] .frm-spotlight__pointer{margin-bottom:var(--gap-2xs)}.frm-welcome-tour .frm-checklist{position:fixed;right:var(--gap-md);bottom:var(--gap-sm);z-index:9999} diff --git a/css/frm_admin.css b/css/frm_admin.css index 954338ab52..06421ec671 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,3 +1,3 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_tooltip_icon::before{content:"\e611"}.frm_delete_icon::before{content:"\e610" !important}.frm_arrowdown6_icon::before{content:"\e62a"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}.frm-payments-tabs{margin-bottom:var(--gap-md);display:flex}.frm-payments-tabs .frm-payments-tab{font-weight:600;font-size:14px;color:var(--grey-900);display:inline-block;border-width:1px;border-style:solid;border-color:#eaecf0;padding:8px 12px;border-radius:6px 6px 0 0;background-color:#f9fafb}.frm-payments-tabs .frm-payments-tab-filler{border-bottom:1px solid #eaecf0;min-width:var(--gap-xs)}.frm-payments-tabs .frm-payments-tab-filler:last-child{flex:1}.frm-payments-tab.frm-active{background-color:#fff;border-bottom:none}.frm-payments-tab a{text-decoration:none;color:var(--grey-900)}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3,.frm-collapsible{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg,.frm-collapsible .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child,.frm-collapsible:not(.frm-collapsed):not(:first-of-type),.frm-collapsible:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg,.frm-collapsible:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-collapsible:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div,.frm-collapsible:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed,.frm-collapsible.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover,.frm-collapsible:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible,.frm-collapsible:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.frm_at_limit{opacity:.5}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}.ui-draggable-dragging .frm-meta-tag.frm-new-pill{display:none}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! +@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_tooltip_icon::before{content:"\e611"}.frm_delete_icon::before{content:"\e610" !important}.frm_arrowdown6_icon::before{content:"\e62a"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}.frm-payments-tabs{margin-bottom:var(--gap-md);display:flex}.frm-payments-tabs .frm-payments-tab{font-weight:600;font-size:14px;color:var(--grey-900);display:inline-block;border-width:1px;border-style:solid;border-color:#eaecf0;padding:8px 12px;border-radius:6px 6px 0 0;background-color:#f9fafb}.frm-payments-tabs .frm-payments-tab-filler{border-bottom:1px solid #eaecf0;min-width:var(--gap-xs)}.frm-payments-tabs .frm-payments-tab-filler:last-child{flex:1}.frm-payments-tab.frm-active{background-color:#fff;border-bottom:none}.frm-payments-tab a{text-decoration:none;color:var(--grey-900)}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3,.frm-collapsible{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg,.frm-collapsible .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child,.frm-collapsible:not(.frm-collapsed):not(:first-of-type),.frm-collapsible:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg,.frm-collapsible:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-collapsible:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div,.frm-collapsible:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed,.frm-collapsible.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover,.frm-collapsible:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible,.frm-collapsible:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.frm_at_limit{opacity:.5}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}.ui-draggable-dragging .frm-meta-tag.frm-new-pill{display:none}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! * Bootstrap v4.6.1 */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}.frm-coupons-upsell-wrapper{display:flex;flex-direction:column;align-items:center}.frm-coupons-upsell-wrapper p{margin-top:var(--gap-xs);max-width:364px;text-align:center}.frm-coupons-upsell-wrapper img{max-width:100%;max-height:300px}.frm-coupons-upsell-wrapper h2{margin-bottom:0}.frm-coupons-upsell{background-color:#f5f5f7;border-radius:16px;border:6px solid #fff;box-shadow:0 .471px 1.412px 0 rgba(16,24,40,.1),0 .471px .941px 0 rgba(16,24,40,.06);text-align:center;width:100%;box-sizing:border-box}.frm-main-coupons-upsell{margin-top:var(--gap-lg)}.frm-main-coupons-upsell img{vertical-align:bottom}.frm-secondary-coupons-upsells{margin-top:var(--gap-md);width:100%}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} diff --git a/css/frm_testing_mode.css b/css/frm_testing_mode.css index c3f95f1237..faf0cc4263 100644 --- a/css/frm_testing_mode.css +++ b/css/frm_testing_mode.css @@ -1,808 +1,3 @@ -/*!********************************************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/css-unicode-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./resources/scss/test-mode/frm_testing_mode.scss ***! - \********************************************************************************************************************************************************************************************************************************************/ -/** - * Base - Variables - */ -:root, -.frm-white-body, -.frm_wrap { - --grey-900: #101828; - --grey-800: #1D2939; - --grey-700: #344054; - --grey-600: #475467; - --grey-500: #667085; /* Roughly 65% opacity */ - --grey-400: #98A2B3; - --grey-300: #D0D5DD; - --grey-200: #EAECF0; - --grey-100: #F2F4F7; - --grey-50: #F9FAFB; - --grey-25: #FCFCFD; - --dark-grey: var(--grey-700); /* Deprecated */ - --medium-grey: rgba(40, 47, 54, .65); - --grey: var(--grey-500); /* Deprecated */ - --grey-border: var(--grey-300); /* Deprecated */ - --lightest-grey: rgb(250, 250, 250); - --sidebar-color: var(--grey-50); - --sidebar-hover: var(--grey-200); - --primary-700: #2B66A9; - --primary-500: #4199FD; - --primary-300: #80BBFE; - --primary-200: #C0DDFE; - --primary-50: #ECF5FF; - --primary-25: #F5FAFF; - --primary-color: var(--primary-500); /* Deprecated */ - --primary-hover: var(--primary-700); /* Deprecated */ - --light-blue: var(--primary-25); /* Deprecated */ - --blue-border: rgb(188, 224, 253); - --error-700: #B42318; - --error-500: #F04438; - --error-300: #FECDCA; - --error-100: #FEE4E2; - --error-25: #FFF5F4; - --green: rgb(63, 172, 37); - --orange: #F15A24; - --warning-500: #F79009; - --pink: rgb(226, 42, 110); - --purple: rgb(141, 53, 245); - --success-900: #054F31; - --success-800: #065F46; - --success-500: #12b76a; - --success-100: #D1FAE5; - --success-200: #A6F4C5; - --success-50: #ECFDF3; - --success-25: #f6fef9; - --border-radius: 35px; - --small-radius: 8px; - --medium-radius: 16px; - --small-sidebar: 275px; - --medium-sidebar: 350px; - --big-sidebar: 390px; - --biggest-sidebar: 450px; - --text-xs: 12px; - --text-sm: 14px; - --text-md: 16px; - --text-lg: 18px; - --text-xl: 20px; - --h-xs: 24px; - --h-sm: 30px; - --h-md: 36px; - --leading: 1.5; - --gap-2xs: 4px; - --gap-xs: 8px; - --gap-sm: 16px; - --gap-md: 24px; - --gap-lg: 32px; - --gap-xl: 40px; - --gap-2xl: 48px; - --box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05); - --box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); - --box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06); - --box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06); - --box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03); - --box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18); - --button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1); - /* Override front-end CSS */ - --check-label-color: var(--grey-700); -} - -/** - * Toggle Components - * - * These are the styles for the "Enable Formidable styling" toggle in the visual styler. - * To use this element, you can call the FrmHtmlHelper::toggle function. - */ -.frm_toggle_opt { - padding: 0; - white-space: normal; - display: inline; - vertical-align: middle; - font-weight: 400; -} - -.frm_on_label, -.frm_off_label { - color: var(--grey-700); -} - -.frm_toggle { - position: relative; - display: inline-block; - width: 40px; - height: var(--h-xs); - vertical-align: middle; -} - -.frm_toggle_block { - display: inline-flex !important; - gap: var(--gap-xs); - align-items: center; -} - -.frm_toggle input, -.frm_toggle_block input { - display: none !important; -} - -.frm_toggle_slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: var(--grey-200); - transition: 0.4s; - border-radius: 30px; -} - -.frm_toggle_slider::before { - box-sizing: border-box; - content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E"); - position: absolute; - left: 2px; - bottom: 2px; - display: flex; - align-items: center; - justify-content: center; - width: 20px; - height: 20px; - font-size: 20px; - line-height: 20px; - background-color: #fff; - border-radius: 50%; - transition: 0.4s; - box-shadow: var(--box-shadow-md); -} - -input:checked + .frm_toggle .frm_toggle_slider { - background-color: var(--primary-500); -} - -input:focus + .frm_toggle .frm_toggle_slider { - box-shadow: var(--box-shadow-md); -} - -input:checked + .frm_toggle .frm_toggle_slider::before { - transform: translateX(16px); - content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E"); -} - -input[disabled] + .frm_toggle_slider, -input[disabled] + .frm_toggle .frm_toggle_slider { - pointer-events: none; - cursor: text; - opacity: 0.5; -} - -.frm_toggle_opt ~ .frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before { - content: "" !important; /* Don't show x/check if off label included or on builder page */ -} - -.rtl .frm_toggle_opt { - padding: 0 8px; -} - -.rtl .frm_toggle_slider::before { - left: 17px; -} - -.rtl input:checked + .frm_toggle .frm_toggle_slider::before { - transform: none !important; - left: 1px; -} - -/* Deprecated admin toggle */ -.frm_toggle_off, -.frm_toggle_on { - display: none; - color: #fff; - z-index: 999; - position: absolute; - font-size: 10px; - line-height: 20px; - left: 6px; -} - -.frm_toggle_off { - display: inline; - left: auto; - right: 5px; - color: var(--dark-grey); -} - -.frm_toggle_long { - width: 80% !important; - height: 28px; - display: inline-block !important; -} - -.frm_toggle_long .frm_toggle_slider { - background: var(--primary-700); - box-shadow: 0 0 0 2px var(--primary-700); -} - -.frm_toggle_long .frm_toggle_off, -.frm_toggle_long .frm_toggle_on { - width: 50%; - text-align: center; - font-size: 13px; - line-height: 28px; -} - -.frm_toggle_long .frm_toggle_on { - left: 0; -} - -.frm_toggle_long .frm_toggle_off { - right: 0; -} - -.frm_toggle_long .frm_toggle_slider::before { - width: 50%; - left: 0; - top: 0; - border-radius: var(--border-radius) 0 0 var(--border-radius); - height: 100%; - background-color: #fff; - color: var(--primary-color); - content: "" !important; -} - -.frm_toggle_long input:checked + .frm_toggle_slider::before { - transform: translateX(101%); - border-radius: 0 var(--border-radius) var(--border-radius) 0; -} - -input:checked + .frm_toggle_slider + .frm_toggle_on { - display: inline; -} - -input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { - display: none; -} - -.frm_toggle_long .frm_toggle_on, -.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on + .frm_toggle_off { - display: inline; - color: var(--primary-500); - font-weight: 400; -} - -.frm_toggle_long .frm_toggle_off, -.frm_toggle_long input:checked + .frm_toggle_slider + .frm_toggle_on { - color: #fff; - font-weight: 700; -} - -/* End toggle styling */ -/** - * Component: Admin Inputs - */ -.frmdates_add_blackout_date_link, -.frmdates_add_exception_link, -.frm_form_field.frm_scroll_box .frm_opt_container, -.frm-white-body .wrap input[type=text], -.frm-white-body .wrap input[type=search], -.frm-white-body .wrap input[type=number], -.frm-white-body .wrap select, -#frm-form-templates-modal select, -.frm-white-body .wrap textarea, -button.frm_choose_image_box, -#titlediv input[type=text], -.frm-fields button.btn, -.frm_wrap textarea, -.frm_wrap input[type=tel], -.frm_wrap input[type=text], -.frm_wrap input[type=email] .frm_wrap input[type=search], -.frm_wrap input[type=number], -.frm_wrap input[type=date], -.frm_wrap select, -.wp-admin .frm_wrap select, -.field-group textarea, -.field-group input[type=text], -.field-group select, -.frm-fields .frm-input-field { - outline: 0; - box-shadow: var(--box-shadow-xs); - border-radius: var(--small-radius); - padding: 5px 14px; - border-color: var(--grey-300); - color: var(--grey-800); - font-size: var(--text-md); - margin: 0; - background-color: #fff; - line-height: var(--leading); -} - -.frm_input_with_suffix { - border-radius: var(--small-radius); - border: 1px solid var(--grey-300); - display: inline-block; - padding-right: 14px; -} - -.frm_input_with_suffix input { - border: 0 !important; - padding-right: 5px !important; -} - -.frm_wrap ::-webkit-datetime-edit { - line-height: var(--leading); -} - -.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus, -.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus, -.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus, -.frm_wrap input:focus, -.frm_wrap select:focus, -.wp-core-ui .frm_wrap select:focus, -#frm-form-templates-modal select:focus, -.frm-btn-group .multiselect.dropdown-toggle:focus, -.frm_wrap textarea:focus { - border-color: var(--primary-500) !important; - box-shadow: none !important; -} - -/* -Pages like Entries and Styles need the border-color and box-shadow properties without the !important flag. -To achieve this, we exclude them above and duplicate these rules specifically for those pages without using !important. -*/ -.wp-admin .frm_fields_container textarea:focus, -.wp-admin .frm_fields_container input:focus, -.wp-admin .frm_fields_container select:focus { - border-color: var(--primary-500); - box-shadow: none; -} - -#postbox-container-2 textarea, -.frm_wrap textarea, -.field-group textarea { - line-height: 2; -} - -.frm_wrap input[type=number] { - height: auto; -} - -.frm_wrap select { - padding: 2px; -} - -.wp-admin .frm_wrap select, -#frm-form-templates-modal select { - max-width: 100%; -} - -.frm_form_field.frm_scroll_box .frm_opt_container { - padding: 10px 12px; -} - -.frm_wrap input[disabled], -.frm_wrap select[disabled], -.frm_wrap textarea[disabled], -.frm_wrap input[readonly], -.frm_wrap select[readonly], -.frm_wrap textarea[readonly], -.frm_wrap input::placeholder { - color: var(--grey-500); -} - -textarea[id^=frm_calc_]::placeholder { - font-size: var(--text-sm); - line-height: var(--leading); - font-style: italic; - color: var(--grey-400); - padding-top: 5px; -} - -.frm_wrap .frm-button-primary.frm-disabled { - opacity: 0.5; - cursor: default; -} - -#postcustomstuff table td > div { - /* To override some inline css in add-on */ - padding-top: 0 !important; -} - -.wp-admin .frm_wrap .form-table select { - vertical-align: top; -} - -.frm_wrap .frm_form_builder select { - line-height: var(--leading); - height: var(--text-md); - width: 100%; -} - -#postbox-container-2 select, -.wp-admin .frm_wrap select, -.frm_wrap .frm_form_builder select, -#frm-form-templates-modal select { - height: auto; -} - -.frm-white-body .tablenav select, -.frm-white-body .tablenav input[type=text], -.wp-admin .frm_wrap .tablenav select, -.frm_wrap .tablenav input[type=date], -.frm_wrap .tablenav input[type=text] { - padding-top: 0; - padding-bottom: 0; - line-height: 1; -} - -.frm_wrap .tablenav ::-webkit-datetime-edit { - line-height: 1; -} - -.frm-fields button.btn, -.frm-fields textarea, -.frm-fields input[type=text], -.frm-fields select, -.field-group textarea, -.field-group input[type=text], -.field-group select, -.accordion-container input.hex, -.frm-fields .frm-input-field { - width: 100%; - outline: 0; -} - -.frm-fields button.btn { - height: var(--h-md); - text-align: inherit; -} - -.global-font .field-group input[type=text] { - width: auto; -} - -/** - * Components - Button - */ -.frm_orange_button, -.frm_reverse_button { - font-size: 12px; - border: 1px solid var(--orange); - color: var(--orange); - font-weight: 600; - padding: 1px 4px; - border-radius: 4px; - background: transparent; -} - -.frm_reverse_button:hover, -.frm_reverse_button:active, -.frm_reverse_button:focus { - color: #fff; - background: var(--orange); - border: 1px solid var(--orange); -} - -.frm_reverse_button { - font-size: 1em; - transition: all 0.2s ease; -} - -.frm-button-primary, -.wp-core-ui .button-primary.frm-button-primary, -.wp-core-ui .button.frm-button-primary, -.frm-button-secondary, -.wp-core-ui .button-secondary.frm-button-secondary, -.wp-core-ui .button.frm-button-secondary, -.frm-white-body .frm-search .button, -.frm-white-body .search-box .button, -.frm-white-body .tablenav .button, -.frm_orange_button, -.toplevel_page_formidable #frm_upgrade_modal .button-primary, -.wp-core-ui.frm-white-body .button-primary, -.wp-core-ui.frm-white-body .button-secondary, -.frm-white-body .button-primary, -.frm-white-body .button-secondary, -#frm-form-button button, -.frm-form-button button, -.frm-preview-buttons button, -.frm-button-red, -.frm-button-tertiary { - text-shadow: none; - box-shadow: none; - border-radius: 30px; - border: 1px solid var(--primary-500); - font-size: var(--text-sm); - transition: all 0.2s ease; - padding: 7px 16px; - height: auto; - min-height: 28px; - outline: none; - line-height: var(--leading); - box-sizing: border-box; - font-weight: 500; - margin-bottom: 0; - display: inline-block; -} - -.frm-button-primary.frm-sharp, -.frm-button-secondary.frm-sharp { - border-radius: 12px !important; -} - -#wpcontent .frm-button-secondary.frm-button-gradient { - position: relative; - border-color: transparent !important; - background-clip: padding-box !important; -} -#wpcontent .frm-button-secondary.frm-button-gradient::before { - content: ""; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: -1; - margin: -1px; - border-radius: inherit; - background: linear-gradient(90deg, #129EFD 0%, #A334FD 100%); - transition: opacity 150ms ease-out; -} -#wpcontent .frm-button-secondary:hover::before { - opacity: 0.5; -} - -.no-js.wp-core-ui .frm-search .button.hide-if-no-js, -.js.wp-core-ui .frm-search .button.hide-if-js { - display: none; -} - -.frm-button-tertiary { - border-color: transparent; - color: var(--primary-500); -} - -.frm-button-tertiary:focus { - outline: none; -} - -.frm-button-tertiary.frm_loading_button::before { - border-right-color: var(--grey); - border-bottom-color: var(--grey); -} - -.frm-button-red, -.frm-button-red:focus { - --primary-color: var(--error-500); - --primary-500: var(--error-500); - --primary-700: var(--error-700); -} - -.frm-button-red:not(.frm-button-tertiary), -.frm-button-red:not(.frm-button-tertiary):focus { - color: #fff !important; -} - -.frm-white-body h2 .button, -.post-type-frm_display h2 .frm-button-primary, -.frm-white-body .tablenav .button, -.frm-button-primary.frm-button-sm, -.frm-button-secondary.frm-button-sm, -.frm-button-tertiary.frm-button-sm, -.frm-button-red.frm-button-sm { - padding: 4px 12px !important; - font-size: var(--text-xs) !important; -} - -.frm_no_style_button { - background: transparent; -} - -.frm-with-icon { - display: flex; - gap: var(--gap-xs); - align-items: center; -} - -.frm-with-icon svg { - opacity: 0.65; /* Get close to grey-500 without overriding hover colors */ -} - -.frm-with-icon.button svg { - height: var(--text-sm); - width: var(--text-sm); -} - -.frm-with-icon.frm-button-sm svg { - height: var(--text-xs); - width: var(--text-xs); -} - -.frm-white-body .button.add_media { - /* Media buttons above RTE */ - padding-left: 12px !important; - padding-right: 12px !important; - font-size: var(--text-xs); - border-radius: var(--border-radius); -} - -.wp-core-ui.frm-white-body #post-query-submit.button, -.wp-core-ui.frm-white-body .button.tablenav-pages-navspan, -.wp-core-ui.frm-white-body .button.first-page, -.wp-core-ui.frm-white-body .button.prev-page, -.wp-core-ui.frm-white-body .button.next-page, -.wp-core-ui.frm-white-body .button.last-page, -.wp-core-ui.frm-white-body .button.action { - background-color: transparent; - border-color: var(--grey-300); - color: var(--grey-700); - border-radius: var(--border-radius); -} - -.post-type-frm_display.wp-core-ui .button-primary, -.frm-button-primary, -.wp-core-ui .button-primary.frm-button-primary, -.frm_single_entry_page #frm-publishing .button-primary { - background-color: var(--primary-500) !important; - color: #fff !important; -} - -.frm-button-primary.frm_large, -.frm-button-secondary.frm_large { - height: auto !important; - padding: 12px 16px !important; -} - -.frm-button-secondary.frm-small, -.frm-button-primary.frm-small { - font-size: var(--text-xs) !important; - height: auto !important; - padding: var(--gap-2xs) 12px !important; -} - -.frm-button-primary i::before { - color: #fff; -} - -.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover, -.frm-button-primary:not([disabled]):hover { - background: var(--primary-700) !important; - border-color: var(--primary-700) !important; -} - -.wp-core-ui .button-primary.frm-button-primary:active { - vertical-align: inherit; -} - -.frm-white-body #search-submit, -#frm-form-button .frm_button_submit, -.frm-form-button .frm_button_submit, -.frm-white-body .frm-preview-buttons button, -.frm-white-body .button:not(.frm-button-primary), -.wp-core-ui.frm-white-body .button-secondary, -.wp-core-ui .button-secondary.frm-button-secondary, -.wp-core-ui .button.frm-button-secondary, -.frm-white-body .frm-button-secondary, -.frm-button-secondary { - color: var(--grey-800); - border-color: var(--grey-300); - background-color: #fff; -} - -#wp-content-media-buttons button, -#wp-content-media-buttons a.button { - border-color: var(--grey-300); -} - -.frm_orange_button { - border-color: #da791d !important; - background: var(--orange); - color: #fff; -} - -.frm-white-body .button:not(.frm-button-primary):focus, -.frm-white-body .button:not(.frm-button-primary):active, -.frm-white-body .frm-button-secondary:hover, -.wp-core-ui.frm-white-body .frm-button-secondary:hover, -.wp-core-ui.frm-white-body .button-secondary:hover, -.wp-core-ui.frm-white-body .button-secondary:focus, -.wp-core-ui.frm-white-body .tablenav .button:hover, -.frm_wrap .preview > .button:hover, -.frm-white-body #search-submit:hover { - border-color: var(--grey-300) !important; - color: var(--grey-800); - background: var(--grey-50) !important; - box-shadow: none !important; - outline: none !important; -} - -.frm-button-primary .frmsvg { - color: #fff; -} - -.frm_wrap .preview i { - font-size: inherit; -} - -.frm-white-body .frm-button-primary:focus, -.frm-white-body .frm-button-primary:active, -#frm-addons-page .button-primary:focus, -#form_global_settings .button-primary:focus, -#frm_upgrade_modal .button-primary:focus { - border-color: var(--primary-700) !important; - background-color: var(--primary-700) !important; - box-shadow: none !important; - outline: none !important; -} - -.frm_wrap .preview > .button:focus, -.frm_orange_button:hover, -.frm_orange_button:focus, -.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover, -.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus, -.toplevel_page_formidable .frm_wrap button.button-primary:hover, -.toplevel_page_formidable .frm_wrap button.button-primary:focus { - outline: none; -} - -.frm_orange_button:hover, -.frm_orange_button:focus { - border-color: var(--orange) !important; - background: transparent; - color: var(--orange); - opacity: 1; -} - -.major-publishing-actions.frm_create_form_header { - padding: 8px 0; -} - -.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner { - font-size: 15px; - background: transparent; -} - -.frm-menu-boxes .frm_blank_form_text { - padding-bottom: 26px; -} - -input.frm_insert_in_template { - font-size: 10px; - width: 98%; - font-weight: 400; -} - -.frm-dismissible a.dismiss:focus { - box-shadow: none; -} - -.frm-dismissible a.dismiss { - top: 10px; - right: 10px; - position: absolute; -} - -.frm-dismissible a.dismiss svg { - color: var(--grey-800); -} - -.frm-btn-unstyled { - font: inherit; - background: none; - border: none; - padding: 0; - cursor: pointer; - outline: inherit; -} -.frm-btn-unstyled:hover, .frm-btn-unstyled:focus, .frm-btn-unstyled:active { - text-decoration: none; - background: none; - border: none; - box-shadow: none; -} -.frm-btn-unstyled:disabled, .frm-btn-unstyled[disabled] { - pointer-events: none; - opacity: 0.65; -} - -/*! +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} + */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} diff --git a/js/formidable.js b/js/formidable.js index 4921db9674..92c9d51fbf 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1272,7 +1272,7 @@ function frmFrontFormJS() { ariaDescribedBy = ariaDescribedBy.filter( value => { const trimmedValue = value.trim(); return trimmedValue && trimmedValue !== el.id; - }); + } ); if ( ariaDescribedBy.length ) { input.setAttribute( 'aria-describedby', ariaDescribedBy.join( ' ' ) );